Rozmazané video ve VLC při HW akceleraci (OpenGL)

Rozmazané video ve VLC při HW akceleraci (OpenGL)
« kdy: 15. 04. 2021, 10:38:27 »
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:
Citace
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:
Citace
[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.


Re:Rozmazané video ve VLC při HW akceleraci (OpenGL)
« Odpověď #1 kdy: 15. 04. 2021, 11:07:42 »
Citace
pokud mám zapnutou HW akceleraci OpenGL, tak to způsobuje rozmazání videa. Resp. HW akcelerace je na "automaticky"
VDPAU will be enabled automatically by default in VLC version 2.2.0 onward.
VLC je pro zachytavani obrazovky opravdu nevhodne, jsou lepsi zpusoby.

Re:Rozmazané video ve VLC při HW akceleraci (OpenGL)
« Odpověď #2 kdy: 15. 04. 2021, 12:07:01 »
Citace
pokud mám zapnutou HW akceleraci OpenGL, tak to způsobuje rozmazání videa. Resp. HW akcelerace je na "automaticky"
VDPAU will be enabled automatically by default in VLC version 2.2.0 onward.
VLC je pro zachytavani obrazovky opravdu nevhodne, jsou lepsi zpusoby.
VLC mám 3.0.12 (je to vidět z logu) a na zachytávání obrazovky ho nepoužívám. Používám ffmpeg. A nebo OBS (které používá ffmpeg). A nebo VokoscreenNG (které používá ffmpeg). Takže nerozumím, co jste chtěl říct. Že i když se v logu NEZOBRAZÍ, že decoder používá "hardware decoding", tak se používá by default? To se mi nezdá.

Re:Rozmazané video ve VLC při HW akceleraci (OpenGL) - pryč od VLC
« Odpověď #3 kdy: 16. 04. 2021, 00:24:12 »
Možná to bude odporná rada, ale zkus to přehrát ve windowsech (a nebo webovém prohlížeči). Nemám dobré zkušenosti s fungováním téhle samozřejmosti na linuxu (kupodivu v browserech ale OK) a už vůbec ne na VLC. Vlastně VLC má tak nepřehledné nastavení nebo indikace, že ani nevím, na kolika místech zároveň se nastavuje a jestli vůbec běží.

Jinak tedy, když mě zlobila akcelerace, tak to spíš bylo, že nebylo rozmazané, ale že bylo sekané nebo tam byly fialová a zelená barva a nebo bylo fullscreen ale s výsečí


VLC je takový GIMP... (i když GIMP před nějakou dobou prý spatřil oko UX designera, ale nevím jestli to nejsou pomluvy)
« Poslední změna: 16. 04. 2021, 00:27:17 od mikesznovu »