Experimentoval jsem s ffmpeg a nahrával záznam z obrazovky a byl jsem překvapený, jak je výsledné video nekvalitní, rozmazané. Nejdříve jsem zvyšoval bitrate, ale to na kvalitu nemělo vliv. Zkoušel jsem používat různé encodery a jedině pro flv (matroska) video nebylo rozmazané. V pohodě bylo taky pro webm, tam jsem ale narazil na jiné problémy, které nejsou předmětem tohohle dotazu.
Pak jsem ale zjistil, že problém není v encodéru, ale v samotném přehrávání. Zkusil jsem videa různých formátů přehrát v mplayeru a tam se zobrazila krásně. Po kratším experimentování s VLC jsem zjistil, že pokud mám zapnutou HW akceleraci OpenGL, tak to způsobuje rozmazání videa. Resp. HW akcelerace je na "automaticky", ale ani VDPAU ani VAAPI nefunguje. Jen VAAPI with DRM zobrazuje dobře, ale podle logu HW akceleraci nepoužívá. Video se neseká, jen vypadá divně, jako by některé řádky pixelů tam byly navíc nebo chyběly.
Při spuštění VLC s HW akcelerací mi to píše:
QObject::~QObject: Timers cannot be stopped from another thread
VLC media player 3.0.12 Vetinari (revision 3.0.12-1-0-gd147bb5e7e)
[0000564e114d85b0] main libvlc: Spouštím přehrávač VLC s výchozím rozhraním. Přejete-li si spoušt
[00007f13c4004590] gl gl: Initialized libplacebo v2.72.0 (API v72)
libva info: VA-API version 1.10.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_10
libva info: va_openDriver() returns 0
[00007f13dcc021b0] avcodec decoder: Using Mesa Gallium driver 20.3.4 for AMD Radeon RX 5600 XT (NAVI10, DRM 3.40.0, 5.10.0-5-amd64, LLVM 11.0.1) for hardware decoding
Bez HW akcelerace:
[000055ab7f5515b0] main libvlc: Spouštím přehrávač VLC s výchozím rozhraním. Přejete-li si spoušt
[00007fe6d0004590] gl gl: Initialized libplacebo v2.72.0 (API v72)
libva info: VA-API version 1.10.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_10
libva info: va_openDriver() returns 0
[00007fe62c04b310] gl gl: Initialized libplacebo v2.72.0 (API v72)
[00007fe5b40462d0] gl gl: Initialized libplacebo v2.72.0 (API v72)
Mám Debian Bullseye.