Ошибки VLC Pulse Audio в подсистеме Debian на win 10
Я пишу небольшую программу в моей среде Debian для Windows 10. Я собираюсь использовать этот код позже на моей Raspberry Pi 4.
Код запускает видео через VLC в определенное время дня.
Суть кода VLC (Python3) приведена ниже. Полный код Python внизу.
Код VLC:
import vlc;
Instance = vlc.Instance('--fullscreen');
player = Instance.media_player_new();
Media = Instance.media_new("../videos/starscape.mp4");
Media.get_mrl();
player.set_media(Media);
player.play();
Тем не менее, это выбрасывает всевозможные ошибки.
VLC media player 3.0.7 Vetinari (revision 3.0.7-0-g86cee31099)
shared memfd open() failed: Function not implemented
[00007fffdc1e0410] vlcpulse audio output error: PulseAudio server connection failure: Connection refused
shared memfd open() failed: Function not implemented
[00007fffdc225830] dbus interface error: Failed to connect to the D-Bus session daemon: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
[00007fffdc225830] main interface error: no suitable interface module
[00007fffdc1291a0] main libvlc error: interface "dbus,none" initialization failed
[00007fffdc204440] main interface error: no suitable interface module
[00007fffdc1291a0] main libvlc error: interface "globalhotkeys,none" initialization failed
[00007fffdc1291a0] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
error: XDG_RUNTIME_DIR not set in the environment.
[00007fffdc204440] skins2 interface error: cannot initialize OSFactory
Вот что я пытался это исправить:
- apt-get update и apt-get update
- удалить и переустановить VLC
- удалить и переустановить python-vlc
- удалить и переустановить pulseaudio
- Google эти ошибки и попробуйте случайные решения
Я никогда раньше не работал с VLC из CLI, поэтому я не знаю, является ли это ошибкой в моем коде, в моей установке или в экземпляре Debian.
Кто-нибудь может указать мне правильный путь?
ПОЛНЫЙ КОД (все еще WIP, но общая идея есть) Суть: https://gist.github.com/Code2Empower/7deb6e05ffd10b0ea83eaff41c8cf294
1 ответ
ОК, я идиот. Установка Debian на Windows 10 создает совершенно автономную установку.
Так что, конечно, VLC дает ошибки.
Я также перестал использовать vlc-python
сделать вызов VLC и использовал subprocess
модуль (намного чище).
Я протестировал код в среде Windows, и он работает. Я протестирую его на Пи, когда он попадет сюда, но он должен вести себя так же.
Вот новый код VLC, на случай, если кому-то еще это понадобится.
import subprocess;
media = "../videos/starscape.mp4";
subprocess.Popen(["vlc.exe", media, "-f", "-L" ]);
Суть: https://gist.github.com/Code2Empower/7deb6e05ffd10b0ea83eaff41c8cf294