Jellyfin Forum
Can't play m38u files - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Support (https://forum.jellyfin.org/f-support)
+--- Forum: Troubleshooting (https://forum.jellyfin.org/f-troubleshooting)
+--- Thread: Can't play m38u files (/t-can-t-play-m38u-files)



Can't play m38u files - gartiol - 2025-01-28

I am trying to get Jellyfin to play (stream) m3u8 files from an external online source.

An example of a file I would like Jellyfin to play is this file: https://drod20m.akamaized.net/all/clear/none/36/6732040cc1baac3e44fd4336/00572215010/stream_fmp4/master_manifest.m3u8

When downloaded the file looks like this:
Quote:#EXTM3U
#EXT-X-VERSION:6
#EXT-X-INDEPENDENT-SEGMENTS


#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio_low",NAME="English",LANGUAGE="en",AUTOSELECT=YES,DEFAULT=YES,CHANNELS="2",URI="Bag-enhver-mand_DRTV-20240300_FullHD_16x9_VideoMain_audio_128kbps.m3u8"
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio_medium",NAME="English",LANGUAGE="en",AUTOSELECT=YES,DEFAULT=YES,CHANNELS="2",URI="Bag-enhver-mand_DRTV-20240300_FullHD_16x9_VideoMain_audio_192kbps.m3u8"

#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="Fremmedsprogstekster",DEFAULT=YES,AUTOSELECT=YES,FORCED=NO,LANGUAGE="da",URI="../subtitles/Foreign-Bag-enhver-mand_DRTV-20240300_FullHD_16x9_VideoMain/playlist.m3u8"
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="Dansk",DEFAULT=NO,AUTOSELECT=NO,FORCED=NO,LANGUAGE="da",URI="../subtitles/Foreign_HardOfHearing-Bag-enhver-mand_DRTV-20240300_FullHD_16x9_VideoMain/playlist.m3u8"

#EXT-X-I-FRAME-STREAM-INF:AVERAGE-BANDWIDTH=15432,BANDWIDTH=25520,VIDEO-RANGE=SDR,CODECS="avc1.42C01E",RESOLUTION=640x360,URI="Bag-enhver-mand_DRTV-20240300_FullHD_16x9_VideoMain_video_500_iframe.m3u8"
#EXT-X-I-FRAME-STREAM-INF:AVERAGE-BANDWIDTH=35846,BANDWIDTH=63332,VIDEO-RANGE=SDR,CODECS="avc1.64001F",RESOLUTION=852x480,URI="Bag-enhver-mand_DRTV-20240300_FullHD_16x9_VideoMain_video_1100_iframe.m3u8"
#EXT-X-I-FRAME-STREAM-INF:AVERAGE-BANDWIDTH=55768,BANDWIDTH=92302,VIDEO-RANGE=SDR,CODECS="avc1.640028",RESOLUTION=960x540,URI="Bag-enhver-mand_DRTV-20240300_FullHD_16x9_VideoMain_video_2000_iframe.m3u8"
#EXT-X-I-FRAME-STREAM-INF:AVERAGE-BANDWIDTH=85514,BANDWIDTH=140880,VIDEO-RANGE=SDR,CODECS="avc1.640029",RESOLUTION=1280x720,URI="Bag-enhver-mand_DRTV-20240300_FullHD_16x9_VideoMain_video_3500_iframe.m3u8"
#EXT-X-I-FRAME-STREAM-INF:AVERAGE-BANDWIDTH=130569,BANDWIDTH=221388,VIDEO-RANGE=SDR,CODECS="avc1.640029",RESOLUTION=1920x1080,URI="Bag-enhver-mand_DRTV-20240300_FullHD_16x9_VideoMain_video_5500_iframe.m3u8"

#EXT-X-STREAM-INF:BANDWIDTH=706330,AVERAGE-BANDWIDTH=629515,FRAME-RATE=25.000,CODECS="avc1.42C01E,mp4a.40.2",RESOLUTION=640x360,VIDEO-RANGE="SDR",AUDIO="audio_low",SUBTITLES="subs"
Bag-enhver-mand_DRTV-20240300_FullHD_16x9_VideoMain_video_500.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=1396820,AVERAGE-BANDWIDTH=1226412,FRAME-RATE=25.000,CODECS="avc1.64001F,mp4a.40.2",RESOLUTION=852x480,VIDEO-RANGE="SDR",AUDIO="audio_low",SUBTITLES="subs"
Bag-enhver-mand_DRTV-20240300_FullHD_16x9_VideoMain_video_1100.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2522305,AVERAGE-BANDWIDTH=2186176,FRAME-RATE=25.000,CODECS="avc1.640028,mp4a.40.2",RESOLUTION=960x540,VIDEO-RANGE="SDR",AUDIO="audio_medium",SUBTITLES="subs"
Bag-enhver-mand_DRTV-20240300_FullHD_16x9_VideoMain_video_2000.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=4234290,AVERAGE-BANDWIDTH=3673027,FRAME-RATE=25.000,CODECS="avc1.640029,mp4a.40.2",RESOLUTION=1280x720,VIDEO-RANGE="SDR",AUDIO="audio_medium",SUBTITLES="subs"
Bag-enhver-mand_DRTV-20240300_FullHD_16x9_VideoMain_video_3500.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=6447199,AVERAGE-BANDWIDTH=5655913,FRAME-RATE=25.000,CODECS="avc1.640029,mp4a.40.2",RESOLUTION=1920x1080,VIDEO-RANGE="SDR",AUDIO="audio_medium",SUBTITLES="subs"
Bag-enhver-mand_DRTV-20240300_FullHD_16x9_VideoMain_video_5500.m3u8

If I try to play that file with Jellyfin, Jellyfin won't play the best version/resolution of the file (1920x1080). Jellyfin will only play the first version listen (640x360).

To fix that error i have made a new m3u8 file with links to audio and video sources.

This file looks like this:
Quote:#EXTM3U

#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio",NAME="English",LANGUAGE="en",AUTOSELECT=YES,DEFAULT=YES,URI="{censored IPTV URL - TDP}-20240300_FullHD_16x9_VideoMain_audio_192kbps.mp4"

#EXT-X-STREAM-INF:BANDWIDTH=6447199,RESOLUTION=1920x1080,CODECS="avc1.640029,mp4a.40.2",AUDIO="audio"
{censored IPTV URL - TDP}-20240300_FullHD_16x9_VideoMain_video_5500.mp4

When I try to play that with Jellyfin, Jellyfin just stops.

The following errors shows up in the logs:
Quote:FFmpeg exited with code 234
[2025-01-28 16:56:54.174 +01:00] [ERR] Error processing request. URL "GET" "/videos/3428acde-9c9a-4b29-e7b9-7847a945c0dd/live.m3u8".
MediaBrowser.Common.FfmpegException: FFmpeg exited with code 234

From ffmpegs log:
Quote:[hls @ 0x654170639440] Opening '{censored IPTV URL - TDP}-20240300_FullHD_16x9_VideoMain_audio_192kbps.mp4' for reading
[https @ 0x6541706468c0] Protocol 'https' not on whitelist 'file,crypto,data'!
[hls @ 0x654170639440] parse_playlist error Invalid argument [{censored IPTV URL - TDP}-20240300_FullHD_16x9_VideoMain_audio_192kbps.mp4]
[hls @ 0x654170639440] Opening '{censored IPTV URL - TDP}-20240300_FullHD_16x9_VideoMain_video_5500.mp4' for reading
[https @ 0x6541706468c0] Protocol 'https' not on whitelist 'file,crypto,data'!
[hls @ 0x654170639440] parse_playlist error Invalid argument [{censored IPTV URL - TDP}-20240300_FullHD_16x9_VideoMain_video_5500.mp4]
[hls @ 0x654170639440] Empty segment [{censored IPTV URL - TDP}-20240300_FullHD_16x9_VideoMain_video_5500.mp4]

It is my understanding that protocols can be added to ffmpegs whitelist. But I still have to figure out if that is the actual problem.

Can the problems be fixed, or am I simply trying to get Jellyfin to play something, that it just cant do?

Pointers and help will be greatly appreciated.


RE: Can't play m38u files - TheDreadPirate - 2025-01-28

Try creating an m3u without the EXT headers. Just a link to the MP4.

If that doesn't work, consider using an IPTV proxy with the original M3U. Something like TVHeadend or Threadfin.


RE: Can't play m38u files - gartiol - 2025-01-28

I removed the headers, but that didn't seem to work.

Is both TVHeadend and Threadfin used for livetv? If I am able to use TVHeadend or Threadfin to play the original m3u8 file, i would have to import 100's of files..But how would that work? Is the layout like livetv EPG?


RE: Can't play m38u files - TheDreadPirate - 2025-01-28

They are IPTV proxies. You feed IPTV into each and then those apps send the video to Jellyfin. You'd still have to setup liveTV in Jellyfin, but the provider would be TVHeadend/Threadfin. TVHeadend has a plugin you install in Jellyfin to automate that setup.


RE: Can't play m38u files - gartiol - 2025-02-09

I need a solution that will let me add several m3u8 links to movies and individual series/episodes. I have tested both TVHeadend and Threadfin, and both of them requires a source with XMLTV/EPG data in order to work. There is none of that in my case, since it is not Live TV and the movies/series are not from a IPTV supplier.

How would I fix that?


RE: Can't play m38u files - TheDreadPirate - 2025-02-10

So these are static files that you have stored somewhere?

In that case you'd use a strm file and not an m3u file. Similar in that strm files are just links, but Jellyfin will handle them differently.

If this is some form of cloud storage, you could also use rclone to mount the cloud storage to appear as local storage on the server.


RE: Can't play m38u files - gartiol - 2025-02-12

These are files that are online on the web and publicly accessible. I have tried to create strm files with links to the online source file (m38u). But when I try to play that file with Jyllyfin, Jellyfin will not play the best version/resolution of the file (1920x1080). Jellyfin will only play the first version listed (640x360) in the m3u8.


RE: Can't play m38u files - TheDreadPirate - 2025-02-12

I meant skip the M3U and put the URL for the file you DO want to play in the strm file. Treat strm files as you would actual video files. One per strm.


RE: Can't play m38u files - gartiol - 2025-02-16

I have done that. But when I put the URL to the master M3U8 file in the strm file, Jellyfin wont play the best resolution of the movie. And yes, the master M3U8 file contains several resolutions of the same movie.

I have also tried to add the URL to the mp4 file with the best resolution. Jellyfin will play that file. but there is no audio with it...


RE: Can't play m38u files - gartiol - 2025-02-23

A little update.. I have done some more testing, and the problem seems to happen on one of my TV's.

I have two TV's with Jellyfin on it.

TV 1: This is a Sony TV with Jellyfin installed on the attached Chromecast.
TV 2: This is a Samsung TV with Jellyfin for Tizen installed.

When I play a movie on TV 1, it will play the best version available. If I play the same movie on my Samsung TV, it only plays the first version (not the best one available) listen in the m3u8 file.

I have updated Jellyfin on the Samsung TV. But that didn't help the problem.