2024-11-25, 10:22 AM
(This post was last modified: 2024-11-25, 01:41 PM by TheDreadPirate. Edited 4 times in total.)
I solved this problem.
There are at least two problems here. First, I'm using M3U8 files from this site: {Providing links to sources is prohibited - TDP} - Jellyfin is not compatible with the M3U8 files that are configured for KODI. Nor the ones for TvHeadend. I have to go to the "raw" M3U8 files for it to start working.
"Raw" M3U8 is not ideal, because unlike the KODI and TvH files, "They don't pipe any streams and don't add any extra headers etc. Therefore, a lot of streams may not work" according to the site.
What Jellyfin actually has trouble with is processing the user-agent that is appended to every stream URL in the KODI and TvH M3U8s. If I manually strip just the user-agent string, then the KODI files (the only one I tried this with) work properly in Jellyfin, including headers, etc.
The user-agent in the non-RAW M3U8s has some escape characters, but otherwise looks like: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36&seekable=0&referer=
KODI m3u8
TVHeadend m3u8
RAW m3u8
tl;dr: Jellyfin won't play channels from certain M3U8 files with user-agents already attached to IPTV stream URLs.
For now, I'm making do with the RAW M3U8 files that are available.
The other problem is that the test IPTV M3U8 file that's in the Jellyfin Live TV Setup Guide only has links to dead streams.
When you're troubleshooting, it doesn't help to have the example Test M3U8 file that you're comparing to, also failing with the exact same error message. It wasn't until I was comparing the logs that I noticed that they were failing differently. The error message displayed in Jellyfin is quite obtuse and unhelpful, or else I may have figured this out a week earlier.
I've lost count of the number of times I've reinstalled Jellyfin in a NAS docker and on Win desktop this week trying to figure out why IPTV was broken for me on both machines with Jellyfin, but not on my IPTV program with the same KODI M3U8.
There are at least two problems here. First, I'm using M3U8 files from this site: {Providing links to sources is prohibited - TDP} - Jellyfin is not compatible with the M3U8 files that are configured for KODI. Nor the ones for TvHeadend. I have to go to the "raw" M3U8 files for it to start working.
"Raw" M3U8 is not ideal, because unlike the KODI and TvH files, "They don't pipe any streams and don't add any extra headers etc. Therefore, a lot of streams may not work" according to the site.
What Jellyfin actually has trouble with is processing the user-agent that is appended to every stream URL in the KODI and TvH M3U8s. If I manually strip just the user-agent string, then the KODI files (the only one I tried this with) work properly in Jellyfin, including headers, etc.
The user-agent in the non-RAW M3U8s has some escape characters, but otherwise looks like: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36&seekable=0&referer=
KODI m3u8
Code:
#EXTINF:-1 channel-id="mjh-7two-per" tvg-id="mjh-7two-per" tvg-logo="https://i.mjh.nz/.images/7two-per.png" tvg-chno="72" group-title="Perth" , 7two
https://<url redacted>/.r/7two-per.m3u8|user-agent=Mozilla/5.0%20%28Windows%20NT%2010.0%3B%20Win64%3B%20x64%29%20AppleWebKit/537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome/98.0.4758.102%20Safari/537.36&seekable=0&referer=%20
TVHeadend m3u8
Code:
#EXTINF:-1 channel-id="mjh-7two-per" tvg-id="mjh-7two-per" tvg-logo="https://i.mjh.nz/.images/7two-per.png" tvg-chno="72" group-title="Perth" , 7two
pipe://ffmpeg -loglevel fatal -probesize 10M -analyzeduration 0 -fpsprobesize 0 -headers user-agent:\ Mozilla/5.0\ (Windows\ NT\ 10.0;\ Win64;\ x64)\ AppleWebKit/537.36\ (KHTML,\ like\ Gecko)\ Chrome/98.0.4758.102\ Safari/537.36\r\nseekable:\ 0\r\nreferer:\ \ \r\n -i https://<url redacted>/.r/7two-per.m3u8 -vcodec copy -acodec copy -metadata service_name=mjh-7two-per -f mpegts pipe:1
RAW m3u8
Code:
#EXTINF:-1 channel-id="mjh-7two-per" tvg-id="mjh-7two-per" tvg-logo="https://i.mjh.nz/.images/7two-per.png" tvg-chno="72" group-title="Perth" , 7two
https://<url redacted>/.r/7two-per.m3u8
tl;dr: Jellyfin won't play channels from certain M3U8 files with user-agents already attached to IPTV stream URLs.
For now, I'm making do with the RAW M3U8 files that are available.
The other problem is that the test IPTV M3U8 file that's in the Jellyfin Live TV Setup Guide only has links to dead streams.
Quote:note
Here is a list of legal samples to use to test connectivity.
LegalStream Live News Playlist
When you're troubleshooting, it doesn't help to have the example Test M3U8 file that you're comparing to, also failing with the exact same error message. It wasn't until I was comparing the logs that I noticed that they were failing differently. The error message displayed in Jellyfin is quite obtuse and unhelpful, or else I may have figured this out a week earlier.
I've lost count of the number of times I've reinstalled Jellyfin in a NAS docker and on Win desktop this week trying to figure out why IPTV was broken for me on both machines with Jellyfin, but not on my IPTV program with the same KODI M3U8.