H.266/VVC has been around a while but it is certainly pretty early days for end users to be encoding such files. And an important caveat at the moment is that playback does require some extra steps.
Encoder:
Best encoder at the moment is arguably the Fraunhofer Versatile Video Encoder (VVenC) and these instructions will download, compile and install it under 22.04:
sudo apt-get install build-essential cmake
mkdir $HOME/VVenC_build && cd $HOME/VVenC_build
wget https://github.com/fraunhoferhhi/vvenc/archive/v1.7.0/vvenc-1.7.0.tar.gz
tar xvf vvenc-1.7.0.tar.gz && cd vvenc-1.7.0
mkdir -p build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release ..
make
sudo make install
And now you have VVenC 1.7.0 installed to /usr/local. Next to get it running!
Encoding:
There is a nice trailer for Sintel that we will download and then encode, be aware that this uncompressed media file weighs in at 1.6G.
First download the test file:
cd $HOME/VVenC_build
wget https://media.xiph.org/video/derf/y4m/sintel_trailer_2k_720p24.y4m
Then encode it:
vvencapp --preset slow \
-i sintel_trailer_2k_720p24.y4m \
-s 1280x720 --qp 30 --qpa 1 -r 24 \
-o sintel_test.266
And congratulations for encoding with the latest and greatest media codec that will perhaps one day supplant H.264, H.265 and Av1! Encoding options from my example command line to manipulate are:
--qp 30
: quantization parameter, QP (0-63), with lower numbers giving better quality and higher numbers lesser quality.
--qpa 1
: Enable perceptually motivated QP adaptation, XPSNR based. This is set either as 1 (on) or 0 (off).
I encourage exploration of other encoding options that can be seen by running vvencapp --fullhelp
.
Playback:
There is a 3rd party patch set that makes VVC encoding and decoding available for FFmpeg. Details can be seen here... So playback is possible with some work, as seen on my own system:
