I’m using my Synology DS214play NAS for storing all my family pictures and videos on it. Therefore, I’m using the Synology Photo Station application on the NAS. It is a great app for organizing all my photos and videos – especially the wide platform support including apps for iOS, Android, Windows, Mac OS X and also a browser based web client is something I really love.
Being an IT guy, I found some major problems regarding Synology Photo Station that I’m willing to investigate and maybe fix them. First issue in this blog series:
Inside the DS Photo+ app, you can view a photo and also mirror this photo to your TV using DLNA. Unfortunately in my home network it didn’t work as expected. The app is displaying my TV (a Samsung UE46ES8090 model) and the TV automatically switches its input mode but then a message is being displayed saying: “The file format is not supported”.
First thing I did, was using the TV’s built-in DLNA client to access my photos on my Synology NAS and it was working – so the file or the file format was readable / renderable by the TV (the photos are all regular JPEG images).
I set up a network trace on my router / switch to capture all related traffic between iPad (DS Photo+ app), TV and Synology. First thing I acknowledged is that the communication is as follows:
The following SOAP messages are being sent and received inside the above-captured packages:
<?xml version="1.0" encoding="utf-8" standalone="yes"?> <s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Body> <u:SetAVTransportURI xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"> <InstanceID>0</InstanceID> <CurrentURI>http://synology.mydomain.local:80/photo/webapi/thumb.php?api=SYNO.PhotoStation.Thumb&method=get&version=1&id=photo_31393836_313938365f312e6a7067&size=large&PHPSESSID=th0s6u82becglvl6ajljq4l125</CurrentURI> <CurrentURIMetaData><DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dlna="urn:schemas-upnp-org:metadata-1-0/" xmlns:sec="http://www.sec.co.kr/"><item id ="0" parentID="0" restricted="1"><upnp:class>object.item.imageItem</upnp:class><dc:title>1986_1.jpg</dc:title><res protocolInfo="http-get:*:image/jpeg:*">http://synology.mydomain.local:80/photo/webapi/thumb.php?api=SYNO.PhotoStation.Thumb&amp;method=get&amp;version=1&amp;id=photo_31393836_313938365f312e6a7067&amp;size=large&amp;PHPSESSID=th0s6u82becglvl6ajljq4l125</res></item></DIDL-Lite></CurrentURIMetaData> </u:SetAVTransportURI> </s:Body> </s:Envelope>
<?xml version="1.0" encoding="utf-8"?> <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <s:Body> <u:SetAVTransportURIResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"></u:SetAVTransportURIResponse> </s:Body> </s:Envelope>
<?xml version="1.0" encoding="utf-8" standalone="yes"?> <s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Body> <u:Play xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"> <InstanceID>0</InstanceID> <Speed>1</Speed> </u:Play> </s:Body> </s:Envelope>
<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <s:Body> <u:PlayResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"></u:PlayResponse> </s:Body> </s:Envelope>
Now I have a much better understanding of what’s happening when I select the mirror option inside the DS Photo+ app:
The next steps will be: Testing the URL from the Synology and trying to manually push an image URL to the TV using the above SOAP request.
Please share next part of this article. May be we can exchange the knowledge. i was also going through the important HTTP methods exchanged between the TV and Client Before image is shown.