• Login
  • Register
  • Login Register
    Login
    Username/Email:
    Password:
    Or login with a social network below
  • Forum
  • Website
  • GitHub
  • Status
  • Translation
  • Features
  • Team
  • Rules
  • Help
  • Feeds
User Links
  • Login
  • Register
  • Login Register
    Login
    Username/Email:
    Password:
    Or login with a social network below

    Useful Links Forum Website GitHub Status Translation Features Team Rules Help Feeds
    Jellyfin Forum Support Troubleshooting Can't play m38u files

     
    • 0 Vote(s) - 0 Average

    Can't play m38u files

    Jellyfin can't play m3u8/strm file
    gartiol
    Offline

    Junior Member

    Posts: 12
    Threads: 2
    Joined: 2024 Jan
    Reputation: 0
    #1
    2025-01-28, 04:21 PM (This post was last modified: 2025-01-28, 04:52 PM by TheDreadPirate. Edited 1 time in total.)
    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/...ifest.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.
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,375
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #2
    2025-01-28, 04:54 PM
    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.
    Jellyfin 10.10.7 (Docker)
    Ubuntu 24.04.2 LTS w/HWE
    Intel i3 12100
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    Storage
        4x WD Red Pro 6TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    gartiol
    Offline

    Junior Member

    Posts: 12
    Threads: 2
    Joined: 2024 Jan
    Reputation: 0
    #3
    2025-01-28, 06:37 PM
    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?
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,375
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #4
    2025-01-28, 07:49 PM
    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.
    Jellyfin 10.10.7 (Docker)
    Ubuntu 24.04.2 LTS w/HWE
    Intel i3 12100
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    Storage
        4x WD Red Pro 6TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    gartiol
    Offline

    Junior Member

    Posts: 12
    Threads: 2
    Joined: 2024 Jan
    Reputation: 0
    #5
    2025-02-09, 09:20 AM
    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?
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,375
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #6
    2025-02-10, 02:54 PM
    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.
    Jellyfin 10.10.7 (Docker)
    Ubuntu 24.04.2 LTS w/HWE
    Intel i3 12100
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    Storage
        4x WD Red Pro 6TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    gartiol
    Offline

    Junior Member

    Posts: 12
    Threads: 2
    Joined: 2024 Jan
    Reputation: 0
    #7
    2025-02-12, 05:57 PM
    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.
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,375
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #8
    2025-02-12, 06:38 PM
    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.
    Jellyfin 10.10.7 (Docker)
    Ubuntu 24.04.2 LTS w/HWE
    Intel i3 12100
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    Storage
        4x WD Red Pro 6TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    gartiol
    Offline

    Junior Member

    Posts: 12
    Threads: 2
    Joined: 2024 Jan
    Reputation: 0
    #9
    2025-02-16, 06:29 PM
    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...
    gartiol
    Offline

    Junior Member

    Posts: 12
    Threads: 2
    Joined: 2024 Jan
    Reputation: 0
    #10
    2025-02-23, 03:45 PM
    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.
    « Next Oldest | Next Newest »

    Users browsing this thread: 1 Guest(s)


    • View a Printable Version
    • Subscribe to this thread
    Forum Jump:

    Home · Team · Help · Contact
    © Designed by D&D - Powered by MyBB
    L


    Jellyfin

    The Free Software Media System

    Linear Mode
    Threaded Mode