Browse the docs

DLNA for TVs and receivers

Let smart TVs, games consoles and AV receivers browse and play your library over DLNA, limited to one account and your home network.

On this page
  1. DLNA has no sign-in
  2. How Collectoh keeps it contained
  3. Turning it on
  4. What devices see
  5. Files play as they are
  6. Subtitles on Samsung, LG and other TVs
  7. What DLNA doesn't record
  8. Troubleshooting
  9. The server doesn't appear
  10. Docker needs the host's network
  11. The server appears but is empty
  12. Other problems

Many televisions, games consoles and AV receivers can play from a DLNA (UPnP) media server on your home network, even if they can't run the Collectoh app. Collectoh can act as that server. It's off until an admin turns it on.

DLNA has no sign-in

DLNA is designed without passwords. Any device on the network can ask what's available and get an answer, and Collectoh can't add a sign-in to it. So while DLNA is on, anyone on your home network can browse and play everything the chosen account can see. That includes every phone, television and visitor's laptop on your Wi-Fi.

How Collectoh keeps it contained

  • Off until you acknowledge it. You can't turn it on without ticking a box to say you understand it has no sign-in. Collectoh records who turned it on and when. Restoring a backup turns it off again.
  • One regular account's view. DLNA shows exactly what one chosen account can see: its libraries, age limit, labels and viewing hours. You can't choose an owner or admin account. If the chosen account is deleted, deactivated or made an admin, DLNA shows nothing until you choose another.
  • Viewing hours still apply. Outside the account's viewing hours, nothing new can start, though something already playing may finish.
  • Home network only. Collectoh answers only devices that reach it directly. They must be on the same subnet as the server and inside your local networks, with no proxy, port forward or tunnel in between. Any other device gets the same reply as a server with DLNA turned off, so nothing outside your home can tell DLNA is on.
  • Nothing extra leaves. Book and document libraries are never listed. Photos are sent as JPEG copies with no location data.

Some devices look exactly like devices at home, and are treated as such. For example, people using a VPN can appear under the VPN server's home address.

Turning it on

  1. In Admin → Settings, find the DLNA card.
  2. Under Show what this account can see, choose the account.
  3. Tick I understand that anyone on my home network can browse and play what this account can see, without signing in.
  4. Press Turn DLNA on.

The card then shows:

  • which libraries are shared
  • the addresses where devices find the server
  • anything stopping devices from finding it
  • the devices Seen lately

If you choose a different account later, you have to tick the box again. Turn DLNA off stops it immediately. Devices list the server by the Server name set at the top of Admin → Settings.

What devices see

At the top level, devices see a folder for each library the account can see, as long as the device plays that kind of media:

LibraryInside its folder
FilmsThe films
TVShows, then seasons, then episodes
MusicArtists (then albums, then tracks) and Albums (then tracks)
PhotosBy month, then your albums, then photos not in an album
Home videosYour folders, then videos not in a folder
Courses and audiobooksEach course or book, then its contents

AV receivers only see music and audiobooks.

Files play as they are

Collectoh doesn't convert anything for DLNA. The device receives the file itself, so if it can't play a file, it will say so. Collectoh recognises common device families: LG, Samsung and Sony televisions, Xbox, PlayStation, VLC, Kodi, Windows and AV receivers. When a film has several versions, Collectoh lists the version that device should be able to play as it is first, then the best-quality picture.

Subtitles on Samsung, LG and other TVs

A film's text subtitles, whether in separate files or inside the video, are sent with it in SubRip format. Up to four are sent, starting with the default track, with any timing fix applied. Samsung televisions receive them in the format Samsung requires. LG and most other televisions receive them as an extra subtitle file. Picture subtitles (PGS, VobSub) can't be sent separately, so they stay inside the video file for devices that can show them.

What DLNA doesn't record

DLNA has no way to tell Collectoh who is watching, so nothing played through it is recorded. There is no progress, no history, no entry in Admin → Sessions, and nothing counts against stream limits. Signing out an account's devices doesn't stop a DLNA stream either. To stop it, turn DLNA off or choose a different account.

Troubleshooting

The server doesn't appear

  • Devices find the server by multicast on UDP port 1900, then fetch everything over the server's normal port (8080 by default). Allow both through the server's firewall for your home network.
  • If port 1900 is already in use, usually by another DLNA server on the same machine, the DLNA card warns you.
  • The device must be on the same subnet as the server. A separate VLAN, or a guest network with its own subnet, doesn't count as home.
  • Check that Local networks, in Admin → Settings → Network, includes your home network. A server first started on Docker's usual bridge network may have recorded only that bridge network.

Docker needs the host's network

On Docker's usual bridge network, the announcements never reach your home network, and the DLNA card warns that the server looks bridged. Run the server on the host's network instead. The server then can't reach the database by its service name, so publish the database and Redis on the host's loopback address. Save this as docker-compose.dlna.yml:

services:
  server:
    network_mode: host
    environment:
      DATABASE_URL: postgres://collectoh:${DB_PASSWORD}@127.0.0.1:5432/collectoh
      REDIS_URL: redis://127.0.0.1:6379
  postgres:
    ports: ["127.0.0.1:5432:5432"]
  redis:
    ports: ["127.0.0.1:6379:6379"]

Start it with docker compose -f docker-compose.yml -f docker-compose.dlna.yml up -d. The server then listens on port 8080 of the host itself. If something on the host already uses port 5432 or 6379, pick different host ports and change the two addresses to match.

Docker Desktop on Windows and macOS can't do this, because its containers run inside a virtual machine. Use Docker on Linux, including on a NAS, or run Collectoh without Docker (see the installation guide).

The server appears but is empty

  • The chosen account may have no libraries, or may have been deleted, deactivated or made an admin. The card tells you which.
  • Libraries that are disabled, hidden from the sidebar, or of a kind the device can't play aren't shown.
  • It may be outside the account's viewing hours.

Other problems

  • A file won't play: the device can't play that file as it is. Try an optimised version, or watch the file in Collectoh itself.
  • Testing on the server machine: requests to localhost are refused, in the same way as requests from a proxy. Test from another device instead.
  • Windows Media Player and the Xbox 360 aren't supported, because they only look for Microsoft's own fixed folders. The Xbox One and Series, VLC, Kodi and televisions all work.

Last updated 28 September 2026