Table of Contents

Encoding-Quality-Testing

Created with the voctoquality repo.

Reference content

Reference content is either our own (https://media.ccc.de) or from Xiph (https://media.xiph.org/video/derf/).

The specific sources are found in https://github.com/voc/voctoquality/blob/master/data/sources.json

All the reference content is converted to 8bit 1080p25.

Software

Testing VAAPI vs. software encoding for live streaming

The codec settings are the ones currently in use by the C3VOC for live streaming.

See https://github.com/voc/voctoquality/blob/master/data/profiles/voc_streaming.py for the specific ffmpeg options.

The codecs are tested with bitrates from 1Mbit/s to 5.2Mbit/s.

Graphs

streaming_rates.pdf streaming_refs.pdf streaming_speeds.pdf

Comments

Platform Label Hardware Codecs Comments
Intel 6th Gen (i7-6600U) skylake h.264, h.265 h.264 scores better than our VP9 and x264 streaming settings and is pretty fast
h.265 even scores a little bit higher but is considerably slower
Intel 8th Gen (i7-8665U) whiskeylake h.264, h.265, VP9 h.264 and h.265 results worse but faster than skylake, have to check whats up with that
VP9 scores worse than H.264 and has broken rate-control for <2mbit/s
AMD Navi (RX 5700 XT) + Ryzen 2nd Gen (R5-2600) navi10 h.264, h.265 h.264 is worse than x264 on veryfast…
h.265 produces 1920×1088 output?
Nvidia Turing (RTX2080 Super) turing h.264, h.265 nvidia-driver-460, cuda-toolkit 9.1.85
best h.265 encode, h.264 behind Intel

Finding a Tracker VP9 Profile

HD-Profile

Goals:

Notes:

-i $ref
-c:v libvpx-vp9
-quality:v good
-crf:v 30
-b:v 6000k
-maxrate:v 8000k
-minrate:v 2000k
-row-mt 1
-frame-parallel:v 1 -tile-columns:v 2

SD-Profile