Page 1 of 2

Resume video playback on Samsung TVs

PostPosted: Fri May 21, 2010 5:13 am
by jgdsm
Would it be possible to utilise Samsung's resume functionality (pressing the D-button after starting a video gives a choice between 'play from beginning' and 'resume from last postion') in Serviio as well?

That's about the only thing Samsung's DLNA server 'solution' does right. And a feature I wouldn't like to miss and which - unfortunately - keeps me stuck in Samsung's magic world of software development.

Re: Resume video playback on Samsung TVs

PostPosted: Thu Jun 03, 2010 8:23 pm
by dr4x0n
I second this. I have the UN46B8500 and that would be a great feature.

Josh

Re: Resume video playback on Samsung TVs

PostPosted: Thu Jun 03, 2010 9:26 pm
by zip
Does this wotk on your B series with the Samsung's software? I cannot reproduce this. What is 'D' button?

Re: Resume video playback on Samsung TVs

PostPosted: Fri Jun 04, 2010 3:39 am
by jgdsm
zip wrote:Does this wotk on your B series with the Samsung's software? I cannot reproduce this. What is 'D' button?


It works with my C series and Samsung's software since version 4.1 and did always work with USB media.

The 'D' button is the blue button on the remote. The four coloured buttons are labeled 'A' .. 'D'.

It seems that the TV offers this choice only when it recognises it talks to the Samsung software. It should transparently work with any DLNA server though since the TV/client is responsible for storing last positions and telling the the server to deliver starting from either 0:00:00:00 or somewhere else.

Re: Resume video playback on Samsung TVs

PostPosted: Fri Jun 04, 2010 8:16 am
by zip
I see.. I have B series so it'll be hard to reproduce. I agree they should allow any device do it, as for example XBox does. They have a lot of custom functionality that seems to be only working when you pretend to be Samsung's software but then it expects all of its functions to be there and fails on even browsing content.

Re: Resume video playback on Samsung TVs

PostPosted: Sun Jun 13, 2010 2:48 pm
by romke
Hi. I also own a LE40C650 TV which is really fine. Serviio works fine without any transcoding. I can watch all my shared (dlna) Movies (most of them are MKV). Subtitles are working, too. There are at least only three things which I would may change.

First one is the DLNA Menu which has too much folders.... A request for it is almost done viewtopic.php?f=3&t=204#p1144 .

Second thing is this FastForward thing... I found this information in the twonky forum. Maybe you can use it to implement this feature in future serviio releases.

What we found is this: The TV is not doing a fast forward (in terms of a faster playing video. When you press the ff or rew button on the remote, the TV is just jumping to a different position in the stream. To calculate the offset for the jump, the TV seems to use the playtime of the video file. Twonky currently does not support extracting the playtime from mkv files. To get FF working on the Samsung TVs, we would need to enhance our mkv file scanner.


Last point is resume video playback.

Thank you very much for your great work!

Bye

Re: Resume video playback on Samsung TVs

PostPosted: Sun Jun 13, 2010 2:51 pm
by zip
That might be possible. Create a request on my bitbucket.org page.

BTW, are you saying subtitles (srt) work with C-series Samsung TV? I had reports it's not the case.

Re: Resume video playback on Samsung TVs

PostPosted: Sun Jun 13, 2010 3:36 pm
by romke
I've tested some mkv files with subtitles and I have to correct my last post. Subtitles don't work yet. :( My girlfriend gave me wrong information... I'm sorry.

Re: Resume video playback on Samsung TVs

PostPosted: Thu Nov 18, 2010 12:29 am
by digitalface
romke wrote:
What we found is this: The TV is not doing a fast forward (in terms of a faster playing video. When you press the ff or rew button on the remote, the TV is just jumping to a different position in the stream. To calculate the offset for the jump, the TV seems to use the playtime of the video file. Twonky currently does not support extracting the playtime from mkv files. To get FF working on the Samsung TVs, we would need to enhance our mkv file scanner.


Last point is resume video playback.

Thank you very much for your great work!

Bye


Hmm, interesting. I see on the bitbucket page that version for this was changed to 0.4.2, however ff/rw doesn't work with my Samsung TV and 0.4.2. Any help appreciated! :)

Re: Resume video playback on Samsung TVs

PostPosted: Thu Nov 18, 2010 12:18 pm
by hennys
Do you use the FFWD key on the remote ?

I have to use the direction right key on the remote to FFWD. The FFWD key does not work.

Regards,

Hen

Re: Resume video playback on Samsung TVs

PostPosted: Fri Jan 07, 2011 5:13 pm
by sefo
jgdsm wrote:It should transparently work with any DLNA server though since the TV/client is responsible for storing last positions and telling the the server to deliver starting from either 0:00:00:00 or somewhere else.

It's not correct. TV is not responsible for storing last positions, but the server (Samsung PC Share Manager). This is reason why it's not working with the others servers, because they don't support it.

zip, I can help you to implement resume feature for C series. Today I spend lot of time with sniffing and I think I understood how it works.

First you need to implement X_SetBookmark operation, Samsung TV uses this operation to remember last video position.
So TV sends this request to server when video is stopped:
  Code:
POST /upnp/control/ContentDirectory1 HTTP/1.0
HOST: 192.168.100.100:52235
CONTENT-LENGTH: 339
CONTENT-TYPE: text/xml;charset="utf-8"
USER-AGENT: DLNADOC/1.50
SOAPACTION: "urn:schemas-upnp-org:service:ContentDirectory:1#X_SetBookmark"

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:X_SetBookmark xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1"><ObjectID>46</ObjectID><PosSecond>58</PosSecond><CategoryType>10</CategoryType><RID>0</RID></u:X_SetBookmark></s:Body></s:Envelope>


Serviio response for this request is:
  Code:
HTTP/1.1 500 Internal Server Error
CONTENT-LENGTH: 399
CONTENT-TYPE: text/xml; charset="utf-8"
DATE: Fri, 07 Jan 2011 15:16:27 GMT
EXT:
SERVER: MS-Windows/XP UPnP/1.0 PROTOTYPE/1.0


Samsung PC Share Manager 4.2 response is:
  Code:
HTTP/1.1 200 OK
CONTENT-LENGTH: 265
CONTENT-TYPE: text/xml; charset="utf-8"
DATE: Fri, 07 Jan 2011 15:15:24 GMT
EXT:
SERVER: MS-Windows/XP UPnP/1.0 PROTOTYPE/1.0

  Code:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:X_SetBookmarkResponse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1"></u:X_SetBookmarkResponse></s:Body></s:Envelope>

So, Serviio needs to process this request and remember client id, object_id, position in seconds. This is the first part.
The second change is required in DirectoryBrowsing

This is normal Servii DirectoryBrowsing response:
  Code:
<?xml version="1.0" encoding="utf-8" ?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><u:BrowseResponse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1"><Result>&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;&lt;DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/" xmlns:sec="http://www.sec.co.kr/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/"&gt;&lt;item id="V_F#FOL_R10$F137$MI1062" parentID="V_F#FOL_R10$F137" restricted="1"&gt;&lt;dc:title&gt;Bourne_Identity.mp4&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.videoItem&lt;/upnp:class&gt;&lt;dc:date&gt;2002-06-14&lt;/dc:date&gt;&lt;upnp:genre&gt;Action&lt;/upnp:genre&gt;&lt;res bitrate="593000" duration="1:58:17.000" protocolInfo="http-get:*:video/mp4:DLNA.ORG_PN=AVC_MP4_MP_HD_1080i_AAC;DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01500000000000000000000000000000" resolution="1920x1080" size="4209226587"&gt;http://192.168.100.100:8895/resource/1062/MEDIA_ITEM/AVC_MP4_MP_HD_1080i_AAC&lt;/res&gt;&lt;res protocolInfo="http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_TN;DLNA.ORG_OP=00;DLNA.ORG_CI=1;DLNA.ORG_FLAGS=00D00000000000000000000000000000" resolution="106x160"&gt;http://192.168.100.100:8895/resource/1034/COVER_IMAGE&lt;/res&gt;&lt;res protocolInfo="http-get:*:smi/caption:*"&gt;http://192.168.100.100:8895/resource/1062/SUBTITLE.srt&lt;/res&gt;&lt;sec:CaptionInfoEx sec:type="srt"&gt;http://192.168.100.100:8895/resource/1062/SUBTITLE.srt&lt;/sec:CaptionInfoEx&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;</Result><NumberReturned>1</NumberReturned><TotalMatches>1</TotalMatches><UpdateID>2</UpdateID></u:BrowseResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>

This is Samsung PC Share Manager response:
  Code:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:BrowseResponse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1"><Result>&lt;DIDL-Lite xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&apos;urn:schemas-upnp-org:metadata-1-0/upnp/&apos; xmlns:dlna=&quot;urn:schemas-dlna-org:metadata-1-0/&quot; xmlns:sec=&quot;http://www.sec.co.kr/&quot;&gt;&lt;item id=&quot;46&quot; parentID=&quot;12&quot; restricted=&quot;1&quot;&gt;&lt;dc:title&gt;Bourne_Identity&lt;/dc:title&gt;
&lt;upnp:class&gt;object.item.videoItem&lt;/upnp:class&gt;
&lt;sec:dcmInfo&gt;CREATIONDATE=0,FOLDER=The Bourne Identity,BM=58&lt;/sec:dcmInfo&gt;
&lt;dc:date&gt;2010-07-11&lt;/dc:date&gt;
&lt;sec:CaptionInfoEx sec:type=&quot;srt&quot;&gt;http://192.168.100.100:53235/46.SRT&lt;/sec:CaptionInfoEx&gt;
&lt;sec:MetaFileInfo sec:type=&quot;mta&quot;&gt;http://192.168.100.100:53235/46.MTA&lt;/sec:MetaFileInfo&gt;
&lt;res protocolInfo=&quot;http-get:*:video/mp4:DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01500000000000000000000000000000&quot; size=&quot;4209226587&quot; resolution=&quot;1920x1080&quot; duration=&quot;1:58:17&quot;&gt;http://192.168.100.100:53235/46.MP4&lt;/res&gt;
&lt;res protocolInfo=&quot;http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_SM;DLNA.ORG_CI=1;DLNA.ORG_FLAGS=00D00000000000000000000000000000&quot;&gt;http://192.168.100.100:53235/46.MTN&lt;/res&gt;
&lt;/item&gt;
&lt;/DIDL-Lite&gt;</Result><NumberReturned>1</NumberReturned><TotalMatches>1</TotalMatches><UpdateID>0</UpdateID></u:BrowseResponse></s:Body></s:Envelope>


Important part for us is:
  Code:
&lt;sec:dcmInfo&gt;CREATIONDATE=0,FOLDER=The Bourne Identity,BM=58&lt;/sec:dcmInfo&gt;

BM=58 is remembered last video position in seconds. (PosSecond element from X_SetBookmark request)

I think that's all what needs to be implemented.
Feel free to contact me via PM, maybe it will be easier for me to explain it in Czech/Slovak.

Re: Resume video playback on Samsung TVs

PostPosted: Sat Jan 08, 2011 11:27 am
by zip
Great stuff, I'll have a look after I release 0.5: https://bitbucket.org/xnejp03/serviio/i ... amsung-tvs

Re: Resume video playback on Samsung TVs

PostPosted: Sun Jan 09, 2011 12:23 pm
by sefo
zip thanks.

FYI. I made the following ugly patch in SamsungDLNAMessageBuilder.java file to test it, and it worked. Every video has the bookmark at position of 100 seconds.
  Code:
protected void storeItemFields(Node itemNode, DirectoryObject object)
  {
    super.storeItemFields(itemNode, object);

    Document document = itemNode.getOwnerDocument();
    if (document == null)
    {
      document = (Document)itemNode;
    }
   
    Node dcmInfo = document.createElement("sec:dcmInfo");
    dcmInfo.setTextContent("CREATIONDATE=0,FOLDER=" + object.getTitle() + ",BM=100");
    itemNode.appendChild(dcmInfo);
   
    Node subtitlesNode = storeNode(itemNode, object, ClassProperties.SUBTITLES_URL, "sec:CaptionInfoEx", false);
    storeStaticAttribute(subtitlesNode, "sec:type", "http://www.sec.co.kr/", "srt");
  }

Re: Resume video playback on Samsung TVs

PostPosted: Mon Jan 24, 2011 10:04 am
by Karuko
This is very interesting, whenever this is set up I can move the main disk from the TV to Serviio.
Thanks for your work!

BTW does chaptering work in a similar way??

Re: Resume video playback on Samsung TVs

PostPosted: Thu Feb 03, 2011 4:58 pm
by Troutking
Really start to miss this feature, and hope it will be a part of the new edition of SERVIIO. I have a bad habit of pressing program up/down button on the remote, and then have to start over again :oops:

Re: Resume video playback on Samsung TVs

PostPosted: Tue Feb 08, 2011 9:20 am
by dalanik
Both of these things would be awesome. Or at least proper ffd. Samsung TV's jump always (C series) like 24 seconds forward, and it takes like 6 seconds, so fast forwarding to the middle of the film takes forever... :) Then, occasionaly I get "network disconnected" message, and I have to start all over again w/o the possibility of resuming the playback...

D.

Re: Resume video playback on Samsung TVs

PostPosted: Tue Feb 08, 2011 10:48 am
by zip
dalanik wrote:so fast forwarding to the middle of the film takes forever... :) D.

You just have to hold the right arrow for a longer time

Re: Resume video playback on Samsung TVs

PostPosted: Wed Feb 23, 2011 5:40 am
by alvingo
sefo wrote:zip thanks.

FYI. I made the following ugly patch in SamsungDLNAMessageBuilder.java file to test it, and it worked. Every video has the bookmark at position of 100 seconds.
  Code:
protected void storeItemFields(Node itemNode, DirectoryObject object)
  {
    super.storeItemFields(itemNode, object);

    Document document = itemNode.getOwnerDocument();
    if (document == null)
    {
      document = (Document)itemNode;
    }
   
    Node dcmInfo = document.createElement("sec:dcmInfo");
    dcmInfo.setTextContent("CREATIONDATE=0,FOLDER=" + object.getTitle() + ",BM=100");
    itemNode.appendChild(dcmInfo);
   
    Node subtitlesNode = storeNode(itemNode, object, ClassProperties.SUBTITLES_URL, "sec:CaptionInfoEx", false);
    storeStaticAttribute(subtitlesNode, "sec:type", "http://www.sec.co.kr/", "srt");
  }

Hi Sefo,
Will this work with rew as well? I'm getting excited on this guys.
My long awaited feature has now developed.
Big Cheers for you.

Re: Resume video playback on Samsung TVs

PostPosted: Sat Feb 26, 2011 6:08 pm
by Cerberus
https://bitbucket.org/xnejp03/serviio/i ... amsung-tvs

Bitbucket Update: This has now been marked as RESOLVED as of version 0.5.1

Re: Resume video playback on Samsung TVs

PostPosted: Wed Mar 02, 2011 6:08 pm
by mavika
Tested 0.5.1 beta on Samsung UE40C6500UW, works perfectly.
Thanks to everyone who made this great feature come true. :D