At LiveX, our engineers and clients frequently want to know how much the encoder they choose affects the streaming quality that the end user sees. So, we’re releasing a new series of encoder comparisons on the LiveX YouTube channel. We created a mix of scientific and real-life testing that will allow you to make your own judgments before hearing our opinion. The goal is not to crown a winner, but give you one more piece of information when choosing an encoder.
Live encoding causes a lot of debate in the streaming and broadcast communities, and the decisions we make about how it’s done not only affect the quality of the stream, but the budget of the production. The price difference between encoder tiers is thousands of dollars, which adds up quickly when you’re doing multiple channels. We developed a test focusing on the end-viewer experience for a common video stream rather than transport streams.
About the test content
Our test content has one minute of test patterns, one minute of New Years Eve confetti content, and one minute of slow motion water content. We’re simulating an intentionally tough but realistic environment for these encoders. So, the video is streamed at 5 megabits per second. At 1080p30 (set as 1080p29.97), 5 mbps is right at a breaking point where you can see some blocking and stuttering if the encoder is lower quality. We’ll just test H.264 or AVC encoding since that’s what’s most common right now. Finally, the keyframe interval will always be 2 seconds, which should show more obvious differences between different encoders’ GOP structures.
The test content originates in ProRes and is played back from a vMix machine. It looks incredible in its raw format.
You can download the assets below:
How we run the tests
Using the encoders, we stream this content to YouTube live and archive the stream for your viewing. We use Virtual Video Control Room, our cloud video routing solution, as a middle point between the encoder and YouTube.
We use VVCR for two reasons. First, it allows us to use encoders that stream either SRT or RTMP to get to YouTube. We have access to YouTube’s beta SRT ingest, most people don’t as of 2023. Second, it allows us to send the stream not only to YouTube, but also to a Makito X4D decoder, which feeds a ProRes recorder for editing. This provides a great comparison to see what YouTube’s own compression does to the footage and lets us edit the encoded content into our videos. It’s important to highlight that VVCR does not change the quality of the stream at. It just repackages the video into different stream formats. In other words, it’s transmuxing, not transcoding. Overall, integrating VVCR provides us with a flexible and repeatable test.
We run two tests for each encoder. First we test them at the same settings, where we take the less capable encoder and duplicate its settings in the more capable encoder. Second, we optimize each to higher quality settings by changing encoder profiles or GOP structure. However, we will leave all tests at the constant bitrate, resolution, and keyframe settings because at the end of the day, just increasing the bitrate will always make a big difference.
In each comparison video, we will link to unlisted stream archives with the encoder and quality hidden in the description. This will allow you to do a blind test for yourself. Developing an eye for encoding quality is best done with blind testing, so I encourage you to do it and have fun with it.