Seiten

Sonntag, 4. März 2012

VLC 2.0 Fernsteuerung über HTTP-Interface

Anleitungen im Netz, wie man die Fernsteuerung per Http-Interface im VLC einrichtet gibt es viele. Leider hat keine so richtig meine Bedürfnisse erfüllt oder gar nicht erst funktioniert. Eigentlich wollte ich nur im internen Netzwerk meinen VLC per Smartphone (Android) steuern und dabei trotzdem noch die "normale" VLC-Oberfläche wie gewohnt am PC nutzen können. Nach etlichen Zurücksetzen der VLC-Konfigurationen und Anhängen von unterschiedlichen Parametern an die VLC-Verknüpfung, begann ich noch einmal von vorn. Wenn man weiß wie es geht ist es eigentlich ganz einfach und (fast) komplett über die Oberfläche einstellbar:

In den Einstellungen (Alle anzeigen) unter Interfaces -> Hauptinterfaces zuerst HTTP aktivieren. Nicht das Hauptinterface ändern, das führt dazu, dass der VLC im Hintergrund startet :



Einstellungen speichern und den VLC neu starten. Man sieht nun die normale Oberfläche und kann zusätzlich im Browser unter http://localhost:8080/ die Weboberfläche sehen:


Ziemlich simpel bisher, oder? Ein Problem hat man aber leider noch, der VLC ist nur vom Rechner auf dem er läuft erreichbar, von anderen Rechnern aus bekommt man im Browser einen 403 (Forbidden)-Fehler:

Das liegt daran, dass der Webserver, dem VLC zugrunde liegt eine eigene Hosts-Datei mitführt bei dem der Zugriff nur vom eigene Rechner aus gestattet ist. Um dem Abhilfe zu verschaffen, muss diese Datei einfach geändert werden. Diese bedindet sich im 2.0er VLC unter:
C:\Program Files\VideoLAN\VLC\lua\http und heißt .hosts

Ihr Inhalt sieht ungefähr so aus:


#
# Access-list for VLC HTTP interface
# $Id$
#

# localhost
::1
127.0.0.1

# link-local addresses
#fe80::/64

# private addresses
#fc00::/7
#fec0::/10
#10.0.0.0/8
#172.16.0.0/12
#192.168.0.0/16
#169.254.0.0/16

# The world (uncommenting these 2 lines is not quite safe)
#::/0
#0.0.0.0/0

Wie man sieht ist alles, bis auf die lokale Maschine auskommentiert. Um im eigenen Netzwerk das Webinterface erreichbar zu machen, muss man lediglich die Zeile 192.168.0.0/16 (Standardmäßig sind die 192.168.-Adressen die privaten Adressen in einem C-Netz, welche bei haushaltsüblichen Routern eingestellt sind) einkommentieren, also die Raute löschen. Danach sieht die Datei dann so aus:

#
# Access-list for VLC HTTP interface
# $Id$
#

# localhost
::1
127.0.0.1

# link-local addresses
#fe80::/64

# private addresses
#fc00::/7
#fec0::/10
#10.0.0.0/8
#172.16.0.0/12
192.168.0.0/16
#169.254.0.0/16

# The world (uncommenting these 2 lines is not quite safe)
#::/0
#0.0.0.0/0

Die Datei noch abspeichern und beim nächsten Start des VLC können alle Rechner im Netzwerk auf die Weboberfläche zugreifen.

Kommentare:

  1. Nun kann man aber aus dem Netzwerk zugreifen, ist es denn aber auch möglich, aus der Ferne zuzugreifen, z.B mit einem Laptop, der nun nicht mehr im Netzwerk ist.

    Ich habe bei mir z.B ein no-ip Netzwerk eingerichtet, wenn ich dann aber auf MEINACCOUNT.no-ip.com:8080 gehe, wird mir der typische 403 Error ausgegeben.

    Kann ich dies dann auch ändern?

    Danke für die Antwort :-)

    AntwortenLöschen
  2. Hallo Tobias,
    generell ist natürlich möglich, wenn man die letzten zwei Zeilen in der .hosts einkommentiert (also #::/0 und #0.0.0.0/0). Wie es aber auch im Kommentar darüber steht ist dies ziemlich unsicher, da nun JEDER!! deinen VLC steuern könnte und damit dann auch (indirekt) die Dateien von deinem Rechner im WWW verfügbar wären. Ich würde dir generell davon abraten. Falls du es dennoch wagen möchtest müssen außerdem noch die Firewallregeln im Router angepasst werden.

    Viele Grüße,
    Danny

    AntwortenLöschen
  3. Hey, :-)
    habe mich seit einem Tag mit der App beschäftigt.
    Nach dem ich alles durchgespielt habe schaute ich mir die Netzwerkeinstellungen an.
    Dort habe ich irgendwann mal den Netzwerksatndort auf "Öfffentlich" umgestellt.
    Nachdem es auf ""Privat"" eingestellt ist läuft es :-))
    Viel spaß!

    AntwortenLöschen
  4. Hi, der Artikel ist ja schon etwas älter, aber nichts destotrotz stelle ich mal ne Frage dazu.
    Ich brauche aus dem VLC eine "es wird grad gespielt" Info und zwar mit Titel Künstler und eventuell noch weiteren Infos. dachte ich mach das schnell über http... (hatte das mal in 0.x gemacht) ...
    Aber nix da.
    Http is nun auf lua, geht nur noch wenn man ein http Passwort angibt, die alten Makro abgeschafft und stattdessen ein Javascriptkonstrukt . Arrgh.
    Nach 3 Stunden (obwohl ...den Titel hatte ich nach 1 min) basteln hab ich es aufgegeben ... (und hab dann auch gemerkt das das Zielprogramm sowieso keine Passwörter kann) ....

    Was ich brauche ist den Titel + Künstler + ev. andere Infos, aber ohne irgendein Passwort dazwischen ... das macht das auslesende Programm nicht mit...

    Die Doku is ja leider Stand anno dazumal... Du kennst dich doch aus.

    Gibs da noch ne Möglichkeit?

    AntwortenLöschen