I'm a big fan of the M3U tuner functionality of Jellyfin and I've spent a lot of time researching and collecting ways to use my Jellyfin server as my TV client. Thought I'd put down what I've learned here in case it helps someone else.
** EDIT ** Adding a basic "How to setup an M3U in Jellyfin" section as requested on reddit.
Setting up an M3U tuner
1. Go to your Jellyfin server dashboard:
2. Select LIVE TV
3. Click the + sign next to the words "TUNER DEVICE"
4. From the drop down menu beneath "Tuner type:" select "M3U Tuner"
5. In the FILE or URL box, add the URL of your M3U tuner (some examples provided below)
6. Click SAVE
7. If you have an XML EPG (examples below) contiue to step 8, otherwise go check out your new channels.
8. Click the + sign next to the words "TV GUIDE DATA PROVIDERS"
9. Select XMLTV from the popup menu
10. In the FILE or URL box, add the URL of your XML GUIDE (some examples provided below)
11. Click SAVE
12. Click REFRESH GUIDE DATA
13. Wait for the guide to be completely populated and the refresh to finish.
14. Go checkout your new channels from the LIVE TV section of your server landing page.
M3U
An M3U is playlist that contains links to video streams that can be brought into Jellyfin as TV channels. This can be (illegal) IPTV streams but there are also loads of free, legal M3U playlists available. An M3U can contain information about channel number, channel name, channel logo, etc and can be edited in most text editing programs.
EPG
An EPG (electronic programming guide) is what populates your TV guide page with programming information (“Friends” is on from 10am-10:30am, etc). Some free M3Us have associated EPGs but some do not. We’ll dig more into this in a bit.
Free M3Us
Here are some M3Us that you can put right into Jellyfin and begin watching live, streaming TV immediately. Be aware that some streams will be GEO BLOCKED.
The best known and most robust M3U options are PLUTO TV and STIRRTV. The good news is they are free, have loads of channels, and have available XML EPGs. The bad news is, they do not work on Jellyfin because of a well-known, long standing bug with FFMPEG (google EX DISCONTINUITY FFMPEG if you’ve got a lot of time on your hands). There’s a fix out there for it but there’s no timeline for integrating it into Jellyfins core).
Most free M3Us do not have and EPG, but a few do so I’ll give you both kinds to tinker with.
Samsung TV
M3U URL: https://rb.gy/soxjxl
EPG (XML): https://rb.gy/csudmm
Plex Live Channels
M3U URL: https://rb.gy/rhktaz
EPG (XML): https://rb.gy/uoqt9v
Tubi TV
M3U: https://www.apsattv.com/tubi.m3u
Roku Channels
M3U: https://www.apsattv.com/rok.m3u
Resources
As you explore M3U driven live TV on Jellyfin, here are some resources that may help.
M3u4u is a free website (please donate, it’s an amazing resource) that helps build, edit, and update M3Us. You can change logos, channel numbers, catagories, etc You can even merge multiple playlists into one and use their EPG database to find guide information. (M3u4u.com)
Apsattv is a website that aggregates and updates free M3U content. Most of the streams do not have EGPs but the guy behind this site does a great job of finding stream links and making them available for use (http://www.apsattv.com/streams.html)
Xteve is a program you can run in the background on your server that allows you to import multiple M3U playlists and combine them, customize the channel numbers, logos, and guide information. (https://github.com/xteve-project/xTeVe)
FreeIPTV is a github project that aggregates a massive (almost too massive) list of live M3Us. It’s an overwhelming number of channels, most (IMHO) are garbage, but there are some gems in there and some niche channels that might be useful to some users. (https://github.com/iptv-org/iptv)
Locast2DVR is an application that runs in the background on your server and serves up locast provided local stations in M3U or HDHR format for use in your media server. Lots of love about this program (I wrote a guide for installing in on Linux that’s in the github wiki). NOTE: You have to have a locast account and be a donator (free accounts cannot access the streams). (https://github.com/wouterdebie/locast2dvr)
M3U Editor Jellyfin Plugin is a great plugin created by MrChips that allows you to customize an M3U for use in Jellyfin. Change logos, channel numbers, etc all within the JF ecosystem. (https://github.com/MrChip53/jellyfin-plugin-m3ueditor)
ErsatzTV is a little more advanced but incredibly cool. You can run this application in the background on your server and turn your personal media into a live streaming channel. Lots of customization options as well. (https://github.com/jasongdove/ErsatzTV/)
Mixing and matches all these resources/M3Us give you the chance to build out a really robust, free Live TV setup. You can customize channel numbers, remove channels you don't want to watch (I'm looking at you, QVC), and build something you can really enjoy at minimal or no cost.
I’m happy to answer any questions about M3U Live TV and if you know of resources or playlists I haven’t listed, please add them to the reddit thread.