Quicksync, Shadowplay, Hardware or CPU encoding?
In today’s article I want to talk about the different encoding options that are currently available to you for streaming or recording video files. The different encoders allow you to use different parts of your hardware/system to do the hard work and encode your video file.
Most common at the moment, for streaming, is the x264 encoder which is used in a variety of streaming programs. It almost only uses your processor(CPU) to encode everything. Newer versions include a feature called OpenCL which allows you to offload a small part of the encoding to your graphics card(GPU).
Fraps and DxTory on the other hand were programmed to produce a very high quality recording. (DxTory offers different codecs, while Fraps uses its own one) They both use small parts of your CPU and GPU to copy each frame of your video to the harddisk(HDD). The compression is very low and to reach a high quality the bitrate usage is extensive. This is why a fast HDD is the most important part for these two programs.
Another very popular option is to use a Capture Card. But on a single PC setup there is no real performance gain by using a Capture Card. In fact, the latest methods of screen-capture/window-capture will work more performant on most systems. Using the Capture Card in a second PC though, allows you to offload all CPU/GPU/HDD usage to this secondary machine. Practically you will be able to stream anything you can show on your main monitor of PC1.
Now we are coming to the latest options of doing a stream encoding or recording. QuickSync uses your Intel processors graphics chip to do the encoding. All load goes to this gpu while you may still use your AMD/Nvidia GPU at full power. Shadowplay on the other hand allows you to use your latest Nvidia GPU to do the encoding, in this case Nvidia notes that you may loose up to 15% of your GPU power. And last but not least there are currently also a few hardware encoders available. For example the Live Gamer HD by Avermedia offers such an option. The hardware encoder in this case is similar to a two-PC setup. All load goes to the hardware chip and is removed off your system.
In the next picture I go a bit more into detail about the streaming quality and options the different encoders offer you:
I assume you want to achieve a 720p or 1080p stream. Using the default X264 encoder of OBS or XSplit for example, you can achieve a medium to high quality with “normal” streaming bitrates. The same result can of course be seen with a capture card, wether it is on a single PC or two PC setup. In both cases you still use the same X264 encoder and will need the same bitrates. (Though you may have the option to increase your compression with a two PC setup) Fraps and DxTory on the other hand are not meant for streaming purposes. While DxTory offers you the option to combine it with your favorite streaming program or use a different codec, fraps only offers one codec and file output and very high bitrates above 100mbps.
QuickSync, VCE and Shadowplay are very new and in parts depend on the CPU/GPU you use. In most cases you will need a slightly higher bitrate to achieve the quality of a pure x264 CPU encoding. For Hardware Encoders it depends on their capabilities and generation. The Live Gamer HD for example definitely needs a higher bitrate with its H264 encoder, compared to X264 cpu encoding. On the other hand, the PS4 now offers streaming up to 540p on pretty normal bitrate and with a relatively good quality. But currently you are limited to this resolution with the encoder. Other setups give you quite more options. QuickSync improved from generation to generation and is now coming very near to x264 quality.
At the end of the day it of course also depends on your budget and the hardware you already have available. With all this information you can now hopefully decide which is the best option for you. I hoped you liked this Article and will come back for more. As always, if you found a mistake or have a good idea, just comment below or message me! And questions might go there as well.