On the notebook testbed, NVIDIA delivered higher quality than x264/veryfast. Given these limited tests, it was impossible to tell if this was incidental to the first few seconds of the recording or endemic. You also see several green downward spike, indicating regions where x264’s quality dropped significantly during the recording. The NVIDIA file is in red, and x264 in green, and you see right away that the red is higher than green, which means the NVIDIA file has an overall higher VMAF score. Figure 4 shows the Results Plot from the MSU VQMT tool, which is currently displaying the VMAF score for each of the 800 frames measured. Checking QualityĪfter checking that the bandwidth of the two captured files was similar (OBS does a great job making this so), I compared quality. On this computer, at least from my perspective, veryfast is the optimal preset choice. However, my personal comfort zone for CPU usage during a live event is 50-60% any higher and I get concerned about dropping frames or other failures. Had it been in the 10-15% range, it would have made sense to try a higher-quality preset like fast or medium, seeking higher quality with x264. The 50% utilization number for x264 is significant on this older notebook. CPU utilization encoding with OBS, x264 first (veryfast preset) then NVIDIA. You see the CPU comparison for the ZBook in Figure 3, right around 50% for x264, dropping to around 30%, and then 20% for NVIDIA. I recorded CPU utilization in Windows Performance Monitor, and then compared the quality of the two files in the Moscow State University (MSU) Video Quality Measurement Tool (VQMT). I loaded a test video file into OBS and recorded 90 seconds of the video to disk using x264/veryfast, and then 90 seconds running the hardware H.264 codec, in this case NVIDIA. The basic test was the same for both computers. The first computer is an HP ZBook Studio running an Intel Xeon CPU E3-1505M v5 at 2.80GHz with 32 GB of RAM in Windows 10 Pro with an embedded NVIDIA Quadro M1000M GPU. In both cases, I measured CPU encoding during the recording and the quality of the recorded video. To show this, I tested OBS on two computers, one comparing x264 and the NVIDIA codec, the other comparing x264 and Intels QuickSync H.264 codec. Now they exceed that available with x264/veryfast, and significantly reduce encoding-related CPU utilization, which makes for a more stable and robust live event. In recent years, however, the quality of these hardware implementations has more than caught up. When these hardware codecs were originally launched, their quality trailed x264 considerably, even when using x264 presets like veryfast. This dedicated hardware is sufficiently powerful to encode in real-time without the quality trade-offs made by x264. Hardware codecs like those created by Intel and NVIDIA are also codec implementations of the H.264 standard, but they use dedicated hardware in the CPU (Intel) or GPU (NVIDIA) to drive encoding. Quality and encoding time by x264 preset. The key takeaway is that there are meaningful quality differences associated with using lower quality presets, but also significant encoding time efficiencies. The numbers shown are the percentages of each measure so, the veryfast preset delivers 95.6% of overall quality and 81.4% of low-frame quality in 6.86% of the encoding time of the placebo preset. In OBS, the default preset for the x264 codec is veryfast, which allows real-time encoding with some sacrifice in quality.įigure 2 shows how x264 presets vary in terms of encoding time, overall quality, and low-frame quality, the last simply the lowest VMAF score for any frame in the video, a predictor of transient quality. x264 presets in OBS.Īs you probably can guess, presets like ultrafast and superfast use very little CPU, which enables real-time encoding, but the quality is much less than presets like medium (the default) and veryslow, which is what most on-demand producers use to encode for distribution. These presets are shown in Figure 1, which is a screenshot from OBS. The developers of x264 use a system of presets to allow users to balance CPU usage and quality. H.264 is a video standard, and x264 is an implementation of that standard available in FFmpeg, OBS, Wirecast, vMix, and most other live switchers. Still, developers often had to limit the output quality from the codec to enable real-time operation. As computers became more powerful, they became more capable of live encoding. Encoding a live stream into H.264 format is a challenging operation, one originally performed in dedicated hardware.
0 Comments
Leave a Reply. |