dms icon indicating copy to clipboard operation
dms copied to clipboard

Samsung TV: Video found but cannot be played (works on minidnla, trace attached)

Open probonopd opened this issue 4 years ago • 8 comments

Thanks for this useful piece of software.

UE46F... Series 6 Samsung TV shows icons for the videos served by dms in the DNLA browser, but trying to play the videos results in a black screen followed by an error message that the format is not supported "at this time". (So I think that this is different from https://github.com/anacrolix/dms/issues/56 where not even the icons can be seen.)

However, minidnla can serve the exact same video files to the same Samsung TV just fine.

Attached are pcap traces of good (minidnla) and bad (dms) attempts to play the video on the Samsung TV.

pcap.zip

I noticed that minidnla sends quite some more DNLA-related HTTP headers than dms when serving the video, but there are other differences as well.

Please let me know how I can help further to test/debug this.

probonopd avatar Mar 30 '20 17:03 probonopd

@probonopd thanks for the pcap! It looks like dms returns HTTP 500 errors for the SOAPACTION "urn:schemas-upnp-org:service:ContentDirectory:1#X_GetFeatureList". I expect there could be a more appropriate error to return for this unsupported request, that may have the Samsung handle the results better. It may be aborting whatever it was attempting, rather than trying to proceed with an unsupported action. The other choice would be to implement the action.

I won't look into that just now, I'm not active on this project at the moment.

anacrolix avatar Mar 30 '20 23:03 anacrolix

Thanks @anacrolix for your analysis. Searching for X_GetFeatureList in Golang code, I found the rclone project which, among many other features, can also serve directories on the local filesystem to DLNA devices. I can confirm that the Samsung TV can play the same video using rclone indeed.

Looking at the rclone code, the solution may be rather easy:

https://github.com/rclone/rclone/blob/66e08e0cc8972000d84a61f262286f5644d9fdee/cmd/serve/dlna/cds.go#L325-L341

Where would this need to be plugged into the dms code?

probonopd avatar Mar 31 '20 17:03 probonopd

@probonopd Thanks for finding this. I've submitted an issue to rclone, hopefully they are interesting in contributing their improvements on this. As for plugging it in, it would go alongside the code that was copied there in the first place 😆 .

anacrolix avatar Apr 01 '20 07:04 anacrolix

@probonopd can you try #86?

anacrolix avatar Oct 21 '21 02:10 anacrolix

I have a Samsung UE46D6300 (so similar but not identical), and I can confirm this problem with v.1.6.0

claes avatar Nov 29 '23 22:11 claes

I have a Samsung UE46D6300 (so similar but not identical), and I can confirm this problem with v.1.6.0

@claes Did you try #86 ?

anacrolix avatar Dec 01 '23 07:12 anacrolix

@anacrolix No, but since it was merged I assumed it was part of 1.6.0, but perhaps it isn't?

claes avatar Dec 01 '23 07:12 claes

You are quite right. I'll leave the issue open.

anacrolix avatar Dec 01 '23 09:12 anacrolix