ACHTUNG: neues Howto Java PS3 Media Server für dummies in diesem Blog veröffentlicht!!!
Mitte Januar machte mich Blogleser Querdenker auf den PS3 Media Server aufmerksam. Ein erster Test zeigte recht schnell, dass diese Streaming Server Software mit integrierter Transcoding-Funktion optimal auf die Sony Playstation 3 abgestimmt ist. Mein bisheriger Favorit Mediatomb war zwar etwas vielseitiger begabt und bot mehr Möglichkeiten selbst Hand anzulegen, zog aber den Kürzeren in Sachen Usability und Optimierung hinsichtlich PS3. Da vor kurzem die Version 1.03 erschien nutze ich nun die Gelegenheit ein deutsches Howto für die Einrichtung des PS3 Media Server bereitzustellen. Der Einsatz und die Konfiguration der hier vorgestellten Tools hat bei mir wunderbar geklappt. Wie bei jeder Software lauern aber auch hier Fallstricke, die bedacht werden müssen. Prinzipiell sollte diese Anleitung auch für Windows Vista tauglich sein, was aber von mir mangels PC mit Vista nicht geprüft wurde.
Voraussetzungen für den Einsatz von PS3 Media Server auf Windows XP
Um den vollen Leistungsumfang von PS3 Media Server nutzen zu können benötigt man einen aktuellen Intel- oder AMD-Dualcore-Prozessor (Intel Core2 Duo, AMD Athlon 64 X2 oder schnellere CPU) und mindestens 500MB freien Arbeitsspeicher (RAM). Die Netzwerkverbindung zur Playstation 3 läuft optimal per Kabel (Cat5e) mit 100Mbit/s oder besser 1Gbit/s. Während des Streamings sollte der PC nicht unnötog belastet werden.
Mit geringeren Hardwareresourcen (CPU, RAM,niedrige Netzwerkbandbreite) kann es bei der Wiedergabe von HD-Videos zu Rucklern kommen, ebenso zu Zeitversatz von Bild und Ton.
Die PS3 hat eine Wireless LAN Netzwerkkarte mit 54Mbit/s integriert. Darüber ist die Wiedergabe von hochaufgelöstem Videomaterial nicht fehlerfrei möglich. Es gibt allerdings die Möglichkeit die Qualität der Videos herunterzurechnen bzw. die zur Verfügung stehende Netzwerkbandbreite zu limitieren um bei geringen Engpässen noch zu optimieren. Dies verursacht aber durch zusätzlich notwendige Berechnungen weitere CPU-Last. Eine sehr schnelle CPU kann also ggf. auch 1080p-HD-Videos mit verminderter Qualität per 100MBit/s streamen. Es sollten weitere Aktivitäten im Netzwerk zum Zeitpunkt des Streamens vermieden werden, insbesondere bei WLAN, da dies ein geshartes Medium ist.
Für das Streamen von Webinhalten (Shoutcast, Podcast, Webcast, Youtube) sollten mindestens 2MBit/s Richtung Internet bereitstehen.
Installation und Grundkonfiguration
Netzwerkkonfiguration
Das einfachste und zuverlässigste Setup sieht so aus: PC und PS3 hängen an einem DSL-Router mit integriertem Switch. Falls der Router nur einen LAN-Port besitzt ist ein zusätzlicher LAN-Switch nötig. An dem werden PS3 und PC angeschlossen werden und dessen Uplink-Port wird mit dem LAN-Port des Routers verbunden. Der Router enthält i.d.R. einen integrierten DHCP-Server, der dem PC und der PS3 automatisch jeweils eine eindeutige IP-Adresse im selben Subnetz zuweist. Dabei weist sich der Router selbst als Default-Gateway und DNS-Server aus (für Zugriffe ins Internet notwendig).
Probleme können auftreten, wenn die automatische Konfiguration der Netzwerkkarte im PC oder der PS3 am Switchport fehlschlägt. D.h. beim Autonegotiation wurde die Netzwerkgeschwindigkeit (10/100/1000 MBit/s) und der Duplexmodus (Halb- oder Vollduplex) nicht korrekt ausgehandelt. In diesem Fall bekommt die Netzwerkkarte entweder gar keinen Link oder es kommt zu Performanceengpässen. Das kann durch manuelle Einstellung der zuvor genannten Parameter (link speed, duplex mode) in der Netzwerkkartenkonfiguration am PC oder der PS3 behoben werden. Bei mir wollte z.B. der LAN-Port der PS3 nur bei 100MBit/s halbduplex mit dem DLink LAN-Switch zusammenarbeiten.
Die zweite Variante besteht darin, dass die PS3 und ggf. auch der PC per WLAN mit dem Router (oder einem Acceesspoint) verbunden sind. Die IP-Konfiguration wird auch hier per DHCP automatisch erledigt. Die PS3 hat eine integrierte Wireless LAN Netzwerkkarte mit dem Standard 802.11 b/g mit bis zu 54MBit/s. Die Geschwindigkeit wird durch räumliche Gegebenheiten und frei verfügbare Funkkanäle negativ beeinflusst. Es reicht für das Streamen von HD-Videos nicht aus.
Die manuelle Einstellung von IP-Adresse, Subnetzmaske, Default-Gateway und DNS-Server sollte nur durchführen wer auch die Bedeutung der Werte versteht…
Für das Streamen von HD-Videos gilt folgende Faustregel: 1080p läuft mit 1GBit/s, 720p mit 100MBit/s bei Dualcore-CPU >= 2,4GHz
SSDP-Suchdienst
Zunächst einmal muss geprüft werden ob ein best. Windows-Dienst für die Erkennung von UPnP-Geräten im Netz läuft. Dazu rechte MT auf “Arbeitsplatz > Verwalten > Dienste und Anwendungen > Dienste > SSDP-Suchdienst”. Der Status muss auf “gestartet” stehen. Falls noch nicht aktiv, rechte MT > “Starten” und per Doppelklick den “Starttyp” auf automatisch stellen.
Mediainfo (optional)
Die Software Mediainfo gibt Auskunft, welches Containerformat und welcher Audio-/Videocodec in einer Multimedia-Datei zur Erstellung derselben verwendet wurden. Zum Eingrenzen von Performance- oder Abspielproblemen ist das ein unverzichtbares Hilfsmittel.
VLC (optional)
Der Player VLC von Videolan wird in erster Linie für das Streamen von Webinhalten benötigt, also z.B. für das Anzeigen von Youtube-Videos auf der PS3.
Codec-Sammlung (optional, bedingt Avisynth)
Falls noch nicht verhanden sollte eine geeignete Codec-Sammlung installiert werden. Ich empfehle dazu das K-Lite Mega Codec Pack, das alle relevanten Codecs und Tools zu deren Konfiguration enthält, z.B. ffdshow und Haali Media Splitter. Das Code Pack kann in unterschiedlichen vordefinierten Varianten oder benutzerdefiniert installiert werden. Ich empfehle das Profile 8 (lots of stuff without Player) und als Standard-Player am PC dazu den Windows Media Player 11. Alternativ kann natürlich auch das Profile mit dem mitgelieferten sehr guten Player benutzt werden.
Videobearbeitungstool Avisynth (optional, bedingt Codec-Sammlung)
Als Ergänzung fehlt dann noch die Software Avisynth (>= 2.5) und der das dazugehörige Plugin VSFilter. Die vsfilter.dll (Unicode) muss dann in das Plugin-Verzeichnis von Avisynth kopiert werden (C:\Programme\AviSynth 2.5\plugins).
Grundkonfiguration der Tools (optional, bedingt Codec-Sammlung und Avisynth)
Hierbei geht es um die Konfiguration von Untertiteln und des Lautsprechersetups.
Dazu im Startmenü unter “Programme > K-Lite Codec Pack > Configuration > ffdshow audio decoder” aufrufen. Im Menü “Mixer” muss das Lautsprechersetup konfiguriert werden. Um 5.1 Surround Sound (Lautsprecher: 4x Surround, 1x Center, 1x Subwoofer) auf der PS3 zu nutzen muss “3/0/2 – 5 channels” eingestellt werden.
Anschließend ist noch im Startmenü unter “Programme > K-Lite Codec Pack > Configuration >Haali Media Splitter” den Karteireiter “Options” aufzurufen. Dort im Menü “languages” ist folgendes einzustellen:
Audio language priority: ger,eng
Subtitle language priority: ger,eng
audio and subtitle languages: ger,off;eng,ger;*,ger;*,eng
Trackset languages: ger,eng
Die o.g. Einstellungen bewirken, daß standardmäßig Deutsch ohne Untertitel, alternativ Englisch mit deutschen Untertiteln, usw. bei der Verwendung von Avisynth als Transcoding-engine abgespielt wird.
Im Menü Compatibility den Wert für “autoload VSFilter” auf “Yes” setzen.
Java
Der PS3 Media Server wurde mit der Programmiersprache Java entwickelt und benötigt zum Betrieb deshalb Java2 Runtime >= 1.6, als aktuell JRE 6 Update 11.
PS3 Media Server Installation
Nach Installation aller Voraussetzungen kann nun der Java PS3 Media Server, aktuell in der Version 1.03 verfügbar, installiert werden. Der PMS wird per Default im Verzeichnis C:\Programme\PS3 Media Server installiert. Dort werden auch die Konfigurationsdateien web.conf und pms.conf gespeichert. Diese können mit einem Editor wie PSPad (optional) komfortabel bearbeitet werden.
PS3 Media Server Konfiguration
Installation als Windows-Dienst
PMS kann als Windows-Dienst installiert werden und läuft damit automatisch nach dem Start von Windows im Hintergrund. Wer unter Windows die Personal Firewall aktiv hat muss ggf. die Datei C:\Programme\PS3 Media Server\win32\service\wrapper.exe zu den Ausnahmen hinzufügen. Die Installation als Dienst erfolgt in PMS im Karteireiter “General Configuration” durch Drücken von “Installation as a windows service”.
Verschiedene PMS-User berichten über Probleme bei der Einrichtung als Dienst – ich habe es selbst noch nicht getestet. Zum Teil liegt das auch noch an einem Bug bei der Benutzung von Windows Vista in Kombination mit dessen Benutzerkontensteuerung. Als Workaround kann man PMS natürlich auch im Autostart-Ordner des Startmenüs hinterlegen und somit im Vordergrund laufen lassen.
Netzwerk
Falls im PC mehr als eine Netzwerkkarte aktiv ist muss die Karte, die PMS nutzen soll, im Karteireiter “General Configuration” unter “Force networking on interface” ausgewählt werden. Dies kann der Fall sein wenn man ein Notebook benutzt, was i.d.R. mit LAN und WLAN ausgestattet ist. Außerdem installieren Virtualisierungsprogramme wie VMware oder Virtualbox sog. virtuelle Netzwerkkarten. Falls PMS die falsche Netzwerkkarte für den Broadcast benutzt wird PMS von der PS3 nicht entdeckt.
Karteireiter “Navigation/Share Settings”
Setzt man den Haken bei “Thumbnails generation” werden beim Browsen von Ordnern on the fly Vorschaubilder für die Mediendateien generiert. Das sieht gut aus, kostet aber Zeit.
“Browse … archives” ermöglicht die Navigation in komprimierten zip- und rar-Archiven.
Unter “Shared folders” kann man mit dem grünen + Symbol Ordner am PC hinzufügen, die Mediendateien enthalten (Audio, Video, Bilder) und die der PS3 zur Verfügung gestellt werden. Dies sollte aus Sicherheitsgründen unbedingt durchgeführt werden, da per default alle Ordner des PCs bereitgestellt werden.
“Enable media library” stellt eine leere Datenbank bereit in der Tags von Mediendateien gesammelt werden (MP3-Dateien können z.B. Angaben zum Interpret, Album, Titel, etc. enthalten). Diese Daten werden dann genutzt um auf der PS3 neben der Navigation durch Ordner auf der PC-Festplatte auch die Navigation per Tags zu ermöglichen. D.h. man kann z.B. alle Audio-Dateien nach Genre oder Interpret durchforsten. Die Datenbank wird durch das Drücken des Lupe-Symbols erstellt und kann je nach Anzahl der zu durchsuchenden Dateien auch etwas Zeit in Anspruch nehmen. Durchsucht werden alle zuvor eingestellten Verzeichnisse unter “shared folders”.
Transcoding settings
Wenn wie zuvor beschrieben Avisynth+Codecs und VLC installiert wurden kann man nun die rot markierten Transcoding Engines im linken Menü durch Markieren und Drücken des Stromstecker-Symbols aktivieren. Damit stehen alle Transcoding-Varianten bereit. Avisynth+Mencoder ist die bevorzugte Streaming Engine für HD Videos.
Menü Common Transcoding Settings
“Transcode buffer max. size” gibt an wie viel Platz auf der Festplatte PMS temporär für das Transcoding benutzen darf, maximal sind das 600MB.
Bei “Number of cores” stellt man die Anzahl der real vorhandenen CPU-Kerne ein. Beim Intel Core 2 Duo und AMD Athlon64 X2 sind das 2.
“Number of Audio channels” beschreibt das Lautsprecher-Setup, d.h. man muss “6 channels 5.1″ für 5.1 Surround Sound einstellen.
“AC3 Audio Bitrate” gibt die Qualität des digitalen Audiosignals für die PS3 an.
Unter “Video quality settings” kann man die Qualität des Videobildes einstellen. Hierfür sind 2 Parameter vorgesehen:
“Maximum bandwith” gibt an welche Netzwerkbandbreite maximal von PMS für den Stream zur PS3 genutzt werden darf. Der Default -Wert “0″ sagt aus, dass es keine Limitierung gibt. Das ist für >= 100MBit/s per Kabel sinnvoll. Für WLAN kann man den Wert an den eigenen Bedarf anpassen. Der Haken dabei: PMS braucht zusätzliche CPU-Leistung um bei Bedarf die Qualität der Mediendateien beim Streaming bei Bedarf herunterzurechnen. Bei HD-Videos sollte man dann schon eine CPU >= 3GHz haben. Diese Einstellung wirkt nur für die engines MEncoder und Avisynth/MEncoder.
Mit “MPEG 2 video quality settings” kann man die Qualität beim Transcoding beeinflussen. Je höher die Qualität, desto mehr Netzwerkverkehr wird erzeugt. “keyint=1:vqscale=1:vqmin=2″ hat sich bei mir im LAN bewährt. Im Drop Down Menü finden weitere Werte und Empfehlungen. Je höher die Werte für vqscale und vqmin desto schlechter wird die Videoqualität.
Menü Video files engines – MEncoder
Der “Enhanced multicore support” ist noch eher experimentell und hat bei mir nach kurzer Abspielzeit von Videos zum “Einfrieren” des Betriebssystems geführt. Deshalb empfehle ich das vorerst noch aus zu lassen.
Audio language priority: ger,eng
Subtitles language priority: ger,eng
Audio/subtitles languagge prority: de,off;ger,off;en,de;eng,ger;en,en;eng,eng;en,off;eng,off;*,off
Die o.g. Einstellungen bewirken, daß standardmäßig Deutsch ohne Untertitel, alternativ Englisch mit deutschen Untertiteln, usw. bei der Verwendung von MEncoder als Transcoding-engine abgespielt wird.
Subtitles codepage: cp1252
Menü Video files engines – Avisynth/ffmpeg
Bei Encoder settings bitte “-g 1 -qscale 1 -qmin 2 -maxrate 50M -bufsize 5M” angeben.
Der Parameter “maxrate” gibt die Möglichkeit eine Bandbreitenbeschränkung in MBit/s einzustellen. Je höher die Werte für qscale und qmin desto schlechter wird die Videoqualität.
Weitere Einstellungen
Alle weiteren Einstellungen habe ich auf den Standardwerten belassen. Nach Fertigstellung aller o.g. Aktionen PMS neu starten.
Bedienung von PMS auf der PS3
Transcoding
Beim Browsen durch die Ordner werden die Mediendateien (mit Vorschaubild) aufgelistet. Alle avi, mpg, mp3, wma und wav Dateien werden ohne Transcoding direkt an die PS3 gestreamt. Für alle anderen Dateitypen wird die Default-streaming-engine verwendet. Sollte das Abspielen misslingen kann im virtuellen Unterordner #- Transcoded -# die gewünschte Datei zunächst ausgewählt werden und danach die zu verwendende streaming-engine bestimmt werden. Per try and error kann man nun feststellen, ob PMS in der Lage ist mit Hilfe einer der Engines das Material an die PS3 zu streamen.
Web-Streaming
PMS kann als Streaming Client genutzt werden, der wiederum den Stream aus dem Internet an die PS3 weitergibt. Auf diese Weise kann man Youtube-Videos oder Radiosender der PS3 bereitstellen. Die Konfiguration der Web-Inhalte erfolgt in der Datei web.conf, die zur Zeit noch manuell editiert werden muss. Bei Änderungen an der Datei muss PMS durchgestartet werden. Die Inhalte werden dann auf der PS3 im vituellen Ordner “Web” bereitgestellt. Hier meine Beispiel-web.conf zum Dowload: web.conf fuer ps3 media server Nach dem Download nach C:\Programme\PS3 Media Server kopieren und zu web.conf umbennen. Die vorhandene web.conf-Datei bitte zuvor Umbenennen oder Löschen…
Media library
Die Mediendatenbank wird über den virtuellen Ordner #- Media library -# bereitgestellt. Dort kann man dann Bilder sortiert nach Datum, Musik nach Interpret oder Genre, usw. durchsuchen.
Vorlauf / Rücklauf / Pause bei Videos
Das Vor- und Zurückspulen in höheren Geschwindigkeiten ist noch verbesserungsfähig. Zuverlässig funktioniert die “gehe zu” Funktion mit der man angibt, zu welcher Abspielzeit man springen will. Im Gegensatz zu Mediatomb funktioniert bei PMS die Pause-Funktion bei transkodierten Videos.
Stresstest
Um PMS und das Netzwerk auf max. Last zu testen empfehle ich den kostenlosen, legalen Download des Bick buck bunny-Videos. Das Video liegt in unterschiedlichen HD-Auflösungen mit bis zu 1080p in unterschiedlichen Formaten vor, z.B. Apple Quicktime MPEG-4 Container mit AVC-Video- und AAC-Audiocodec.
Als Faustregel gilt: Falls das Netzwerk nicht der limitierende Faktor ist darf die CPU höchstens zu 60% beim “normalen Abspielen” des Videos im Windows Media Player ausgelastet sein, damit die Leistung für das Transcoding mit ruckelfreiem Bild reicht. Wird versucht bei knapper Netzwerkbandbreite an den Stellschrauben für die Videoqualität oder Bandbreitenbeschränkung zu drehen muss die CPU noch weitere Reserven bereithalten.
Weiterführende Themen
Weiterführende Themen und Hilfestellungen zu häufigen Problemsituationen kann man im PMS im Karteireiter Readme sowie FAQ/Help nachlesen. Dort wird z.B. die Priorisierungen der Streamings engines und Einstellung benutzerdefinierter thumbnails besprochen. Darüber hinaus ist das PMS Forum eine weitere Anlaufstelle für Fragen. Im Bereich “issues” kann man die aktuell gemeldeten Probleme und deren Bearbeitungsstatus nachlesen.
Beta- bzw. Testversionen
Neueste Testversionen werden nicht als “nightly builds” o.ä. angeboten. Allerdings kann man sich die neueste Beta ohne großen Aufwand selber bauen. Wie das geht habe ich in einem nachfolgenden Artikel “PMS Build how to” beschrieben. So kommt man in den Genuss von Bugfixes, neuer Funktionalität und neuer Bugs
Update
Ich habe die deutsche Übersetzung des PMS zwischenzeitlich aktualisiert, was in der aktuellen Betaversion auch schon integriert ist. Hier wurde u.a. das Feature hinzugefügt, dass HD-Filme, falls von der PS3 direkt abspielbar, nicht mehr transkodiert werden. Es gibt eine Erkennung für div. Containerformate, u.a. mkv. Wer die neueste BETAVERSION testen will kann sich diese als Download in diesem Blog besorgen. Dazu einfach die Artikel in diesem Blog mit dem tag “ps3mediaserver” ansehen. Sie werden unregelmäßig aktualisiert. Weitere Infos zur Reduzierung der notwendigen CPU-Leistung und Updates zum PMS finden ebenfalls im Blog. Ein Durchblättern der Artikel lohnt sich, wenn man PMS ausreizen/optimieren möchte
Screenshots und Fotos
Videos
PMS Ordner-Navigation
PMS Transcoding Engines
PMS Webcasts, Youtube
PMS DVD-Navigation (iso-image)
P.S.
Die Videos sind bei Einhand-Bedienung des Joypads enstanden, da in der anderen Hand die Uralt-Handy-Kamera filmte. Als bitte keine schlauen Kommentare…