Mediendaten lokal wiedergeben: So gehts!
Verfasst: 8. Aug 2009, 04:35
Vor einigen Tagen hatte ich hier einen Thread eröffnet, weil ich gern meine MP3´s dort wiedergeben wollte, wo ich sie gespeichert habe: Auf dem WHS, der mit einem Optokabel (SPDIF) direkt an meinem Reciever angeschlossen ist. Für mich war es nicht ganz einsehbar, dass in unseren multimedialen Haushalten ein Server eben "nur" Mediendaten hosten, aber nicht wiedergeben darf.
Nach einiger Suche hier im Forum bin ich auf etliche handgestrickte Lösungen gestossen, die ich alle nicht sonderlich prickelnd empfunden habe. Weder wollte ich Musik auf meine Laptops streamen, um dann in den "Genuss" des tollen Sounds der dort verbauten Speaker zu kommen, noch habe ich vor, mich jedesmal via Konsole anzumelden, wenn ich Musik hören will und schon gar nicht wollte ich nochmal ein 100-300 Euronen ausgeben, um mir eine dieser angeblichen "Medienplayer" zu holen, die nichts anderes sind, als aufgepeppte, externe Festplatten.....und die Integrität des Servers zu gefährden, imdem ich mit fremder Remotesoft hantiere (VNC etc.) halte ich offen gestanden auch für einen Workaround, der nicht wirklich ratsam erscheint.
Was also tun?
Anforderungen: Jede Form von Mediadaten sollen von den Clients ausgewählt, aber lokal, d.h. auf dem Server selbst wiedergegeben und dirket am TV und am Reciever abgeliefert werden. Hierzu will ich mich weder an der Konsole anmelden, noch Clientseitig irgendwelche Software installieren.
Hardware: Das die Wiedergabe von mutlimedialen Daten andere Anforderungen an die verwendete Hardware stellt, sollte klar sein. Insbesondere auch dann, wenn man mit HD-Formaten hantiert. Die aktuellen Atom-Plattformen könnten da schnell ins Schwitzen kommen. Die gesamte Landschaft der customized WHS-Server ist eher nicht auf diese Anforderungen ausgelegt. Ich persönlich verwende eine System auf Basis eines AMD 64X2 5000+. Die neueren AMD-CPU sind zudem auch nicht solche Stromfresser. Außerdem habe ich eine dedizierte Soundkarte mit SPDIF-Aus/Eingang (Terratec Aureon 5.1.) und 3 GB RAM verbaut. HDD ist grundsätzlich egal, sollte halt ausreichend Platz bieten.
Software: Aufgrund der genannten Anforderungen kommt eben nur der VLC (VideoLan-Client) in Betracht. Dieser wird aber ausschließlich serverseitig installiert.
Lösung: VLC wird als serverseitiger Dienst ausgeführt. Die Steuerung erfolgt über den integrierten Webserver.
Vorgehen:
VLC in der aktuellen 1.0.X-Variante herunterladen und auf dem Server installieren. Da es VLC (leider) nicht als AddIn gibt, müsst ihr Euch auf der Oberfläche anmelden und den Player "zu Fuss" installieren. Das sollte aber kein Problem sein:
1. VLC vom Client aus herunterladen und in einem der Shares (freigegebenen Ordner) des Servers speichern.
2. Wenn noch nicht geschehen, dann mittels dieser Anleitung (http://www.home-server-blog.de/howtos/f ... le-nutzen/) dafür sorgen, dass ihr Euch auf dem Desktop des Servers einloggen könnt.
3. Auf dem Server einloggen, VLC-Installationsdatei ausführen.
Nun ist der VLC auf dem Server gespeichert, was uns der Lösung aber nicht wirklich näher bringt. Hierzu bedarf ein paar Schritte:
Den VLC samt Webserver als serverseitigen Service einrichten
Wir sind weiter via Remote Desktop-Verbindung mit dem Server verbunden: Zunächst auf "Start", dann Ausführen klicken und "cmd" eingeben. In der DOS-Box, die sich nun öffnet, in das VLC-Verzeichnis wechseln (i.d.R. C\Programme\VideoLan\VLC). Dort folgendens eingeben: vlc.exe -I ntservice --ntservice-install --ntservice-extraintf=http
Jetzt wird es ein bißchen hacklig, weil ich die englische Serverversion betreibe und nicht ganz sicher bin, wie die jeweiligen Ordner/Programme in der deutschen Version übersetzt sind. Ich versuche es mal mit den englischen Begriffen, vieleicht kann es noch Jemand übersetzen:
Start-> Programs -> Administrative Tools -> Computermanagement -> Computer Management
"Services and Applications" auswählen, dann auf "Services" klicken. In der nun erscheinenden Liste nach Eintrag "VLC media player" suchen (geht am einfachsten, wenn ihr Euch die Liste via Klick auf "Name" alphabetisch sortieren lasst!). Rechtsklick und "Properties" auswählen. Nachschauen, dass der "Startup"-Typ auf "Automatic" gesetzt ist.
Letzter Schritt: Kommunikation für die Clients freischalten
Theoretisch seid ihr nun schon in der Lage, den VLC-Player via dem Webinterface zu bedienen. Das ist aber nicht möglich, weil hier zunächst jeder externer Zugriff gesperrt ist. Ihr müsst Eure Heim-PC´s nun freigeben:
Wir sind immer noch auf dem Homeserver:
1. In das Verzeichnis C:\Programme\VideoLAN\VLC\http\ wechseln.
2. Die dort befindliche Datei ".hosts" mit dem Editor öffnen.
Die Datei hat ungefähr folgendes Aussehen:
#
# 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.15.0/16
#169.254.0.0/16
# The world (uncommenting these 2 lines is not quite safe)
#::/0
#0.0.0.0/0
Die markierte Zeile ist mein Eintrag. Normalerweise ist auch diese Zeile mit einem "#" auskommentiert. Ihr könnt hier entweder - wenn ihr in Eurem Netz statische Adressen benutzt - mit einem Eintrag gezielt die Rechner freigeben die Zugriff haben sollen (Beispiel: 192.168.0.3). Sinniger ist es allerdings, wenn ihr einen DHCP-Server betreibt, einen gesamten Adressraum freizugeben, da sich die IP-Adressen der einzelnen Clients ja ändern (können). Mit dem Eintrag "192.168.15.0/16" habe ich in meinem Netz allen Computern Zugriff erlaubt, die eine IP-Adresse zwischen 192.168.15.1 und 192.168.15.255 haben. WICHTIG: Finger weg von Einstellungen, die externen Zugriff von fremden Netzen ("The World") erlauben.
Ein allerletzter Hinweis:
Das Ganze funktioniert allerdings nur, wenn zumindest der Server IMMER die gleiche IP hat, oder ihr einen DNS-Service betreibt. Weil nur so gewährleistet werden kann, dass ihr den nun aktivierten VLC-HTTP-Service auf dem Server auch erreichen könnt. Hierzu kann ich nichts schreiben, weil die Meisten den DHCP-Server ihrer Router nutzen oder gar noch andere Softwarelösungen im Einsatz haben, deren Einstellmöglichkeiten sich doch stark unterscheiden. Bei meinem NETGEAR war es kein Problem, die Adresse 192.168.15.4 für meinen Server zu reservieren....
Und los gehts
So, wenn ihr nun auf einem freigegebenen Client die IP-Adresse Eures Servers, gefolgt von ":8080" eingebt, gelangt ihr auf ein Webinterface, wo ihr Musik und/oder Filmdateien öffnen und LOKAL wiedergeben lönnt. Das Ganze, ohne sich mit zusätzlicher Software, Audio/Viedeotreiber-Fallen und irgendwelchen Streamingboxen herumschlagen zu müssen. In meinem Beispiel kann ich also via http://192.168.15.4:8080 die MP3´s wiedergeben, die ich auf meinem Server horte - und dies direkt auf meiner teuren Anlage. Alle Streaminglösungen funktionieren übrigens uneingeschränkt weiter....
Das Webinterface ist nicht sonderlich hübsch und beim "Datei öffen"-Dialog hängts manchmal ein wenig. Wer Luste hat, kann sich die Oberfläche allerdings komplett selbst anpassen....aber das ist ein Thema für einen anderen Thread!
Das alles ist jetzt nichts besonderes, aber vieleicht sucht ja noch Jemand eine solche Lösung!
Nach einiger Suche hier im Forum bin ich auf etliche handgestrickte Lösungen gestossen, die ich alle nicht sonderlich prickelnd empfunden habe. Weder wollte ich Musik auf meine Laptops streamen, um dann in den "Genuss" des tollen Sounds der dort verbauten Speaker zu kommen, noch habe ich vor, mich jedesmal via Konsole anzumelden, wenn ich Musik hören will und schon gar nicht wollte ich nochmal ein 100-300 Euronen ausgeben, um mir eine dieser angeblichen "Medienplayer" zu holen, die nichts anderes sind, als aufgepeppte, externe Festplatten.....und die Integrität des Servers zu gefährden, imdem ich mit fremder Remotesoft hantiere (VNC etc.) halte ich offen gestanden auch für einen Workaround, der nicht wirklich ratsam erscheint.
Was also tun?
Anforderungen: Jede Form von Mediadaten sollen von den Clients ausgewählt, aber lokal, d.h. auf dem Server selbst wiedergegeben und dirket am TV und am Reciever abgeliefert werden. Hierzu will ich mich weder an der Konsole anmelden, noch Clientseitig irgendwelche Software installieren.
Hardware: Das die Wiedergabe von mutlimedialen Daten andere Anforderungen an die verwendete Hardware stellt, sollte klar sein. Insbesondere auch dann, wenn man mit HD-Formaten hantiert. Die aktuellen Atom-Plattformen könnten da schnell ins Schwitzen kommen. Die gesamte Landschaft der customized WHS-Server ist eher nicht auf diese Anforderungen ausgelegt. Ich persönlich verwende eine System auf Basis eines AMD 64X2 5000+. Die neueren AMD-CPU sind zudem auch nicht solche Stromfresser. Außerdem habe ich eine dedizierte Soundkarte mit SPDIF-Aus/Eingang (Terratec Aureon 5.1.) und 3 GB RAM verbaut. HDD ist grundsätzlich egal, sollte halt ausreichend Platz bieten.
Software: Aufgrund der genannten Anforderungen kommt eben nur der VLC (VideoLan-Client) in Betracht. Dieser wird aber ausschließlich serverseitig installiert.
Lösung: VLC wird als serverseitiger Dienst ausgeführt. Die Steuerung erfolgt über den integrierten Webserver.
Vorgehen:
VLC in der aktuellen 1.0.X-Variante herunterladen und auf dem Server installieren. Da es VLC (leider) nicht als AddIn gibt, müsst ihr Euch auf der Oberfläche anmelden und den Player "zu Fuss" installieren. Das sollte aber kein Problem sein:
1. VLC vom Client aus herunterladen und in einem der Shares (freigegebenen Ordner) des Servers speichern.
2. Wenn noch nicht geschehen, dann mittels dieser Anleitung (http://www.home-server-blog.de/howtos/f ... le-nutzen/) dafür sorgen, dass ihr Euch auf dem Desktop des Servers einloggen könnt.
3. Auf dem Server einloggen, VLC-Installationsdatei ausführen.
Nun ist der VLC auf dem Server gespeichert, was uns der Lösung aber nicht wirklich näher bringt. Hierzu bedarf ein paar Schritte:
Den VLC samt Webserver als serverseitigen Service einrichten
Wir sind weiter via Remote Desktop-Verbindung mit dem Server verbunden: Zunächst auf "Start", dann Ausführen klicken und "cmd" eingeben. In der DOS-Box, die sich nun öffnet, in das VLC-Verzeichnis wechseln (i.d.R. C\Programme\VideoLan\VLC). Dort folgendens eingeben: vlc.exe -I ntservice --ntservice-install --ntservice-extraintf=http
Jetzt wird es ein bißchen hacklig, weil ich die englische Serverversion betreibe und nicht ganz sicher bin, wie die jeweiligen Ordner/Programme in der deutschen Version übersetzt sind. Ich versuche es mal mit den englischen Begriffen, vieleicht kann es noch Jemand übersetzen:
Start-> Programs -> Administrative Tools -> Computermanagement -> Computer Management
"Services and Applications" auswählen, dann auf "Services" klicken. In der nun erscheinenden Liste nach Eintrag "VLC media player" suchen (geht am einfachsten, wenn ihr Euch die Liste via Klick auf "Name" alphabetisch sortieren lasst!). Rechtsklick und "Properties" auswählen. Nachschauen, dass der "Startup"-Typ auf "Automatic" gesetzt ist.
Letzter Schritt: Kommunikation für die Clients freischalten
Theoretisch seid ihr nun schon in der Lage, den VLC-Player via dem Webinterface zu bedienen. Das ist aber nicht möglich, weil hier zunächst jeder externer Zugriff gesperrt ist. Ihr müsst Eure Heim-PC´s nun freigeben:
Wir sind immer noch auf dem Homeserver:
1. In das Verzeichnis C:\Programme\VideoLAN\VLC\http\ wechseln.
2. Die dort befindliche Datei ".hosts" mit dem Editor öffnen.
Die Datei hat ungefähr folgendes Aussehen:
#
# 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.15.0/16
#169.254.0.0/16
# The world (uncommenting these 2 lines is not quite safe)
#::/0
#0.0.0.0/0
Die markierte Zeile ist mein Eintrag. Normalerweise ist auch diese Zeile mit einem "#" auskommentiert. Ihr könnt hier entweder - wenn ihr in Eurem Netz statische Adressen benutzt - mit einem Eintrag gezielt die Rechner freigeben die Zugriff haben sollen (Beispiel: 192.168.0.3). Sinniger ist es allerdings, wenn ihr einen DHCP-Server betreibt, einen gesamten Adressraum freizugeben, da sich die IP-Adressen der einzelnen Clients ja ändern (können). Mit dem Eintrag "192.168.15.0/16" habe ich in meinem Netz allen Computern Zugriff erlaubt, die eine IP-Adresse zwischen 192.168.15.1 und 192.168.15.255 haben. WICHTIG: Finger weg von Einstellungen, die externen Zugriff von fremden Netzen ("The World") erlauben.
Ein allerletzter Hinweis:
Das Ganze funktioniert allerdings nur, wenn zumindest der Server IMMER die gleiche IP hat, oder ihr einen DNS-Service betreibt. Weil nur so gewährleistet werden kann, dass ihr den nun aktivierten VLC-HTTP-Service auf dem Server auch erreichen könnt. Hierzu kann ich nichts schreiben, weil die Meisten den DHCP-Server ihrer Router nutzen oder gar noch andere Softwarelösungen im Einsatz haben, deren Einstellmöglichkeiten sich doch stark unterscheiden. Bei meinem NETGEAR war es kein Problem, die Adresse 192.168.15.4 für meinen Server zu reservieren....
Und los gehts
So, wenn ihr nun auf einem freigegebenen Client die IP-Adresse Eures Servers, gefolgt von ":8080" eingebt, gelangt ihr auf ein Webinterface, wo ihr Musik und/oder Filmdateien öffnen und LOKAL wiedergeben lönnt. Das Ganze, ohne sich mit zusätzlicher Software, Audio/Viedeotreiber-Fallen und irgendwelchen Streamingboxen herumschlagen zu müssen. In meinem Beispiel kann ich also via http://192.168.15.4:8080 die MP3´s wiedergeben, die ich auf meinem Server horte - und dies direkt auf meiner teuren Anlage. Alle Streaminglösungen funktionieren übrigens uneingeschränkt weiter....
Das Webinterface ist nicht sonderlich hübsch und beim "Datei öffen"-Dialog hängts manchmal ein wenig. Wer Luste hat, kann sich die Oberfläche allerdings komplett selbst anpassen....aber das ist ein Thema für einen anderen Thread!
Das alles ist jetzt nichts besonderes, aber vieleicht sucht ja noch Jemand eine solche Lösung!