DLNA not working on recent Samsung TV

What is the problem you are having with rclone?

Serve DLNA works on everything except on my Samsung TV (QN55S90DAGXZD).

I saw other topics on this (like this one) but nothing works for me.

Run the command 'rclone version' and share the full output of the command.

I am using docker container and tried with these 2 versions:

# docker.io/rclone/rclone:latest
rclone v1.69.1
- os/version: alpine 3.21.2 (64 bit)
- os/kernel: 6.12.12-amd64 (x86_64)
- os/type: linux
- os/arch: amd64
- go/version: go1.24.0
- go/linking: static
- go/tags: none
# docker.io/rclone/rclone:beta
rclone v1.70.0-beta.8629.6a7e68aaf
- os/version: alpine 3.21.3 (64 bit)
- os/kernel: 6.12.12-amd64 (x86_64)
- os/type: linux
- os/arch: amd64
- go/version: go1.24.1
- go/linking: static
- go/tags: none

Which cloud storage system are you using? (eg Google Drive)

local file system

The command you were trying to run (eg rclone copy /tmp remote:tmp)

podman run -it --rm --name rclone --network host --volume /home/lucas/Videos/:/data:ro docker.io/rclone/rclone:beta -vv serve dlna /data --log-trace

A log from the command that you were trying to run with the -vv flag

lucas@vostro5320:~$ podman run -it --rm --name rclone --network host --volume /home/lucas/Videos/:/data:ro docker.io/rclone/rclone:latest -vv serve dlna /data --log-trace
2025/03/15 11:19:37 DEBUG : rclone: Version "v1.69.1" starting with parameters ["rclone" "-vv" "serve" "dlna" "/data" "--log-trace"]
2025/03/15 11:19:37 DEBUG : Creating backend with remote "/data"
2025/03/15 11:19:37 NOTICE: Config file "/config/rclone/rclone.conf" not found - using defaults
2025/03/15 11:19:37 INFO  : Local file system at /data: poll-interval is not supported by this remote
2025/03/15 11:19:37 NOTICE: Local file system at /data: Serving HTTP on 0.0.0.0:7879
2025/03/15 11:19:37 NOTICE: DLNA server on :7879: Started SSDP on enx0826ae330f24
2025/03/15 11:19:37 NOTICE: DLNA server on :7879: Started SSDP on wlp0s20f3
2025/03/15 11:19:37 INFO  : DLNA server on :7879: Started SSDP on enx0826ae330f24
2025/03/15 11:19:37 INFO  : DLNA server on :7879: Started SSDP on wlp0s20f3
2025/03/15 11:19:57 DEBUG : POST /ctl HTTP/1.1
Host: 192.168.1.243:7879
Accept: */*
Connection: close
Content-Length: 445
Content-Type: text/xml; charset="utf-8"
Soapaction: "urn:schemas-upnp-org:service:ContentDirectory:1#Browse"
User-Agent: DLNADOC/1.50 SEC_HHP_55" OLED/1.0 UPnP/1.0

<?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:Browse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1"><ObjectID>0</ObjectID><BrowseFlag>BrowseMetadata</BrowseFlag><Filter>*</Filter><StartingIndex>0</StartingIndex><RequestedCount>0</RequestedCount><SortCriteria></SortCriteria></u:Browse></s:Body></s:Envelope>
2025/03/15 11:19:57 DEBUG : HTTP/1.1 200 OK
Connection: close
Content-Type: text/xml; charset="utf-8"
Ext: 

<?xml version="1.0" encoding="utf-8" standalone="yes"?><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"><TotalMatches>1</TotalMatches>
<NumberReturned>1</NumberReturned>
<Result>&lt;DIDL-Lite xmlns:dc=&#34;http://purl.org/dc/elements/1.1/&#34; xmlns:upnp=&#34;urn:schemas-upnp-org:metadata-1-0/upnp/&#34; xmlns=&#34;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&#34; xmlns:dlna=&#34;urn:schemas-dlna-org:metadata-1-0/&#34;&gt;&lt;container id=&#34;0&#34; parentID=&#34;-1&#34; restricted=&#34;1&#34; searchable=&#34;0&#34; childCount=&#34;1&#34;&gt;&lt;upnp:class&gt;object.container.storageFolder&lt;/upnp:class&gt;&lt;dc:title&gt;/&lt;/dc:title&gt;&lt;dc:date&gt;0001-01-01&lt;/dc:date&gt;&lt;/container&gt;&lt;/DIDL-Lite&gt;</Result>
<UpdateID>1</UpdateID></u:BrowseResponse></s:Body></s:Envelope>
2025/03/15 11:19:57 INFO  : /ctl: 192.168.1.113:51126 POST 200 "urn:schemas-upnp-org:service:ContentDirectory:1#Browse" 
2025/03/15 11:19:58 DEBUG : POST /ctl HTTP/1.1
Host: 192.168.1.243:7879
Accept: */*
Connection: close
Content-Length: 445
Content-Type: text/xml; charset="utf-8"
Soapaction: "urn:schemas-upnp-org:service:ContentDirectory:1#Browse"
User-Agent: DLNADOC/1.50 SEC_HHP_55" OLED/1.0 UPnP/1.0

<?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:Browse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1"><ObjectID>0</ObjectID><BrowseFlag>BrowseMetadata</BrowseFlag><Filter>*</Filter><StartingIndex>0</StartingIndex><RequestedCount>0</RequestedCount><SortCriteria></SortCriteria></u:Browse></s:Body></s:Envelope>
2025/03/15 11:19:58 DEBUG : HTTP/1.1 200 OK
Connection: close
Content-Type: text/xml; charset="utf-8"
Ext: 

<?xml version="1.0" encoding="utf-8" standalone="yes"?><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"><TotalMatches>1</TotalMatches>
<NumberReturned>1</NumberReturned>
<Result>&lt;DIDL-Lite xmlns:dc=&#34;http://purl.org/dc/elements/1.1/&#34; xmlns:upnp=&#34;urn:schemas-upnp-org:metadata-1-0/upnp/&#34; xmlns=&#34;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&#34; xmlns:dlna=&#34;urn:schemas-dlna-org:metadata-1-0/&#34;&gt;&lt;container id=&#34;0&#34; parentID=&#34;-1&#34; restricted=&#34;1&#34; searchable=&#34;0&#34; childCount=&#34;1&#34;&gt;&lt;upnp:class&gt;object.container.storageFolder&lt;/upnp:class&gt;&lt;dc:title&gt;/&lt;/dc:title&gt;&lt;dc:date&gt;0001-01-01&lt;/dc:date&gt;&lt;/container&gt;&lt;/DIDL-Lite&gt;</Result>
<UpdateID>1</UpdateID></u:BrowseResponse></s:Body></s:Envelope>
2025/03/15 11:19:58 INFO  : /ctl: 192.168.1.113:51130 POST 200 "urn:schemas-upnp-org:service:ContentDirectory:1#Browse" 
2025/03/15 11:19:58 DEBUG : POST /ctl HTTP/1.1
Host: 192.168.1.243:7879
Accept: */*
Connection: close
Content-Length: 445
Content-Type: text/xml; charset="utf-8"
Soapaction: "urn:schemas-upnp-org:service:ContentDirectory:1#Browse"
User-Agent: DLNADOC/1.50 SEC_HHP_55" OLED/1.0 UPnP/1.0

<?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:Browse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1"><ObjectID>0</ObjectID><BrowseFlag>BrowseMetadata</BrowseFlag><Filter>*</Filter><StartingIndex>0</StartingIndex><RequestedCount>0</RequestedCount><SortCriteria></SortCriteria></u:Browse></s:Body></s:Envelope>
2025/03/15 11:19:58 DEBUG : HTTP/1.1 200 OK
Connection: close
Content-Type: text/xml; charset="utf-8"
Ext: 

<?xml version="1.0" encoding="utf-8" standalone="yes"?><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"><NumberReturned>1</NumberReturned>
<Result>&lt;DIDL-Lite xmlns:dc=&#34;http://purl.org/dc/elements/1.1/&#34; xmlns:upnp=&#34;urn:schemas-upnp-org:metadata-1-0/upnp/&#34; xmlns=&#34;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&#34; xmlns:dlna=&#34;urn:schemas-dlna-org:metadata-1-0/&#34;&gt;&lt;container id=&#34;0&#34; parentID=&#34;-1&#34; restricted=&#34;1&#34; searchable=&#34;0&#34; childCount=&#34;1&#34;&gt;&lt;upnp:class&gt;object.container.storageFolder&lt;/upnp:class&gt;&lt;dc:title&gt;/&lt;/dc:title&gt;&lt;dc:date&gt;0001-01-01&lt;/dc:date&gt;&lt;/container&gt;&lt;/DIDL-Lite&gt;</Result>
<UpdateID>1</UpdateID>
<TotalMatches>1</TotalMatches></u:BrowseResponse></s:Body></s:Envelope>
2025/03/15 11:19:58 INFO  : /ctl: 192.168.1.113:51132 POST 200 "urn:schemas-upnp-org:service:ContentDirectory:1#Browse"

welcome to the forum,

can compare the rclone debug logs to pinpoint the issue.

Sorry to be late. This is an example of the VLC access.

lucas@vostro5320:~$ podman run -it --rm --name rclone --network host --volume /home/lucas/VĂ­deos/Audio/:/data:ro docker.io/rclone/rclone:latest -vv serve dlna /data --log-trace
2025/03/17 23:16:53 DEBUG : rclone: Version "v1.69.1" starting with parameters ["rclone" "-vv" "serve" "dlna" "/data" "--log-trace"]
2025/03/17 23:16:53 DEBUG : Creating backend with remote "/data"
2025/03/17 23:16:53 NOTICE: Config file "/config/rclone/rclone.conf" not found - using defaults
2025/03/17 23:16:53 INFO  : Local file system at /data: poll-interval is not supported by this remote
2025/03/17 23:16:53 NOTICE: Local file system at /data: Serving HTTP on 0.0.0.0:7879
2025/03/17 23:16:53 NOTICE: DLNA server on :7879: Started SSDP on wlp0s20f3
2025/03/17 23:16:53 INFO  : DLNA server on :7879: Started SSDP on wlp0s20f3
2025/03/17 23:17:03 DEBUG : GET /rootDesc.xml HTTP/1.1
Host: 192.168.1.243:7879
Connection: close
Date: Mon, 17 Mar 2025 23:17:03 GMT
User-Agent: Linux/6.1.75-android14-11, UPnP/1.0, Portable SDK for UPnP devices/1.14.13

2025/03/17 23:17:03 DEBUG : HTTP/1.1 200 OK
Content-Length: 2601
Cache-Control: private, max-age=60
Content-Type: text/xml; charset="utf-8"

<?xml version="1.0"?>
<root xmlns="urn:schemas-upnp-org:device-1-0"
      xmlns:dlna="urn:schemas-dlna-org:device-1-0"
      xmlns:sec="http://www.sec.co.kr/dlna">
  <specVersion>
    <major>1</major>
    <minor>0</minor>
  </specVersion>
  <device>
    <deviceType>urn:schemas-upnp-org:device:MediaServer:1</deviceType>
    <friendlyName>rclone (vostro5320)</friendlyName>
    <manufacturer>rclone (rclone.org)</manufacturer>
    <manufacturerURL>https://rclone.org/</manufacturerURL>
    <modelDescription>rclone</modelDescription>
    <modelName>rclone</modelName>
    <modelNumber>v1.69.1</modelNumber>
    <modelURL>https://rclone.org/</modelURL>
    <serialNumber>00000000</serialNumber>
    <UDN>uuid:e045a73f-061a-abe6-d797-c472b3e77d23</UDN>
    <dlna:X_DLNACAP/>
    <dlna:X_DLNADOC>DMS-1.50</dlna:X_DLNADOC>
    <dlna:X_DLNADOC>M-DMS-1.50</dlna:X_DLNADOC>
    <sec:ProductCap>smi,DCM10,getMediaInfo.sec,getCaptionInfo.sec</sec:ProductCap>
    <sec:X_ProductCap>smi,DCM10,getMediaInfo.sec,getCaptionInfo.sec</sec:X_ProductCap>
    <iconList>
      <icon>
        <mimetype>image/png</mimetype>
        <width>48</width>
        <height>48</height>
        <depth>8</depth>
        <url>/static/rclone-48x48.png</url>
      </icon>
      <icon>
        <mimetype>image/png</mimetype>
        <width>120</width>
        <height>120</height>
        <depth>8</depth>
        <url>/static/rclone-120x120.png</url>
      </icon>
    </iconList>
    <serviceList>
      <service>
        <serviceType>urn:schemas-upnp-org:service:ContentDirectory:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:ContentDirectory</serviceId>
        <SCPDURL>/static/ContentDirectory.xml</SCPDURL>
        <controlURL>/ctl</controlURL>
        <eventSubURL></eventSubURL>
      </service>
      <service>
        <serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
        <SCPDURL>/static/ConnectionManager.xml</SCPDURL>
        <controlURL>/ctl</controlURL>
        <eventSubURL></eventSubURL>
      </service>
      <service>
        <serviceType>urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1</serviceType>
        <serviceId>urn:microsoft.com:serviceId:X_MS_MediaReceiverRegistrar</serviceId>
        <SCPDURL>/static/X_MS_MediaReceiverRegistrar.xml</SCPDURL>
        <controlURL>/ctl</controlURL>
        <eventSubURL></eventSubURL>
      </service>
    </serviceList>
    <presentationURL>/</presentationURL>
  </device>
</root>
2025/03/17 23:17:03 INFO  : /rootDesc.xml: 192.168.1.176:37698 GET 200  
2025/03/17 23:17:03 INFO  : /static/rclone-120x120.png: 192.168.1.176:37708 GET 200  
2025/03/17 23:17:03 INFO  : /static/rclone-120x120.png: 192.168.1.176:37722 GET 200  
2025/03/17 23:17:08 DEBUG : POST /ctl HTTP/1.1
Host: 192.168.1.243:7879
Accept-Ranges: bytes
Content-Length: 440
Content-Type: text/xml; charset="utf-8"
Soapaction: "urn:schemas-upnp-org:service:ContentDirectory:1#Browse"
User-Agent: Linux/6.1.75-android14-11, UPnP/1.0, Portable SDK for UPnP devices/1.14.13

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body><u:Browse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1">
<ObjectID>0</ObjectID>
<BrowseFlag>BrowseDirectChildren</BrowseFlag>
<Filter>*</Filter>
<StartingIndex>0</StartingIndex>
<RequestedCount>5000</RequestedCount>
<SortCriteria></SortCriteria>
</u:Browse>
</s:Body>
</s:Envelope>

2025/03/17 23:17:08 DEBUG : HTTP/1.1 200 OK
Connection: close
Content-Type: text/xml; charset="utf-8"
Ext: 

<?xml version="1.0" encoding="utf-8" standalone="yes"?><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:dc=&#34;http://purl.org/dc/elements/1.1/&#34; xmlns:upnp=&#34;urn:schemas-upnp-org:metadata-1-0/upnp/&#34; xmlns=&#34;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&#34; xmlns:dlna=&#34;urn:schemas-dlna-org:metadata-1-0/&#34;&gt;&lt;item id=&#34;%2FMP4_HPL40_30fps_channel_id_51.mp4&#34; parentID=&#34;0&#34; restricted=&#34;1&#34; searchable=&#34;0&#34;&gt;&lt;upnp:class&gt;object.item.videoItem&lt;/upnp:class&gt;&lt;dc:title&gt;MP4_HPL40_30fps_channel_id_51.mp4&lt;/dc:title&gt;&lt;dc:date&gt;2023-12-14&lt;/dc:date&gt;&lt;res protocolInfo=&#34;http-get:*:video/mp4:DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000&#34; size=&#34;31832661&#34;&gt;http://192.168.1.243:7879/r/MP4_HPL40_30fps_channel_id_51.mp4&lt;/res&gt;&lt;/item&gt;&lt;item id=&#34;%2Fshattered-3Mb.mp4&#34; parentID=&#34;0&#34; restricted=&#34;1&#34; searchable=&#34;0&#34;&gt;&lt;upnp:class&gt;object.item.videoItem&lt;/upnp:class&gt;&lt;dc:title&gt;shattered-3Mb.mp4&lt;/dc:title&gt;&lt;dc:date&gt;2023-12-14&lt;/dc:date&gt;&lt;res protocolInfo=&#34;http-get:*:video/mp4:DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000&#34; size=&#34;21486728&#34;&gt;http://192.168.1.243:7879/r/shattered-3Mb.mp4&lt;/res&gt;&lt;/item&gt;&lt;item id=&#34;%2FUniverse_Fury2.mp4&#34; parentID=&#34;0&#34; restricted=&#34;1&#34; searchable=&#34;0&#34;&gt;&lt;upnp:class&gt;object.item.videoItem&lt;/upnp:class&gt;&lt;dc:title&gt;Universe_Fury2.mp4&lt;/dc:title&gt;&lt;dc:date&gt;2023-12-14&lt;/dc:date&gt;&lt;res protocolInfo=&#34;http-get:*:video/mp4:DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000&#34; size=&#34;138184145&#34;&gt;http://192.168.1.243:7879/r/Universe_Fury2.mp4&lt;/res&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;</Result>
<UpdateID>1</UpdateID>
<TotalMatches>3</TotalMatches>
<NumberReturned>3</NumberReturned></u:BrowseResponse></s:Body></s:Envelope>
2025/03/17 23:17:08 INFO  : /ctl: 192.168.1.176:40206 POST 200 "urn:schemas-upnp-org:service:ContentDirectory:1#Browse" 

Apparently, each one is using different BrowseFlags. VLC uses the BrowseDirectChildren with 5000 RequestedCount and this works correctly. The Samsung TV tries to browse using the BrowseMetadata with 0 RequestedCount and this is not resulting in the correct list of files.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.