VLC Media Player mit HTTPMOD

Aus FHEMWiki


Clock - Under Construction.svg An dieser Seite wird momentan noch gearbeitet.


Der VLC Media Player besitzt ein HTTP Interface, das eine Fernsteuerung mittels FHEM möglich macht. Dieses HOWTO beschreibt, wie VLC über das Modul HTTPMOD eingebunden und Kontrollelemente eingerichtet werden können.

VLC als Server starten

Device erstellen

Das VLC Device wird mittels des Moduls HTTPMOD angelegt. Dafür ist eine URL in der folgenden Form anzugeben:

define vlc HTTPMOD http://<host>:<port>/requests/status.xml 5

Dabei sind <host> und <port> die Angaben für den Hostnamen und Ports des wie im Abschnitt #VLC_als_Server_starten beschrieben eingerichteten VLC Servers. Die Zahl am Ende gibt das Intervall (in Sekunden) an, nach dem der Server automatisch abgefragt und die Readings aktualisiert werden. Dieser Wert kann bei Bedarf angepasst werden.

Um später Befehle an den Server absetzen zu können, muss noch eine Vorlage für die dafür aufgerufene angegebene URL angegeben werden. Dies lässt sich wie folgt realisieren:

attr vlc setURL http://<host>:<port>/requests/status.xml?command=%%cmd%%

Der Befehl wird beim Aufruf durch einen regulären Ausdruck ersetzt. Dafür dient folgende Angabe:

attr vlc replacement01Regex %%cmd%%

Als letztes muss noch der Login am Server mit dem wie in Abschnitt #VLC_als_Server_starten beschrieben eingerichteten Passwort erlaubt werden. Dies ist etwas Trickreich, da VLC nur ein Passwort, aber einen leeren Benutzernamen erwartet. Um diese zu übergeben, muss die HTTP Authentifizierung manuell eingerichtet werden. Dafür muss zunächst der String :<password> als Base64 codiert werden. Dies kann z.B. mit einem Online-Converter geschehen, oder unter Linux mit dem Befehl

echo -n ":<password>" | base64

Das Ergebnis wird dann in das VLC Device eingetragen:

attr vlc requestHeader1 Authorization: Basic <base64>
attr vlc getHeader1 Authorization: Basic <base64>
attr vlc setHeader1 Authorization: Basic <base64>

Alternativ kann auch die HTTP URL des VLC Servers über einen Browser und einen Proxy wie BurpSuite aufgerufen werden, und dann beobachtet werden, welchen Header der Browser für die Anmeldung an den Server schickt.

Readings und Befehle

Playliste

Todo: Auslesen der Attribute der Playliste - fortlaufende Nummer und Titel


Dateibrowser

Links