Some more intelligent streaming options could preserve quality and save transmission bandwidth.
Let’s start with what a typical transcode menu looks like for me on Plex:
The source file that is playing is 2.8Mbps (875.10 MB). Now If I re-encode the audio to opus 448kbps, we then get 2Mbps (630.89 MB)
Note: (xiph.org recommends encoding to 128 - 256 kbps, so 448 is NEAR IDENTICAL QUALITY. This could, of course, be compressed further with little loss of quality.
The first 6 options Plex presents to me for transcoding deliver a lesser quality with higher bandwidth allocation. The seventh option, (transcoding to 2 Mbps), will transcode the video into 720p x264, 8bit. a DRAMATIC drop in quality from the original, and will also transcode the audio into tinny-sounding Opus (overly compressed audio). Why not include the other 2Mbps option I outlined and serve near identical quality?
Another option would be to downscale the number of audio tracks. When I re-transcode the 5.1 audio into stereo audio, I get a 2.1Mbps file (655.99 MB). Devices outputting to a 2-channel audio source shouldn’t need all 6 channels of audio streamed to them! This means that these devices and stream 2.1Mbps and have the EXACT same quality.
Likewise, 7.1 sources can be safely downsampled to 5.1 when the player is outputting to a 5.1 output safely.
Of course, there could be a combination of factors that could go into getting bitrates lower than 2Mbps. The options I presented were all options that would maintain quality while saving bandwidth, but the same principles could be used for more lossy gains without massive video degradation.
I think one of the real issues here, is that h265 has changed a lot. It’s not super easy to on-the-fly transcode with it because of the processing power required. But it means that we must rely on older, faster transcodes (x264), which slaughter quality compared to x265. The good part is that audio transcoding is an easy task, and with DTS-HD-MA, DTS & FLAC sources, (or any other source encoded at a ridiculous bitrate) its a simple task to keep quality, low CPU usage and save on bandwidth, assuming the software provides that as an option.
I also want to address a little bit of confusion about how the menu in the photo appears.
“QUALITY” only takes about video encoding but also triggers audio encoding.
“AUDIO STREAM” lists the original audio quality, (not the streaming one) and does not change when the audio stream is being transcoded.
It would be nice if there was some consistency in what was read. Should we look at what is happening or what the source is? Either way both should be listed, not one or the other. Might I suggest listing both? Something like:
“QUALITY 1.8 Mbps”
“VIDEO 1080p → Direct Play”
“AUDIO 5.1 FLAC → Stereo Opus 96 kbps”
Quality would now be a list of most useful options the best ways to reduce the encoding size.
Video would only change video encodes, no longer audio.
Audio would now give audio encoding options.
All three would be clear and give more information about what is happening.
Ok, those are a few of my thoughts. Thanks for listening.
