INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1] 2   Go Down

Author Topic: DLNA on 32" Samsung Black Friday Smart TV  (Read 14806 times)

capfan

  • Recent member
  • *
  • Posts: 37
DLNA on 32" Samsung Black Friday Smart TV
« on: December 02, 2014, 02:30:08 pm »

I recently purchased a Samsung UN32H5203AFXZA, a 32" 2014 "Black Friday" Smart TV and had hoped to stream my movies from JRiver to the TV via DLNA.  However, I cannot figure out what settings to use that will make video work.  Every video I try to stream using either push or pull DLNA results in a video format not supported message on the TV.

Audio and pictures are sent to the TV successfully via DLNA.  If enable Windows Media Player streaming, it will successfully play video to the TV (of the limited formats WMP it supports).  So I know there are no connection issues.

The Samsung BD/TV or Generic DLNA presets do not work at all.  Any other values that are known to work?
Logged

Arindelle

  • Citizen of the Universe
  • *****
  • Posts: 2772
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #1 on: December 03, 2014, 05:57:18 am »

what is the connection between the media server pc and the television? If it is a HDMI/DVI direct connection, you don't want to use DLNA (best choice is to use JRiver as the renderer IMO if you can). Check also on the samsung that the source is set up right.

what have you checked in advanced settings under the media network tab?



Logged

capfan

  • Recent member
  • *
  • Posts: 37
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #2 on: December 03, 2014, 08:28:13 am »

The Samsung TV I am attempting to use DLNA video with is in a bedroom and there is no wire connection to the PC running JRiver.  The TV is connected to my home network via wifi.  I started trying out the different DLNA presets (Samsung/Sony/PS3/Generic DLNA) and randomly tried out some of the advanced settings too with no understanding of what I was actually doing.  There are obviously a lot of different combinations to try.  I also tried using the Samsung TV as  DLNA renderer and accessing JRiver as a DLNA server from the TV.   Depending on the preset I sometimes get a "file format not supported" error or sometimes green blocks show up on the screen and it immediately moves on to the next video (with the Generic DLNA preset).
Logged

AndrewFG

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3392
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #3 on: December 03, 2014, 12:30:48 pm »

I will send you a PM...
Logged
Author of Whitebear Digital Media Renderer Analyser - http://www.whitebear.ch/dmra.htm
Author of Whitebear - http://www.whitebear.ch/mediaserver.htm

capfan

  • Recent member
  • *
  • Posts: 37
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #4 on: December 08, 2014, 08:23:32 am »

After lots of testing, I have not found any way to make the MC Video "Specified Output Format" work with my Samsung UN32H5203AFXZA 32" 2014 TV.  In other words, I do not see any way to get MC to transcode video and successfully send it to the TV over DLNA.  When using the "Original" video mode I can get basically everything to play, except for movies saved as Blu-Ray (BDMV) folders.

I can take a BDMV folder and convert it in MC to an H.264 1080p file and that file will play completely fine using the "Original" setting.  I can also take the BDMV folder and make an MKV file out of it and that file will also play to the TV with the "Original" setting.  But if I take either of these files and try to use the "Specified Output Format" setting they will not play.  I've tried many options including altering the MPEG override settings, but nothing works.

It's my preference to keep my Blu-Ray library in the original folder structure and transcode it to the TV, especially since my connection to the TV is wifi and it is not quite fast enough to stream a non-transcoded Blu-Ray movie.  This use model works fine with JRemote where I stream these same movies (in the BDMV folder structure) perfectly to my iPad or iPhone.  So it would be great to get the same thing working with my TV!

My question for the community is:  Has anybody successfully streamed any video file to a Samsung TV/Blu-Ray player over DLNA using the "Specified Output Format" video setting?  And if so, what were your settings?

Thank you!
Logged

AndrewFG

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3392
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #5 on: December 08, 2014, 11:49:31 am »

After lots of testing, I have not found any way to make the MC Video "Specified Output Format" work with my Samsung UN32H5203AFXZA 32" 2014 TV.  In other words, I do not see any way to get MC to transcode video and successfully send it to the TV over DLNA.  When using the "Original" video mode I can get basically everything to play, except for movies saved as Blu-Ray (BDMV) folders.

I can take a BDMV folder and convert it in MC to an H.264 1080p file and that file will play completely fine using the "Original" setting.  I can also take the BDMV folder and make an MKV file out of it and that file will also play to the TV with the "Original" setting.  But if I take either of these files and try to use the "Specified Output Format" setting they will not play.  I've tried many options including altering the MPEG override settings, but nothing works.

It's my preference to keep my Blu-Ray library in the original folder structure and transcode it to the TV, especially since my connection to the TV is wifi and it is not quite fast enough to stream a non-transcoded Blu-Ray movie.  This use model works fine with JRemote where I stream these same movies (in the BDMV folder structure) perfectly to my iPad or iPhone.  So it would be great to get the same thing working with my TV!

My question for the community is:  Has anybody successfully streamed any video file to a Samsung TV/Blu-Ray player over DLNA using the "Specified Output Format" video setting?  And if so, what were your settings?

Thank you!

Just for info: capfan has been experimenting with my (not yet published) renderer analyser tool. The analyser report is attached, and in theory it should be able to play hundreds of different video formats. Including some that MC should certainly be able to deliver e.g. "H.264 - TS very high bandwidth auto fps" should I think match at least one of these profiles below..

http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=AVC_TS_MP_HD_AC3;DLNA.ORG_FLAGS=ED100000000000000000000000000000
http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=AVC_TS_MP_HD_AC3_T;DLNA.ORG_FLAGS=ED100000000000000000000000000000
http-get:*:video/mpeg:DLNA.ORG_PN=AVC_TS_MP_HD_AC3_ISO;DLNA.ORG_FLAGS=ED100000000000000000000000000000

So I too am intrigued to know why when he tries to push that format, it does not work...


Logged
Author of Whitebear Digital Media Renderer Analyser - http://www.whitebear.ch/dmra.htm
Author of Whitebear - http://www.whitebear.ch/mediaserver.htm

bob

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 13941
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #6 on: December 08, 2014, 12:55:25 pm »

Just for info: capfan has been experimenting with my (not yet published) renderer analyser tool. The analyser report is attached, and in theory it should be able to play hundreds of different video formats. Including some that MC should certainly be able to deliver e.g. "H.264 - TS very high bandwidth auto fps" should I think match at least one of these profiles below..

http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=AVC_TS_MP_HD_AC3;DLNA.ORG_FLAGS=ED100000000000000000000000000000
http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=AVC_TS_MP_HD_AC3_T;DLNA.ORG_FLAGS=ED100000000000000000000000000000
http-get:*:video/mpeg:DLNA.ORG_PN=AVC_TS_MP_HD_AC3_ISO;DLNA.ORG_FLAGS=ED100000000000000000000000000000

So I too am intrigued to know why when he tries to push that format, it does not work...
You could try setting the MPEG video mimetype override switch under advanced and
set the mimetype to
video/mpeg
and the DLNAType to
AVC_TS_MP_HD_AC3_ISO
set specified output format for H264-TS high bandwidth stream autofps
Logged

capfan

  • Recent member
  • *
  • Posts: 37
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #7 on: December 08, 2014, 06:49:35 pm »

I tried out the following settings and unfortunately the file type is still unsupported by the Samsung TV:
"set the mimetype to
video/mpeg
and the DLNAType to
AVC_TS_MP_HD_AC3_ISO
set specified output format for H264-TS high bandwidth stream autofps"

So my question still stands: Has anybody successfully streamed any video file to a Samsung TV/Blu-Ray player over DLNA using the "Specified Output Format" video setting?  And if so, what were your settngs?
Logged

bob

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 13941
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #8 on: December 09, 2014, 10:10:01 am »

I tried out the following settings and unfortunately the file type is still unsupported by the Samsung TV:
"set the mimetype to
video/mpeg
and the DLNAType to
AVC_TS_MP_HD_AC3_ISO
set specified output format for H264-TS high bandwidth stream autofps"

So my question still stands: Has anybody successfully streamed any video file to a Samsung TV/Blu-Ray player over DLNA using the "Specified Output Format" video setting?  And if so, what were your settngs?

We don't have any pushable (DLNA Renderer) Samsung devices here at this time. I'm giving you suggestions from the Samsung BD players we have. Unfortunately they are changing the firmware all the time and unlike Sony they don't seem to want to make them very consistent with other Samsung devices.

You could try leaving the mime settings the same and changing the specified format to MPEG2 High Bandwidth stream autofps
If that doesn't work, remove the override checkbox and try again.
You might have to powercycle the TV between these attempts.


Logged

capfan

  • Recent member
  • *
  • Posts: 37
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #9 on: December 09, 2014, 10:52:40 am »

I will try leaving the MIME override w/ MPEG2 High Bandwidth stream autofps when I get a chance.  I'm fairly sure that not using the override with MPEG2 High Bandwidth was unsuccessful for me in the past.

Another question I have is whether it's possible to get a BDMV folder to play over DLNA using the "Original" setting.  Mostly all of my video library is saved as BDMV folders, since this seems like the most future proof format to use.  I realize that I could convert them to MKV, get a hard-wired connection to my TV (instead of using wifi), and probably stream the "Original" Blu-Ray movies to my Samsung TV successfully.  But this would require converting everything to MKV and either keeping the original BDMV folders (at great space cost) or deleting them.

What gets sent over DLNA when you attempt to stream a BDMV folder?  Is it the index.bdmv file, or is there a way to get MC to stream the correct m2ts files?
Logged

AndrewFG

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3392
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #10 on: December 09, 2014, 11:54:31 am »

Another question I have is whether it's possible to get a BDMV folder to play over DLNA using the "Original" setting.  Mostly all of my video library is saved as BDMV folders, since this seems like the most future proof format to use.  I realize that I could convert them to MKV, get a hard-wired connection to my TV (instead of using wifi), and probably stream the "Original" Blu-Ray movies to my Samsung TV successfully.  But this would require converting everything to MKV and either keeping the original BDMV folders (at great space cost) or deleting them.

What gets sent over DLNA when you attempt to stream a BDMV folder?  Is it the index.bdmv file, or is there a way to get MC to stream the correct m2ts files?

I think MC rips Blu-Ray to .m2ts files (please correct this if I am wrong) and puts them in the STREAM sub folder of the BDMV; so if MC tries to push the track in Original format it would push these .m2ts files; the .m2ts format has a mime type of video/mp2t, and if your Samsung supported that mime type then all would probably be fine; but, as you can see from the renderer report, it does not support video/mp2t; so basically you are out of luck with "Original".

The only three solutions are a) to try to find a "Specified Format" that works for use with transcoding on the fly, or b) find another format (e.g. mkv) that does work in Original on the Samsung and transcode your whole library to that format in advance, or c) connect the PC to the TV via HDMI..
Logged
Author of Whitebear Digital Media Renderer Analyser - http://www.whitebear.ch/dmra.htm
Author of Whitebear - http://www.whitebear.ch/mediaserver.htm

bob

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 13941
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #11 on: December 09, 2014, 01:42:18 pm »

And it looks like the transcoding for that TV to H264-TS files is looking for AC3 audio but MC does AAC.
That could be why those don't play even when you change the mime and DLNA types.
Logged

Hendrik

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 10970
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #12 on: December 09, 2014, 02:06:36 pm »

AC3 seems way more common when aiming for DLNA (as AC3 is also used in broadcasts or on BD, while AAC is usually not). I have some plans for more flexible transcoding presets which should hopefully allow H264+AC3 in TS for DLNA without too much trouble as well.
But those plans will still require a bit of time...
Logged
~ nevcairiel
~ Author of LAV Filters

AndrewFG

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3392
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #13 on: December 09, 2014, 02:13:13 pm »

Hi bob & Hendrik,

I entirely support the idea of more flexibility in Xcoder target formats. As you Know, my ideal is to have MC dynamically choose from several Xcoding options to suit the target renderer's capabilties. A so called "auto" setting..

Logged
Author of Whitebear Digital Media Renderer Analyser - http://www.whitebear.ch/dmra.htm
Author of Whitebear - http://www.whitebear.ch/mediaserver.htm

capfan

  • Recent member
  • *
  • Posts: 37
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #14 on: December 09, 2014, 02:20:43 pm »

Regarding MC transcoding with AAC audio, one of the options I tried repeatedly that failed was to set
mimetype: video/vnd.dlna.mpeg-tts
DLNA override: to AVC_TS_MP_HD_AAC_T
specified output format: H264-TS very high bandwidth stream autofps

I know that in the "Original" video mode, the Samsung TV renderer can handle MC pre-converted files created using the H.264 1080 setting which I'm assuming puts AAC audio in the file.  And should this, in theory, produce the same thing as "H264-TS very high bandwidth stream autofps" with the "Specified Output Format" video mode?
Logged

AndrewFG

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3392
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #15 on: December 09, 2014, 02:30:57 pm »

Yeah that is the real mystery. If MC pre- converts the file ahead of time, it will play as Original. But if you choose Selected Format (conversion on the fly) it won't play. But I would have assumed that both pre-conversion and conversion on the fly should deliver the exact same file. Or am I wrong?



Logged
Author of Whitebear Digital Media Renderer Analyser - http://www.whitebear.ch/dmra.htm
Author of Whitebear - http://www.whitebear.ch/mediaserver.htm

Hendrik

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 10970
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #16 on: December 09, 2014, 02:37:03 pm »

But I would have assumed that both pre-conversion and conversion on the fly should deliver the exact same file. Or am I wrong?

It should, uses the same transcoder afterall.
The TV might not like getting it as stream for some reason or another.
Logged
~ nevcairiel
~ Author of LAV Filters

AndrewFG

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3392
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #17 on: December 09, 2014, 02:59:06 pm »

It should, uses the same transcoder afterall.
The TV might not like getting it as stream for some reason or another.

Hmm. The "one reason or the other" is obviously something to do with MC. I think the only differences could be as follows:

- the url passed in SetAVTransportURI (e.g. fille extension, ..)
- the meta data passed in SetAVTransportURI (e.g. Dlna didl stuff, ..)
- MC server HTTP response headers (including ContentType, ContentLength, Accept-Ranges, Dlna.org headers, etc.)
- MC server response (or not) to an HTTP GET byte range seek request (maybe on the pre xcoded file it fulfills the seek, whereas on the dynamic xcoded version it does not)

I think one would need to run some WireSharks to check..
Logged
Author of Whitebear Digital Media Renderer Analyser - http://www.whitebear.ch/dmra.htm
Author of Whitebear - http://www.whitebear.ch/mediaserver.htm

bob

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 13941
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #18 on: December 09, 2014, 03:23:05 pm »

Regarding MC transcoding with AAC audio, one of the options I tried repeatedly that failed was to set
mimetype: video/vnd.dlna.mpeg-tts
DLNA override: to AVC_TS_MP_HD_AAC_T
specified output format: H264-TS very high bandwidth stream autofps

I know that in the "Original" video mode, the Samsung TV renderer can handle MC pre-converted files created using the H.264 1080 setting which I'm assuming puts AAC audio in the file.  And should this, in theory, produce the same thing as "H264-TS very high bandwidth stream autofps" with the "Specified Output Format" video mode?

For one thing, there won't be a content length.
Most devices are fine with that, some like the PS3 would rather have a -1 as the content length.

If you are pushing the stream (do any Samsungs support DMR? I haven't seen one yet), you could try pulling it instead.
The difference is in the metadata supplied, when pushing everything is supplied because there isn't a way to apply filters that get sent by the player/renderer when pulling.

If you turn on PS3Compat you'll get the -1 content length.
You could try turning off (if they aren't already) the caption and subtitle support.
You could try turning off DLNAExtra (though I think that's required for Samsung in general).
None of the other options (other that DLNA) should be on.
You could also try turning off all of the options so you only get UPnP compatible DIDL.

I think like Andrew says, wireshark may be needed.
Logged

AndrewFG

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3392
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #19 on: December 09, 2014, 03:37:13 pm »

do any Samsungs support DMR? I haven't seen one yet

This one definitely DOES support DMR. My tester can successfully push audio to it.
Logged
Author of Whitebear Digital Media Renderer Analyser - http://www.whitebear.ch/dmra.htm
Author of Whitebear - http://www.whitebear.ch/mediaserver.htm

AndrewFG

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3392
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #20 on: December 09, 2014, 03:41:42 pm »

I think like Andrew says, wireshark may be needed.

Hey capfan, there could be an easier way. Can you please run my DMRA tool, turn on the HTTP logging, and then try to push an m2ts file to your Samsung, and then send me the HTTP log file?
Logged
Author of Whitebear Digital Media Renderer Analyser - http://www.whitebear.ch/dmra.htm
Author of Whitebear - http://www.whitebear.ch/mediaserver.htm

capfan

  • Recent member
  • *
  • Posts: 37
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #21 on: December 09, 2014, 08:22:51 pm »

I tried all the experiments previously mentioned such as using the MPEG2..autofps settings with and without mimetype override.  I also tried removing all the checks in the Advanced settings or just leaving DLNA.  I was still unable to get anything to play using the "Specified Output Format".  But everything plays with the "Original" setting (except for BDMV folders).

Regarding BDMV folders not playing over DLNA, it was suggested that my renderer probably doesn't support M2TS files.  So I took an M2TS file out of one of my BDMV/Stream folders and was able to play it as a standalone file.  Are BDMV folders generally supported for playback in "Original" mode using DLNA?

Thanks!
Logged

AndrewFG

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3392
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #22 on: December 09, 2014, 09:23:27 pm »

Hmm. Check the sub titles settings for the bluray playback.

And for the avoidance of doubt, can you please confirm also that using my DMRA you could also push one of its m2ts test files to the TV?
Logged
Author of Whitebear Digital Media Renderer Analyser - http://www.whitebear.ch/dmra.htm
Author of Whitebear - http://www.whitebear.ch/mediaserver.htm

bob

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 13941
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #23 on: December 11, 2014, 10:09:04 am »

It's probably the content length though why it would need a content length for a ts file is beyond me.
Logged

AndrewFG

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3392
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #24 on: December 11, 2014, 02:24:30 pm »

Bob,

When you don't know the ContentLenghth do you send a) no header, b) zero, c) minus one, or d) an estimated value (calculated from duration times average bitrate)? -- I always use the latter, (even if the value is not exact), because most times that seems to work better. In fact I tend to round up a bit rather than down, so that the client is forced to fetch the full stream before the server closes the socket.

Also you probably have to offer to Accept byte range seeks. And if such a seek comes in, then the server should fulfil it. In my case I respond to such seeks by serving from a time offset which equals the duration times the byte seek target divided by the estimated ContentLength.

I am hoping that the OP will post me some HTTP logs from my DMRA since this would give some insight whether his renderer does indeed send byte range seeks, because if it does, and MC cannot fulfil that, then this would explain his problem, and also give you some insight about how to solve it in the future..

Logged
Author of Whitebear Digital Media Renderer Analyser - http://www.whitebear.ch/dmra.htm
Author of Whitebear - http://www.whitebear.ch/mediaserver.htm

bob

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 13941
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #25 on: December 11, 2014, 02:49:38 pm »

We offer time based seek on files that are being converted.
It works great on renderers / players that support it (most Sony devices for example).
Logged

AndrewFG

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3392
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #26 on: December 11, 2014, 02:56:42 pm »

Yep I got that. My point is that you should also offer a quasi ContentLength and a respective quasi byte based seek for devices (the majority of them) that don't support time based seek and/or those devices that need to have a ContenLength value.
Logged
Author of Whitebear Digital Media Renderer Analyser - http://www.whitebear.ch/dmra.htm
Author of Whitebear - http://www.whitebear.ch/mediaserver.htm

capfan

  • Recent member
  • *
  • Posts: 37
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #27 on: December 11, 2014, 02:58:55 pm »

I'm planning to get those HTTP logs to AndrewFG sometime tonight.  Sorry for the delay and thanks for your help.
Logged

AndrewFG

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3392
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #28 on: December 12, 2014, 03:11:10 am »

I looked at the log (thank you for capturing it).

Background: The test case is my DMRA pushing an M2TS file to the Samsung renderer. In this case the track seems to play fine. And apparently when MC pushes a similar FILE it also plays fine, whereas when it tries to push an xcoded STREAM it does not play. Bob has asserted that the difference between FILE and STREAM is that in the first case MC provides a ContentLength header, and in the second case MC cannot provide a ContentLength (because it is still xcoding the file and so does not (yet) know what the final ContentLength will be..)

Warning: the following is technical...

The interesting thing from the your log is that when the DMRA calls SetAVTransportURI the renderer immediately makes a HEAD call on the URI concerned before it returns its succeeded / failed response to the SetAVTransportURI call. This HEAD call is interesting: because it indicates that the renderer is indeed vetting the HTTP headers before it decides how to answer the SetAVTransportURI call, and it does tend to confirm that "bad" headers would lead the renderer to fail the SetAVTransportURI call.

Now obviously "bad" headers could include a multitude of sins, but certainly a missing or wrong ContentLength header could indeed be deemed "bad" -- so that tends to support bob's assertion.

So how to proceed? I propose to make a quick test build of my DMRA in which I intentionally omit the ContentLength header, and if capfan could run the same test again, and if that test failed, it would indeed confirm where the problem lies. Then assuming that ContentLength is indeed the problem, I would propose that bob shall tweak the MC server so that it always returns a ContentLength even if it is a nonce value. (As mentioned before, the nonce value should be calculated as ContentLength := (track duration + 5 seconds (say)) X (average bytes per second of the xcoder targetted format).

EDIT: or perhaps ContentLength := (track duration + 5 percent) X (average bytes per second of the xcoder targetted format) -- to scale it better for longer videos

Logged
Author of Whitebear Digital Media Renderer Analyser - http://www.whitebear.ch/dmra.htm
Author of Whitebear - http://www.whitebear.ch/mediaserver.htm

bob

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 13941
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #29 on: December 12, 2014, 11:40:29 am »

I looked at the log (thank you for capturing it).

Background: The test case is my DMRA pushing an M2TS file to the Samsung renderer. In this case the track seems to play fine. And apparently when MC pushes a similar FILE it also plays fine, whereas when it tries to push an xcoded STREAM it does not play. Bob has asserted that the difference between FILE and STREAM is that in the first case MC provides a ContentLength header, and in the second case MC cannot provide a ContentLength (because it is still xcoding the file and so does not (yet) know what the final ContentLength will be..)

Warning: the following is technical...

The interesting thing from the your log is that when the DMRA calls SetAVTransportURI the renderer immediately makes a HEAD call on the URI concerned before it returns its succeeded / failed response to the SetAVTransportURI call. This HEAD call is interesting: because it indicates that the renderer is indeed vetting the HTTP headers before it decides how to answer the SetAVTransportURI call, and it does tend to confirm that "bad" headers would lead the renderer to fail the SetAVTransportURI call.

Now obviously "bad" headers could include a multitude of sins, but certainly a missing or wrong ContentLength header could indeed be deemed "bad" -- so that tends to support bob's assertion.

So how to proceed? I propose to make a quick test build of my DMRA in which I intentionally omit the ContentLength header, and if capfan could run the same test again, and if that test failed, it would indeed confirm where the problem lies. Then assuming that ContentLength is indeed the problem, I would propose that bob shall tweak the MC server so that it always returns a ContentLength even if it is a nonce value. (As mentioned before, the nonce value should be calculated as ContentLength := (track duration + 5 seconds (say)) X (average bytes per second of the xcoder targetted format).

EDIT: or perhaps ContentLength := (track duration + 5 percent) X (average bytes per second of the xcoder targetted format) -- to scale it better for longer videos

Andrew, when the non-transcoded file is played, does the renderer do any seeks (instead of just reading the whole file)? The reason I ask is that I've seen several renderers try to seek the end of the file after getting it's content length and before trying to play in which case giving it a fake length wouldn't solve the issue.
Logged

AndrewFG

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3392
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #30 on: December 13, 2014, 06:10:46 am »

Andrew, when the non-transcoded file is played, does the renderer do any seeks (instead of just reading the whole file)? The reason I ask is that I've seen several renderers try to seek the end of the file after getting it's content length and before trying to play in which case giving it a fake length wouldn't solve the issue.

Hi bob,

In this case there were no seeks. However I can confirm that I have also frequently seen such seeks from many types of renderer (including if I recall it correctly, MC itself). I am not sure why such renderers actually do this, but my best guess is that they may be checking for metadata tags at the end of the file. However another reason could be that instead of just looking for an Accept-Ranges header, they want to test in reality whether the server can or cannot satisfy byte range seeks. (It could be that some servers provide Accept-Ranges headers but can't actually satisfy seeks -- and/or vice-versa).

In my case, if such a seek request comes in (so long as the seek target is within the hypothetical ContentLength already given), then my server always returns an HTTP 206 Partial Content response. It depends a bit on what transcoder is being used, but as a general rule I convert the byte seek into a time seek offset and ask the transcoder engine to start serving data from that point. Where (time seek offset) := (duration) X (byte seek offset) / (previously provided ContentLength). Although in the special case that the byte seek offset is very close to the end of the track I use (time seek offset) := (duration) - (5 seconds) in order to ensure that something always gets sent.

This approach seems to satisfy those renderers which do an initial seek. And it also means that if the user Control Point makes a normal UPnP seek operation (e.g. by moving the position scroll bar in MC), then the server is always able to satisfy the ensuing byte range seek request.

Note: If the server does not offer a ContentLength and/or if it does not offer Accept-Ranges and/or if it does not satisfy a byte range seek with HTTP 206, then what usually happens is that any user UPnP seek operation results in the renderer restarting playback at the beginning of the track -- which is a real PITA for most users. However if you do do these things, then such UPnP seek operations do result in the playback re-commencing at an appropriate point in the track.

Obviously such calculated time based seeks won't land in byte-perfect locations, so the client could not hope to stitch together the original byte stream from a series of partial seeks. I try to deliver my partial responses starting and ending on frame boundaries. And it seems that most renderers are quite happy with that (i.e. they stitch together at the frame level, rather than stitch together at the byte level..)

EDIT: in the meantime capfan kindly tested a new build of my DMRA which attempts to push tracks both with and without a ContentLength header. We could confirm that with the header it played fine, and without the header it failed. The renderer reported both a TransportState error via UPnP and also a message on its screen. My DMRA keeps on serving so in fact the track did play, whereas MC (correctly) stops serving the track. So we can definitely confirm that the issue is indeed the lack of ContentLength. And therefore my strong recommendation is that you address this issue in a forthcoming build based on the approach that I have described above.

Logged
Author of Whitebear Digital Media Renderer Analyser - http://www.whitebear.ch/dmra.htm
Author of Whitebear - http://www.whitebear.ch/mediaserver.htm

bob

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 13941
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #31 on: December 15, 2014, 10:13:41 am »

Hi bob,

In this case there were no seeks. However I can confirm that I have also frequently seen such seeks from many types of renderer (including if I recall it correctly, MC itself). I am not sure why such renderers actually do this, but my best guess is that they may be checking for metadata tags at the end of the file. However another reason could be that instead of just looking for an Accept-Ranges header, they want to test in reality whether the server can or cannot satisfy byte range seeks. (It could be that some servers provide Accept-Ranges headers but can't actually satisfy seeks -- and/or vice-versa).

In my case, if such a seek request comes in (so long as the seek target is within the hypothetical ContentLength already given), then my server always returns an HTTP 206 Partial Content response. It depends a bit on what transcoder is being used, but as a general rule I convert the byte seek into a time seek offset and ask the transcoder engine to start serving data from that point. Where (time seek offset) := (duration) X (byte seek offset) / (previously provided ContentLength). Although in the special case that the byte seek offset is very close to the end of the track I use (time seek offset) := (duration) - (5 seconds) in order to ensure that something always gets sent.

This approach seems to satisfy those renderers which do an initial seek. And it also means that if the user Control Point makes a normal UPnP seek operation (e.g. by moving the position scroll bar in MC), then the server is always able to satisfy the ensuing byte range seek request.

Note: If the server does not offer a ContentLength and/or if it does not offer Accept-Ranges and/or if it does not satisfy a byte range seek with HTTP 206, then what usually happens is that any user UPnP seek operation results in the renderer restarting playback at the beginning of the track -- which is a real PITA for most users. However if you do do these things, then such UPnP seek operations do result in the playback re-commencing at an appropriate point in the track.

Obviously such calculated time based seeks won't land in byte-perfect locations, so the client could not hope to stitch together the original byte stream from a series of partial seeks. I try to deliver my partial responses starting and ending on frame boundaries. And it seems that most renderers are quite happy with that (i.e. they stitch together at the frame level, rather than stitch together at the byte level..)

EDIT: in the meantime capfan kindly tested a new build of my DMRA which attempts to push tracks both with and without a ContentLength header. We could confirm that with the header it played fine, and without the header it failed. The renderer reported both a TransportState error via UPnP and also a message on its screen. My DMRA keeps on serving so in fact the track did play, whereas MC (correctly) stops serving the track. So we can definitely confirm that the issue is indeed the lack of ContentLength. And therefore my strong recommendation is that you address this issue in a forthcoming build based on the approach that I have described above.


Hi Andrew,
Thanks for checking that!
Your solution to the problem is precisely what we've discussed in the past, it got pushed to the back burner since it seemed like there was a move towards devices doing time based seeks and we had other issues on the front burner...
Logged

AndrewFG

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3392
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #32 on: December 15, 2014, 10:28:52 am »

Hi bob.

I was not too sure how to interpret your message; does it imply that it now moved to the front burner, or is it still on the back burner  ;)

At least its not in the deep freeze, because I assume that even things on the back burner get cooked eventually  ;D

Logged
Author of Whitebear Digital Media Renderer Analyser - http://www.whitebear.ch/dmra.htm
Author of Whitebear - http://www.whitebear.ch/mediaserver.htm

bob

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 13941
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #33 on: December 15, 2014, 10:36:22 am »

Hi bob.

I was not too sure how to interpret your message; does it imply that it now moved to the front burner, or is it still on the back burner  ;)

At least its not in the deep freeze, because I assume that even things on the back burner get cooked eventually  ;D
Hi Andrew,
I'd say it's warmed up a bit ;)
Logged

leoric

  • World Citizen
  • ***
  • Posts: 164
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #34 on: January 03, 2015, 07:07:13 pm »

Hi

I have a pretty much similar issue with my Samsung H6400 - MC cannot play video on the TV via DLNA. Could you people give a brief summary of all those techy talks that you've been doing here? In my understanding, MC simply isn't compatible with Samsung TVs DLNA despite having a dedicated profile. Is it correct?

One more issue that falls under the subject of the topic: when I play audio, TV only shows current track. However, with another DLNA server it shows several tracks so TV remote can be used to switch between them. Is it possible to achieve this with MC?

Thanks a lot!
Logged

JimH

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 72544
  • Where did I put my teeth?
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #35 on: January 04, 2015, 03:02:09 am »

Does it work if you control it from the TV, playing content from MC?

Not all devices will work as Renderers (pushing to them from MC).

Try changing settings for the DLNA Server on MC.
Logged

leoric

  • World Citizen
  • ***
  • Posts: 164
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #36 on: January 04, 2015, 04:23:10 am »

Does it work if you control it from the TV, playing content from MC?
No, it shows the same not supported message when I choose a video file from TV. However, it succesfully plays video from another DLNA server.

Not all devices will work as Renderers (pushing to them from MC).

Try changing settings for the DLNA Server on MC.
There are lots of settings, I tried to change those that make sense to me, no luck.
Logged

AndrewFG

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3392
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #37 on: January 04, 2015, 05:38:03 am »

In case bob or Hendrik may have missed the connection, this thread and the thread mentioned below are two symptoms of the same MC server problem (which IMHO can and should be addressed)..

http://yabb.jriver.com/interact/index.php?topic=94582.0
Logged
Author of Whitebear Digital Media Renderer Analyser - http://www.whitebear.ch/dmra.htm
Author of Whitebear - http://www.whitebear.ch/mediaserver.htm

bob

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 13941
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #38 on: January 05, 2015, 10:08:28 am »

Hi

I have a pretty much similar issue with my Samsung H6400 - MC cannot play video on the TV via DLNA. Could you people give a brief summary of all those techy talks that you've been doing here? In my understanding, MC simply isn't compatible with Samsung TVs DLNA despite having a dedicated profile. Is it correct?
It appears the model you are using doesn't support transcoding in the way that we currently do it. You can however use "Original format" and see what plays.
Quote
One more issue that falls under the subject of the topic: when I play audio, TV only shows current track. However, with another DLNA server it shows several tracks so TV remote can be used to switch between them. Is it possible to achieve this with MC?
If you are using the remote to start playback (for example you go to a track in an album and play it) the other tracks in the album should show.
Logged

leoric

  • World Citizen
  • ***
  • Posts: 164
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #39 on: January 05, 2015, 03:51:54 pm »

It appears the model you are using doesn't support transcoding in the way that we currently do it. You can however use "Original format" and see what plays.

Thanks bob, this helped to get the movie playing on TV. But I faced another issue. The mkv I'm playing has 2 subtitle tracks. #2 has default and forced flags set. Despite this, MC supplies subtitles from track#1. TV has an option to switch between subtitle languages, but instead of displaying languages it shows only On and Off.

If you are using the remote to start playback (for example you go to a track in an album and play it) the other tracks in the album should show.

Ah, yes, when I use TV to choose a track to play, it shows playlist. But it's not convenient compared to using MC, considering size of my library. Is it possible to also supply a playlist when I use MC to initiate playing?
Logged

bob

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 13941
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #40 on: January 06, 2015, 10:55:46 am »

Thanks bob, this helped to get the movie playing on TV. But I faced another issue. The mkv I'm playing has 2 subtitle tracks. #2 has default and forced flags set. Despite this, MC supplies subtitles from track#1. TV has an option to switch between subtitle languages, but instead of displaying languages it shows only On and Off.
I'm not certain about the subs. If you were transcoding the sub that gets used is the one chosen within MC.
If the subs are stored in separate files in the same directory as the original with the same name other than the extension, that will be presented to the device.
Some devices will handle separate subs presented as a resource, others will not. There are a couple of options under the DLNA server advanced settings that control this. If you used the Samsung template they should be set properly already.
Quote
Ah, yes, when I use TV to choose a track to play, it shows playlist. But it's not convenient compared to using MC, considering size of my library. Is it possible to also supply a playlist when I use MC to initiate playing?
When you push to the renderer, unless the renderer supports the SetNextAVTransportURI function (which Sammy doesn't) you will only see one track.
We don't support sending playlists as a file at this time (it's not possible to send metadata in this case).
Logged

AndrewFG

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3392
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #41 on: January 06, 2015, 12:35:10 pm »

(it's not possible to send metadata in this case).

I don't want to labour a point, but it is actually possible. The CurrentUriMetadata should include a list of DIDL items for all tracks in the playlist. And the CurrentTrackMetaData should return just the DIDL for the now playing track.

Logged
Author of Whitebear Digital Media Renderer Analyser - http://www.whitebear.ch/dmra.htm
Author of Whitebear - http://www.whitebear.ch/mediaserver.htm

bob

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 13941
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #42 on: January 06, 2015, 01:39:07 pm »

I don't want to labour a point, but it is actually possible. The CurrentUriMetadata should include a list of DIDL items for all tracks in the playlist. And the CurrentTrackMetaData should return just the DIDL for the now playing track.
Just curious if you know of anything that parses this for display properly?
Logged

AndrewFG

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3392
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #43 on: January 06, 2015, 03:36:13 pm »

Just curious if you know of anything that parses this for display properly?

Yes, I have seen it. But to be honest I cannot remember where...
However, the way it works is as follows:

  • The SetAvTransportURI command pushes a URL to a PLS or M3U file and that file itself contains a further list of URLs of all the tracks to be played.
  • And the SetAvTransportURI CurrentUriMetadata argument contains a matching series of DIDL items where each such item describes one of the tracks in the PLS or M3U, and each such item contains a res element having a URL that corresponds to one respective URL in the PLS or M3U.
  • The renderer chooses the specific DIDL item whose res element matches the currently playing URL from the M3U or PLS, and it displays that meta data on screen.
  • In response to the GetMediaInfo command, the renderer returns all of the DIDL items in its CurrentUriMetadata argument that correspond to the SetAvTransportUri CurrentUriMetadata argument.
  • In response to the GetPositionInfo command, the renderer returns in its TrackMetadata argument only the one single DIDL item that explicitly relates to the now playing track.
Logged
Author of Whitebear Digital Media Renderer Analyser - http://www.whitebear.ch/dmra.htm
Author of Whitebear - http://www.whitebear.ch/mediaserver.htm

leoric

  • World Citizen
  • ***
  • Posts: 164
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #44 on: January 07, 2015, 04:27:18 am »

I've just tried this: extracted 2nd subtitle track from .mkv and put it beside the mkv with the same name. Now TV shows this external subtitles instead of the first internal! I'm happy now.
Found another issue, this time with audio. When an album is represented by a .cue that references just one audio file, TV always plays the whole file, whatever track from the album I'm choosing to play. I can understand that since the file is streamed without alterations, which is good. However what I would like to see is MC jumping to time in the big file that corresponds to the index of the track I wish to hear.
Logged

AndrewFG

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3392
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #45 on: January 07, 2015, 05:41:50 am »

Found another issue, this time with audio. When an album is represented by a .cue that references just one audio file, TV always plays the whole file, whatever track from the album I'm choosing to play. I can understand that since the file is streamed without alterations, which is good. However what I would like to see is MC jumping to time in the big file that corresponds to the index of the track I wish to hear.

Yes, I suppose that the solution could/should be one of the following two options:

a) break the master track into individual tracks that are served successively
b) push the master track and send a Seek command to tell the renderer to move to the correct track position

Regardless of whether a) or b) would be used, the same logic must apply for streaming in both original format and transcoded format. However solution a) is not completely consistent with the "serve original format" setting. And as we have seen earlier, case b) would not work with the "serve transcoded format" setting (due to lack of Content-Length and respective lack of support for Range- bytes seek). So either way, there is a dilemma / problem ...

Logged
Author of Whitebear Digital Media Renderer Analyser - http://www.whitebear.ch/dmra.htm
Author of Whitebear - http://www.whitebear.ch/mediaserver.htm

bob

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 13941
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #46 on: January 08, 2015, 10:27:31 am »

I've just tried this: extracted 2nd subtitle track from .mkv and put it beside the mkv with the same name. Now TV shows this external subtitles instead of the first internal! I'm happy now.
Found another issue, this time with audio. When an album is represented by a .cue that references just one audio file, TV always plays the whole file, whatever track from the album I'm choosing to play. I can understand that since the file is streamed without alterations, which is good. However what I would like to see is MC jumping to time in the big file that corresponds to the index of the track I wish to hear.
Is the audio format being converted (what's the original format type and what are your DLNA server audio settings)?
Logged

AndrewFG

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3392
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #47 on: January 08, 2015, 11:06:11 am »

Is the audio format being converted (what's the original format type and what are your DLNA server audio settings)?

bob, we already established that MC does not support pushing of transcoded tracks to this renderer; so he is pushing original; or ??

Logged
Author of Whitebear Digital Media Renderer Analyser - http://www.whitebear.ch/dmra.htm
Author of Whitebear - http://www.whitebear.ch/mediaserver.htm

bob

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 13941
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #48 on: January 08, 2015, 02:48:25 pm »

bob, we already established that MC does not support pushing of transcoded tracks to this renderer; so he is pushing original; or ??


We were talking video before.
Logged

AndrewFG

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3392
Re: DLNA on 32" Samsung Black Friday Smart TV
« Reply #49 on: January 09, 2015, 04:47:19 am »

We were talking video before.

Ok, let's wait for the OP's response.

But just for the record, I gave him a test build of my DMRA test application to push test files with Content-Length and without; and it proved that without a Content-Length the push always failed; this was a problem generic to the missing Http header, not linked to a specific media type (i.e. not specific to just audio or just video ..)
Logged
Author of Whitebear Digital Media Renderer Analyser - http://www.whitebear.ch/dmra.htm
Author of Whitebear - http://www.whitebear.ch/mediaserver.htm
Pages: [1] 2   Go Up