Ошибки 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

Вот что я пытался это исправить:

  1. apt-get update и apt-get update
  2. удалить и переустановить VLC
  3. удалить и переустановить python-vlc
  4. удалить и переустановить pulseaudio
  5. 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

Другие вопросы по тегам