I have had the premature termination problem since I first downloaded Serviio 1.3.1 in mid-August for my new Samsung 40-inch class C5 series SmartTV. I have tried the suggestions in the Forum posts and have concluded that the problem lies in the transcoding between Serviio residing on my Windows-based computer and the Samsung SmartTV. Specifically, either Serviio or the TV is miscalculating the length of time needed to play the entire video.
After the video loads, its duration is displayed as either 289:21:06 or 578:42:13. I think it’s not a coincidence that the latter is, subject to rounding, exactly twice the former. It’s also not a coincidence that the premature termination is proportional to the length of the playing time (or the file size). For a CNN news clip (usually less than 2 minutes long), the termination occurs a few seconds earlier then the “natural” end of the clip as played on my computer. For a nominal hour-long TV show episode (approximately 46 minutes after commercials are removed) the termination is at 41 or so minutes. The premature termination is too consistent – and has been reported by too many people -- to be attributable to a dodgy network or some random interference. As Zip posted, “The problem is transcoded content. Serviio doesn't know the future file size and send an arbitrary large number, but also the correct duration. Samsung chooses to ignore the duration value and instead computes duration based on the file size - thus the super long duration.” That’s half the answer. More importantly, in my non-technical phrasing: Despite the super long duration displayed, the quotient of [file size] / [processing rate bps] is a little too small to play the entire video. I’m not sure if the quotient is calculated by Serviio or by the TV; either way, it triggers the premature termination.
Also note that the super long duration displayed for the video as compared to its actual length makes it appear as if the progress bar is not working. It’s there and working, but the bright green segment would only advance to about 1/4% of the width of the progress bar. It’s too small to be seen.
It does not matter if the on-line source is an RSS feed or a Web resource. I have not tried a live stream. I tried various settings for duration of the advertisement SSDP messages from 300 to 18000; the setting does not affect the outcome.
It does seem to matter that the Samsung TV was manufactured after Samsung changed from AllShare to Samsung Link. AllShare still lurks in the TV somewhere. Depending on the combination of settings (e.g., Belkin router IPv6 pass-through enabled or disabled; the generic DLNA device, Samsung Series A, Series B or Series CDEF profile selected for the SmartTV; Samsung’s HDMI-CEC AnyNet+ on or off):
- the SmartTV Source listing is either “AllShare Serviio (computer name)” or “Network Serviio (computer name)”
- a given video will play [up to the premature termination] or yield a “file not currently supported” error (or, for TED Talks, a “may not be played properly” message)
- the premature termination error message is “Device disconnected” or “Check your network settings”
- after the termination Serviio will appear on the Source list OR I have to shut-off the TV and turn it back on for Serviio to appear on the Source list
Two days ago I thought I had the correct configuration. AnyNet+ off; IPv6 pass-through disabled; generic DLNA device profile. An NCIS episode displayed a length of 3:17:11. The progress was visible on the bar and the video played to its end and returned me to its Folder without disconnecting.
I have not been able to repeat the 3:17:11 result. In my experimenting, I found that the Series A profile is most likely to yield a “file not currently supported” error. With the Series B profile, a TED Talk video displayed a length of 1:03:26 (just once) but hour-long TV episodes go up to 578:42:13. Samsung CDEF profile and the generic DLNA profile almost always yield the 289:21:06 super long duration.
Attached are
detail log entries from about the time an hour-long TV show disconnected prematurely with the Samsung CDEF profile in use.
I would sincerely appreciate your looking into the transcoding length calculation and finding a way to ensure that, once accurately calculated, it is sent to the TV and not ignored.