Thanks to helpful elf-a-testers, we now have hardware transcoding support in Jellyfin, Emby, and Plex (PlexPass required).
Previously, the streamers would use CPU resources to transcode any media they deemed incompatible with your client. The only way to prevent one streamer hogging all the CPU was to apply a CPU limit (4 vCPUs) to each streamer, roughly tested to support up to 3 1080P CPU transcodes. This still places a heavy load on our nodes, given each node only has 16 CPUs. Oh, and 4K transcoding was just a total no-go, even with 4 vCPUs!
After enabling Intel QuickSync Video (QVS) transcoding in Jellyfin, I was able to transcode 4K HEVC media, consuming only 250m (¼ of a vCPU) Needless to say, this makes our platform a lot more scalable!
I.. don't know. Plex has one lonely toggle which turns transcoding on/off, and Jellyfin has about 2 pages of advanced options which affect transcoding performance! It'll take a little trial-and-error to find the sweet spot per streamer, and it's impossible to test all variations / clients. So I've rolled transcoding support out to all (beta) users, and reduced the CPU allocation to the streamers to 500m (½ vCPU), so that CPU-based transcoding will fail. This may be a little extreme, but given we can now transcode 4K on ¼ vCPU, it's more transcoding grunt than we had previously.
It's likely that we'll refine the transcoding support / parameters over the next few days, so please feel free to play around, test, and send feedback in Discord.
Of course, as always, for optimal experience from your streamer, avoid any transcoding whatsover. (Direct-playing 4K media consumes 0.01 vCPU!s)
Read on for smaller announcements...