Java PS3 Media Server 1.11 – Einbindung unbekannter Streaming Clients

Der PMS unterstützt in der aktuellen Version 1.11 standardmässig die PS3, XBOX360 und PocornHour als Streaming-Clients. Neu ist jedoch, dass die Konfiguration dieser sog. Media-Renderer in eigene Konfigurationsdateien ausgelagert wurde. Damit ist es zum einen möglich best. Voreinstellungen abhängig vom Endgerät zu definieren. Zum anderen kann man aber auch ziemlich einfach neue Endgeräte dem PMS bekanntmachen.

Download PMS 1.11beta:

Beispiel: Sony Bravia TVs, aktuelle 5er Serie

Die aktuelle 5er Sony TV-Serie (Bravia Engine 3), z.B. Sony KDL46W5500, unterstützt per DLNA Audio (MP3), Bilder (JPG) und Video (MPG2, HDV und AVCHD). Dementsprechend müsste PMS diese Geräte per Transcoding mit Daten versorgen können. Getestet habe ich das allerdings noch nicht.

Einrichtung

Zunächst unter C:\Programme\PS3 Media Server\renderers  die Datei ps3.conf nach bravia.conf kopieren. Danach folgendermaßen anpassen:

#————————————————————
# ps3mediaserver profile for Sony Bravia TV
# DO NOT MODIFY THIS (OR AT YOUR OWN RISK)

#————————————————————
# General informations / detection

RendererName=Sony Bravia TV
RendererIcon=unknown.png

#UserAgent: regular expression to detect the connected renderer
UserAgentSearch=BRAVIA

#UserAgentAdditionalHeaders: additional http header for better detection
UserAgentAdditionalHeader=X-AV-Client-Info
UserAgentAdditionalHeaderSearch=BRAVIA

#Basic capabilities
# Bravia 4 Video=false, Bravia 5 Video=true
Video=true
Audio=true
Image=true

#————————————————————
# DLNA settings

#Use the DLNA feature seek by time and not by range
#SeekByTime=true
SeekByTime=false

#————————————————————
# Transcoding/Muxing capabilities
#

#Transcode codecs for video and audio engines
#currently supported: MPEGAC3 or WMV for video, PCM or MP3 for audio
TranscodeVideo=MPEGAC3
TranscodeAudio=PCM

#Use default DVD buffer size: false = greater bitrate and faster encoding,
#but can generate incompatible videos, depends of your media renderer
#DefaultVBVBufSize=false
DefaultVBVBufSize=true

#Muxing capabilities: Does the media renderer supports H264 and MPEG2 in a mpegts file ?
#MuxH264ToMpegTS=true
MuxH264ToMpegTS=false

#Does the media renderer supports DTS in a mpeg file ?
MuxDTSToMpeg=false

#Does the media renderer supports DTS wrapped into LPCM in a mpeg file ?
#WrapDTSIntoPCM=true
WrapDTSIntoPCM=false

#Does the media renderer supports LPCM in a mpeg file ?
#MuxLPCMToMpeg=true
MuxLPCMToMpeg=false

#Maximum bitrate supported by the media renderer (0=unlimited)
MaxVideoBitrateMbps=0

#Max Width and Height supported by the media renderer (0=unlimited)
MaxVideoWidth=0
MaxVideoHeight=0

#————————————————————
# Misc Files

# Mime types transforms (oldmime=newmime|olemime2=newmime2|…)
#MimeTypeChanges=video/avi=video/x-divx

# Extensions management: no need to put something here, as the server’s default configuration is tuned for ps3
# What extensions are forcefully transcoded
TranscodeExtensions=wav,mpg,mpeg,mpe,ts,tp,m2t,m2ts,m2p,mts,vob,gif,tif,tiff,png,bmp,
wma,mkv,hdmov,hdm,flac,fla,dts,ogg,asf,asx,m2v
# What extensions are forcefully streamd as is (and not transcoded)
StreamExtensions=

technischer Hintergrund

Im debug.log unter C:\Programme\PS3 Media Server sollte man eine Meldung des Streaming Clients per UPNP sehen.

Hier 2 Beispiele von Sony Bravia TVs, wie sie per Google gefunden werden können:

X-AV-Client-Info: av=5.0; cn="Sony Corporation"; mn="BRAVIA KDL-40W4500/47  "; mv="1.7";
X-AV-Client-Info: av=5.0; cn="Sony Corporation"; mn="BRAVIA KDL-37V5500     "; mv="1.7";

Demnach ist “mn” die Bezeichnung des Geräts. Vereinfacht kann man auch sagen, dass alle Sony Bravia TVs mit dem Suchstring BRAVIA identifiziert werden können. Entsprechend inst der erste Teil der Konfiguration anzupassen.

Danach stellt man ein, dass Audio, Video und Bilder unterstützt werden (die 4er Serie unterstützt keine Videos).

In den transcoding/muxing capabilities wird hinterlegt in welchem Video/Audio-Format transkodierteaudio- und  Videodateien gestreamt werden. Ich konnte es mangels passendem TV noch nicht live testen, ob die gewählten Einstellungen vom TV verarbeitet werden können. Ebenfalls wird das Muxing eingestellt, wobei die 5er Bravia weder h.264 noch DTS beherrscht, deshalb ist das alles deaktiviert.

Zum schluß werden noch die Dateitypen aufgeführt, bei denen das Transcoding erzwungen wird (weil der TV das nicht direkt abspielen kann).

P.S.

Ich freue mich über Feedback zu diesem Thema. PMS hat hier wieder ein Feature integriert, dass die Konkurrenz so noch nicht vorweisen kann.

Update 1

Scheinbar wird nach obiger Anleitung PMS zwar von Sny Bravia TVs erkannt. Das Durchsuchen von Ordnern funktioniert so weit, das Abspielen aber nicht. Shagrath der Entwickler hat bestätigt, dass PMS noch nicht 100%ig DLNA 1.0-kompatibel ist. Wer sich für das Einbinden von Streaming clients interessiert sollte den Thread im PMS-Forum verfolgen, den ich kürzlich gestartet habe. Aktuell werden div. TV-Modelle mit integriertem Streaming client untersucht.

Wer etwas beitragen möchte sollte einen Wireshark-Trace der Kommunikation des Streaming clients mit PMS durchführen. Falls der Streaming client mit anderer Software wie TVersity, Nero Media, etc. erfolgreich läuft bitte auch davon einen Wireshark-Trace anfertigen. Genaueres dazu im Forum…

Update 2

Seit 08.06.09 gibt es nun rudimentären Support für Sony Bravia TVs im PMS 1.20 rev341. DLNA reverse engineering machts möglich…

Dieser Beitrag wurde unter Media Server abgelegt und mit , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

7 Antworten auf Java PS3 Media Server 1.11 – Einbindung unbekannter Streaming Clients

  1. Chris sagt:

    Hallo. Ich habe Deine Datei gerade getestet (Sony KDL-40E5520). Der Renderer wird von der Software erkannt, aber leider meldet der Fernseher, dass der PMS den Fernseher nicht unterstützt. Basierend auf den Erfahrungen mit anderen Media Servern könnte es evtl. sein, dass PMS kein DLNA 1.0 unterstützt? Hast Du eine Idee, woran man evtl. drehen könnte?

  2. otmanix sagt:

    Was steht denn im Karteireiter Log und im debug.log unter C:\Programme\PS3 Media Server? Tauchen hier Fehlermeldungen auf?

  3. Chris sagt:

    Im Karteireiter ist nichts Auffälliges. Anbei ein Auszug aus der debug.log (das wiederholt sich einige Male):

    [Thread-12] INFO 21:12:22.310 Sending ALIVE…
    [Thread-12] DEBUG 21:12:22.310 Setting multicast network interface: name:eth1 (Dell Wireless 1390 WLAN Mini-Card – Packet Scheduler Miniport) index: 5 addresses:
    /10.5.1.21;

    [Thread-12] DEBUG 21:12:22.310 Sending message from multicast socket on network interface: name:eth1 (Dell Wireless 1390 WLAN Mini-Card – Packet Scheduler Miniport) index: 5 addresses:
    /10.5.1.21;

    [Thread-12] DEBUG 21:12:22.310 Multicast socket is on interface: /10.5.1.21
    [Thread-12] DEBUG 21:12:22.310 Socket Timeout: 0
    [Thread-12] DEBUG 21:12:22.310 Socket TTL: 32
    [Thread-13] DEBUG 21:12:22.310 Receiving a NOTIFY from [10.5.1.21:2682]
    [Thread-13] DEBUG 21:12:23.076 Receiving a NOTIFY from [10.5.1.21:2682]
    [Thread-13] DEBUG 21:12:23.294 Receiving a NOTIFY from [10.5.1.21:2682]
    [Thread-13] DEBUG 21:12:23.451 Receiving a NOTIFY from [10.5.1.21:2682]
    [Thread-13] DEBUG 21:12:23.826 Receiving a NOTIFY from [10.5.1.21:2682]
    [Thread-99] DEBUG 21:12:23.841 Opened handler on socket Socket[addr=/10.5.1.37,port=61976,localport=5001]
    [Thread-99] DEBUG 21:12:23.841 Received on socket: GET /description/fetch HTTP/1.1
    [Thread-99] DEBUG 21:12:23.841 Received on socket: Host: 10.5.1.21:5001
    [Thread-99] DEBUG 21:12:23.841 Received on socket: Date: Tue, 05 May 2009 19:12:21 GMT
    [Thread-99] DEBUG 21:12:23.841 Received on socket: User-Agent: UPnP/1.0
    [Thread-99] DEBUG 21:12:23.841 Received on socket: X-AV-Physical-Unit-Info: pa=”BRAVIA KDL-40E5520 “;
    [Thread-99] DEBUG 21:12:23.841 Received on socket: X-AV-Client-Info: av=5.0; cn=”Sony Corporation”; mn=”BRAVIA KDL-40E5520 “; mv=”1.7″;
    [Thread-99] INFO 21:12:23.841 HTTP: description/fetch / 0-0
    [Thread-99] DEBUG 21:12:23.841 Wrote on socket: HTTP/1.1 200 OK
    [Thread-99] DEBUG 21:12:23.841 Wrote on socket: Content-Type: text/xml
    [Thread-99] DEBUG 21:12:23.841 Wrote on socket: Cache-Control: no-cache
    [Thread-99] DEBUG 21:12:23.841 Wrote on socket: Expires: 0
    [Thread-99] DEBUG 21:12:23.841 Wrote on socket: Accept-Ranges: bytes
    [Thread-99] DEBUG 21:12:23.841 Wrote on socket: Connection: keep-alive
    [Thread-99] DEBUG 21:12:23.841 Wrote on socket: Server: Windows_XP-x86-5.1, UPnP/1.0, PMS/1.11
    [Thread-99] DEBUG 21:12:23.841 Available Content-Length: 1785
    [Thread-99] DEBUG 21:12:23.841 Wrote on socket: Content-Length: 1785
    [Thread-99] DEBUG 21:12:23.841 Wrote on socket:
    [Thread-99] DEBUG 21:12:23.841 Sending stream: 1785 bytes of description/fetch
    [Thread-99] DEBUG 21:12:23.841 Close Connection
    [Thread-100] DEBUG 21:12:23.919 Opened handler on socket Socket[addr=/10.5.1.37,port=61977,localport=5001]
    [Thread-100] DEBUG 21:12:23.919 Received on socket: GET /UPnP_AV_ContentDirectory_1.0.xml HTTP/1.1
    [Thread-100] DEBUG 21:12:23.919 Received on socket: Host: 10.5.1.21:5001
    [Thread-100] DEBUG 21:12:23.919 Received on socket: Date: Tue, 05 May 2009 19:12:22 GMT
    [Thread-100] DEBUG 21:12:23.919 Received on socket: User-Agent: UPnP/1.0
    [Thread-100] DEBUG 21:12:23.919 Received on socket: X-AV-Physical-Unit-Info: pa=”BRAVIA KDL-40E5520 “;
    [Thread-100] DEBUG 21:12:23.919 Received on socket: X-AV-Client-Info: av=5.0; cn=”Sony Corporation”; mn=”BRAVIA KDL-40E5520 “; mv=”1.7″;
    [Thread-100] INFO 21:12:23.919 HTTP: UPnP_AV_ContentDirectory_1.0.xml / 0-0
    [Thread-100] DEBUG 21:12:23.919 Wrote on socket: HTTP/1.1 200 OK
    [Thread-100] DEBUG 21:12:23.919 Wrote on socket: Content-Type: text/xml
    [Thread-100] DEBUG 21:12:23.919 Wrote on socket: Cache-Control: no-cache
    [Thread-100] DEBUG 21:12:23.919 Wrote on socket: Expires: 0
    [Thread-100] DEBUG 21:12:23.919 Wrote on socket: Accept-Ranges: bytes
    [Thread-100] DEBUG 21:12:23.919 Wrote on socket: Connection: keep-alive
    [Thread-100] DEBUG 21:12:23.919 Wrote on socket: Server: Windows_XP-x86-5.1, UPnP/1.0, PMS/1.11
    [Thread-100] DEBUG 21:12:23.919 Available Content-Length: 6132
    [Thread-100] DEBUG 21:12:23.919 Wrote on socket: Content-Length: 6132
    [Thread-100] DEBUG 21:12:23.919 Wrote on socket:
    [Thread-100] DEBUG 21:12:23.919 Sending stream: 6132 bytes of UPnP_AV_ContentDirectory_1.0.xml
    [Thread-100] DEBUG 21:12:23.919 Close Connection

    Irgendwie kann der Sony mit dem PMS keine Verbindung eingehen… Kann man in der bravia.conf hinsichtlich DLNA noch andere Parameter festlegen?

  4. drewy sagt:

    I have the same’ish issue with a bravia 32w5500. All I get in the debug.log is:

    [Thread-53] DEBUG 20:24:41.625 Opened handler on socket Socket[addr=/192.168.0.117,port=61140,localport=5001]
    [Thread-53] DEBUG 20:24:41.625 Received on socket: GET /description/fetch HTTP/1.1
    [Thread-53] DEBUG 20:24:41.625 Received on socket: Host: 192.168.0.105:5001
    [Thread-53] DEBUG 20:24:41.625 Received on socket: Date: Tue, 05 May 2009 19:24:45 GMT
    [Thread-53] DEBUG 20:24:41.625 Received on socket: User-Agent: UPnP/1.0
    [Thread-53] DEBUG 20:24:41.625 Received on socket: X-AV-Physical-Unit-Info: pa=”BRAVIA KDL-32W5500 “;
    [Thread-53] DEBUG 20:24:41.625 Received on socket: X-AV-Client-Info: av=5.0; cn=”Sony Corporation”; mn=”BRAVIA KDL-32W5500 “; mv=”1.7″;

  5. otmanix sagt:

    @chris:
    Hallo, in der *.conf-datei kann man nur Parameter bzg. Medienkompatibilität angeben, nichts aber zu DLNA. Ich empfehl dir mal die genaue Fehlermeldung am TV und die komplette debug.log als Anhang im PMS-Forum zu posten. Ich habe da schon einen Thread am laufen, an dem auch shagrath der Entwickler von PMS mitliest: http://ps3mediaserver.org/forum/viewtopic.php?f=2&t=2099&start=0

  6. otmanix sagt:

    @drewy:
    Hi, I suggest to post your exact error message as listed on your Bravia TV and the complete debug.log (in folder C:\Program files\PS3 Media Server on WinXP) as attachment in the following thread in PMS forum: http://ps3mediaserver.org/forum/viewtopic.php?f=2&t=2099&start=0
    Shagrath, the developer of PMS, is already reading this thread. I’m no DLNA guru but Shagrath may find a solution if you provide him enough infos to solve the problem.

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>