jellyfin-media-player
jellyfin-media-player copied to clipboard
Internet radio (m3u) streaming stopped working in v1.6.1
Describe the bug
When trying to listen to internet radio I get media error: loading failed
To Reproduce Steps to reproduce the behavior:
- Go to "Guide"
- Click on any internet radio you've added
- Click play
- See error
media error: loading failed
Expected behavior The internet radio station starts playing.
Desktop (please complete the following information):
- OS: [e.g. iOS] Linux (kernel
5.13.7-arch1-1
) - Version [e.g. 22] 1.6.1
- Installation Method [e.g. windows installer] AUR
Additional context This was working fine before upgrading to v1.6.1. Testing on a regular browser and the m3u streams still work fine, it seems to be restricted to this player.
Ughh. I removed a fallback where if the media does not load properly (i.e. it fails to load), it would start a transcode.
The problem was that for most of the causes of this error case, the transcode would also fail, but it would leave the web app spinning with no error for minutes because MPV did not like the failing transcode playlist (and would try and fail to load every segment before failing).
It seems internet radio relies on this error handler to function. How exactly is internet radio set up? I donโt use live tv or internet radio in Jellyfin.
Internet radio is setup via a radio.m3u
file I have containing a few stations, which is added as a tuner device under the "Live TV" menu in the admin dashboard.
You can get m3u's for free from internet-radio if you want to test it.
So I assume the commit you're talking about is https://github.com/jellyfin/jellyfin-media-player/commit/9587b504be95f7ce4ba252333a3271fda416ae50
I don't really know enough about the specifics of how Jellyfin handles m3u streams, but if the issue is transcoding causing crashes, would fixing that not be a better solution? Or is there perhaps a better way to stream m3u's/live TV?
I'd be open to trying to fix it, but I'm not sure where to start honestly.
The problem is it's not initially getting transcoded properly but instead using a fallback error path that was causing problems. I don't particularly want to add that back but it means the Jellyfin PlaybackInfo call would need to properly report that direct playing the stream is not supported.
I have released this in this pre-release: https://github.com/jellyfin/jellyfin-media-player/releases/tag/v1.7.0-pre3
This should still properly be fixed in jellyfin-web, but for now this fix should at least allow it to work. (It uses an error dialog when playback fails and allows you to select the retry option.)
My solution, as I couldn't get it running with .m3u, Live-TV, etc:
-
added new empty Folder in my jellyfin-root (named "Radios", could be anything)
-
made a new Library in Administration->Dashbard which is of Content type "Movies" and added this folder
-
inside the newly created "Radios"-folder the structure looks like this (folders holding an empty .strm-file):
๐ "Radios"
โ ๐ "90s90s"
โ "90s90s.strm"
โ ๐ "Station Two"
โ "Station Two.strm"
โฎ
- editing those empty files ("90s90s.strm") with any editor, they will only hold a single line like this:
http://streams.90s90s.de/dab-national/mp3-192/streams.90s90s.de/
-
Hint to links: does not work with .pls, .m3u. Works with e.g. .mp3
-
after scanning the library again those stations should show up
-
now it's possible to edit the stations and librarys images and metadata - adding e.g. an endless gif to the librarys background makes it appear as the video when playing the station, a station main-image, description, genres, etc.
-
what's not working but doesn't bother me: seeing which song is playing