oaubert / python-vlc

Python vlc bindings
GNU Lesser General Public License v2.1
381 stars 108 forks source link

Video Effects do not work with Ubuntu - RTX 3080 -Ubuntu 22.04.1 LTS #235

Open logos7710 opened 1 year ago

logos7710 commented 1 year ago

The video effects do not work with this configuration. This problem also applies to the VLC you can download via snapstore. On this VLC, I solved the problem by changing the "Hardware-accelerated decoding" setting to VA-API video decoder.

When I run the following code

import vlc import time

def video(source): vlc1 = vlc.Instance("--video-filter=Mirror") player = vlc1.media_player_new() media = vlc1.media_new(source) player.set_media(media) player.play() time.sleep(10) video("video.mp4")

I get the following messages:

[00007fcad44eb0] gl gl: Initialized libplacebo v4.192.1 (API v192) libva info: VA-API version 1.14.0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/nvidia_drv_video.so libva info: va_openDriver() returns -1 [00007fcad40eb0] glconv_vaapi_x11 gl error: vaInitialize: unknown libva error libva info: VA-API version 1.14.0 libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null) [00007fc4004eb0] glconv_vaapi_drm gl error: vaInitialize: unknown libva error libva info: VA-API version 1.14.0 libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null) [00007fcad40eb0] glconv_vaapi_drm gl error: vaInitialize: unknown libva error [00007fcad428e0] mirror filter error: Unsupported input chroma (VAOP) [00007fcad45e90] chain filter error: Too high level of recursion (3) [00007fcad402f0] main filter error: Failed to create video converter ... Messages repeat [00007f97482220] xcb_window window error: X server failure X Error of failed request: GLXBadWindow Major opcode of failed request: 152 (GLX) Minor opcode of failed request: 26 (X_GLXMakeContextCurrent) Serial number of failed request: 296 Current serial number in output stream: 296

I suspect I could solve this problem by changing the decoder, but I am ignorant of how to do so via python, and I am also ignorant of how I could learn to change this setting. Any help would be greatly appreciated. My coding experience is very low.