Jellyfin not showing on your TV: fixing DLNA
Updated ยท 5 min read
Your TV's media or source list shows other servers, or nothing at all, but never Jellyfin. If you're looking for Jellyfin through the TV's built-in media player, that's DLNA, and in current Jellyfin it isn't there until you add it. Here's how to get Jellyfin showing on your TV, and when a Jellyfin app is the better answer.
Why Jellyfin doesn't appear
DLNA is an old standard that lets a TV, games console or receiver find media servers on the home network and play from them without an app. TVs find servers by shouting a discovery message to the whole network over UPnP (SSDP, on UDP port 1900) and listing whatever answers.
Jellyfin used to include a DLNA server. Since Jellyfin 10.9, DLNA has moved out of the core server into a first-party plugin, so a new install, or one upgraded from an older version, answers nobody until you install it. Jellyfin's documentation says this lets DLNA be updated on its own and reduces the risk of security holes in the server.
Turn DLNA on by hand
- Open the plugin catalog. Sign in to Jellyfin as an administrator, open Dashboard > Plugins, and go to the Catalog.
- Install the DLNA plugin. Choose DLNA, from the Jellyfin project, and install it.
- Restart Jellyfin. The plugin loads only after a server restart. Use Restart on the Dashboard, or restart the service or container.
- Check the plugin's settings. Open the DLNA plugin under Dashboard > Plugins and make sure the DLNA server is turned on. If the TV is slow to notice the server, set Alive message interval (seconds) to 30, as Jellyfin's documentation suggests.
- Refresh the TV's list. Turn the TV fully off and on, or reopen its media player app, so it searches the network again.
Tip: if you set a Base URL in Jellyfin's Networking settings (such as /jellyfin), DLNA may not work. Jellyfin's documentation suggests removing it and restarting if DLNA misbehaves.
Network and firewall checks
Installed the plugin and still nothing? Work through these in order.
- Same network, same subnet. DLNA discovery doesn't cross from one network to another. A TV on guest Wi-Fi, a separate IoT network or another VLAN won't see a server on your main network. Some mesh systems and routers also have "AP isolation" or "client isolation", which stops devices on Wi-Fi from seeing each other.
- Multicast allowed. Discovery relies on multicast. Settings like "IGMP snooping" or "multicast enhancement" on some routers can interfere; if the TV sometimes sees the server and sometimes doesn't, try changing them.
- Firewall on the server. Allow incoming UDP 1900 for discovery and Jellyfin's web port (TCP 8096 by default) for playback. On Windows, also check that your home network is set as a Private network: Public blocks most discovery. On a Mac, let Jellyfin through the macOS firewall.
- Docker. Jellyfin's documentation says DLNA in Docker needs host networking (
network_mode: host). With the default bridge network, the discovery messages never reach the container. - The log. In the Jellyfin log, "Address already in use" for port 1900 means another program holds it. That leads to the next section.
When Emby or Plex is on the same computer
Emby and Plex both include DLNA servers. When two servers on one computer both try to answer on port 1900, one may fail to start its DLNA side, or the TV lists one and not the other, and which one wins can change after a restart.
- If you're moving to Jellyfin, turn off DLNA in Emby or Plex (look in that server's DLNA settings), then restart Jellyfin.
- If your TV uses Emby's or Plex's DLNA and you don't need Jellyfin's, leave the DLNA plugin off or uninstall it. One DLNA server per computer is the reliable setup.
Emby on the same computer causes other clashes too: the web port, server discovery and artwork files. Running Jellyfin and Emby on one PC covers all four.
The better option: a Jellyfin app on the TV
DLNA works, but it's a lowest-common-denominator protocol. The TV decides what it can play, so subtitles, some audio formats and resume points often don't behave, and it doesn't know who's watching. A Jellyfin app signs each person in, keeps their progress, and lets Jellyfin convert video only when the TV truly can't play it.
Official Jellyfin apps exist for Android TV, Google TV and Fire TV, Roku, and LG and Samsung smart TVs; on Apple TV, use Swiftfin or Infuse. See the best Jellyfin app for each device. Signing in with a remote is easier with Quick Connect: the TV shows a code and you approve it from your phone. Keep DLNA for devices with no Jellyfin app, such as older TVs, receivers and consoles.
Questions
Does Jellyfin still support DLNA?
Yes, through the DLNA plugin from the official catalog. Since Jellyfin 10.9 it isn't part of the base install, so you add it under Dashboard, Plugins, Catalog and restart the server.
What port does Jellyfin DLNA use?
Discovery uses UDP port 1900, which can't be changed. Playback then uses Jellyfin's web port, TCP 8096 by default.
Why does my TV show Emby or Plex but not Jellyfin?
Either the DLNA plugin isn't installed, or another server on the same computer already holds port 1900. Turn off DLNA in the server you don't use, then restart Jellyfin.
Does Jellyfin DLNA work in Docker?
Only with host networking. Discovery messages don't pass through Docker's default bridge network.
The one-click way: Reelhost
Reelhost's free check-up looks for the two problems that most often hide Jellyfin from a TV at home. TV media list (DLNA) finds Emby and Jellyfin competing for the same network port on one computer; the fix turns off Jellyfin's DLNA and leaves Emby's, or keeps Jellyfin's if your TV uses it. Firewall adds one rule for Jellyfin's port that lets in devices on your home network and nobody else. Applying the fixes needs Core, Complete or Yearly.
The check-up is free and changes nothing. Every fix is previewed, backed up and reversible.