2016-07-27 36 views
1

Ich versuche, eine kleine Python-App zu erstellen, die 2 Computer über TCP-Socket synchronisiert und wenn ich einen Befehl Play oder Pause senden. Beide Skripte werden/sollten eine Befehlszeile ausführen, um die vlc-wit-Datei anzuhalten oder abzuspielen oder zu öffnen. Beide Computer sind MacOSX zuletzt mit einem VLC innerhalb der letzten 3 Wochen installiert.Spielen, Öffnen und Pausieren VLC-Befehlszeile von Python-Skripten ausgeführt

Ich habe die Dokumentation mit .../vlc -H für die lange Hilfe gelesen, aber ich scheint immer noch nicht oder spielt. Ich habe es bekommen, um ein Video zu öffnen, aber ich konnte keine Befehle senden, während es läuft.

Ich habe einige Beispiele ausprobiert, die ich online ohne Erfolg gesehen habe. Ich habe die 2 Skripte fertig, nur die VLC Befehle nicht.

c-mbp:~ c$ /Applications/VLC.app/Contents/MacOS/VLC -I --global-key-play-pauses 
VLC media player 2.2.2 Weatherwax (revision 2.2.2-3-gf8c9253) 
[0000000100604a58] core interface error: no suitable interface module 
[000000010050d928] core libvlc error: interface "default" initialization failed 
+0

Vielleicht müssen Sie eine CLI-Schnittstelle aktivieren, bevor Sie diese Befehle verwenden können? – Hector

+0

Haben Sie ein Beispiel? – c3cris

Antwort

2

Ich vermute, den besten Weg, dies auf MacOS zu tun wäre, um die VLC remote control interface zu verwenden.

Damit können Sie das Verhalten einer gestarteten VLC-Instanz mithilfe von Befehlen steuern, die Sie an den Prozess 'stdin' senden.

Sie könnten dann die Python subprocess module verwenden, um VLC zu starten und dann die entsprechenden Befehle an die Standardeingabe dieses Prozesses zu senden.

Wenn Sie Linux verwenden, könnte dies wahrscheinlich einfacher durch die VLC DBUS-Schnittstelle erreicht werden, aber die Fernsteuerung durch Stdin sollte Ihnen immer noch genügend Kontrolle für das geben, was Sie tun.

+0

Ich habe immer noch Probleme, hast du ein Beispiel? – c3cris