Maximum PC

HOW TO MEASURE VMAF

-

Our quality and performanc­e results are all generated via the open-source tool ffmpeg. You can download this tool for free and it supports all of the latest GPUs with the current nightly builds—the latest official 5.1.2 release is from September 2022 and only has AV1 support for Intel’s Arc GPUs right now. ffmpeg supports VMAF, Netflix’s Video Multi-Method Assessment Fusion algorithm. Scores in VMAF range from 0 to 100, with 100 being excellent, 80 being good, 60 fair, 40 poor, 20 bad, and 0 representi­ng a complete failure.

For our testing, we chose to target specific bitrates, since that’s important for streaming. We tried to improve the quality where possible, provided it didn’t kill the performanc­e. AMD, for example, has three quality presets available—speed (the default), balanced, and quality.

We opted for the balanced mode, which was only slightly slower than speed but tended to improve the VMAF score by 5 to 10 percent. However, quality mode cut speed in half and only provided another one or two percent improvemen­t, so we didn’t use that. We also specified a key frame interval of two seconds (-g 120), to try to level the playing field and make the resulting ‘streams’ as universall­y supported as possible.

Here are the specific commands we used for our encoding and VMAF tests, where [source] was a highqualit­y 100Mbps H.264 video (40Mbps for 1080p), and [encoder] varies by GPU or CPU. For the CPU, we used libx264, libx265, and libsvtav1. AMD GPUs used h264_amf, hevc_amf, or av1_amf; Intel GPUs used h264_qsv, hevc_ qsv, or av1_qsv; and Nvidia GPUs used h264_nvenc, hevc_ nvenc, or av1_nvenc. [output] is the destinatio­n encoded file, and the other bracketed items are instructio­ns for VMAF. ffmpeg -i [source] -c:v [encoder] -b:v [ bitrate] -g 120 -y [output] ffmpeg.exe -i [source] -i [output] -lavfi [0:v]setpts=PTSSTARTPT­S[reference];[1:v] setpts=PTSSTARTPT­S[distorted]; [distorted] [reference]libvmaf -f null

Newspapers in English

Newspapers from United States