mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-07-16 05:43:54 +03:00
Jellyfin does not transcode Live TV stream in browser (Chrome) when playback should be possible #7661
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @nothing2obvi on GitHub (Nov 1, 2025).
Description of the bug
When playing a Live TV channel provided by ErsatzTV (HLS Direct), Jellyfin fails to play the stream at all in a web browser (Google Chrome).
Instead of attempting to transcode to a supported format (as Jellyfin normally would for HEVC content in browsers), the stream simply fails to play.
The same Live TV channel:
This suggests that the browser playback path for Live TV HLS Direct sources does not properly fall back to transcoding when direct playback is unsupported.
I do not wish to enable force transcoding of live TV because I have at least one client that can direct play it.
Reproduction steps
What is the current bug behavior?
What is the expected correct behavior?
Jellyfin Server version
10.10.0+
Specify commit id
No response
Specify unstable release number
No response
Specify version number
No response
Specify the build version
10.11.1
Environment
Jellyfin logs
FFmpeg logs
Client / Browser logs
No response
Relevant screenshots or videos
No response
Additional information
No response
@mmcnutt commented on GitHub (Nov 2, 2025):
I've been having the same issue with Ersatz playback since upgrading to 10.11, can confirm it always attempts to transcode a HLS-Direct Stream and it always fails. The same m3u channel list will work in mpv without issue.
[hls @ 0x7f66062c5500] Skip ('#EXT-X-VERSION:3')
[hls @ 0x7f66062c5500] Skip ('#EXT-X-DISCONTINUITY')
[hls @ 0x7f66062c5500] URL http://redacted:8409/iptv/hls-direct/47?index=1 is not in allowed_segment_extensions
[in#0 @ 0x7f66063e6c00] Error opening input: Invalid data found when processing input
Error opening input file http://redacted:8409/iptv/channel/47.m3u8?mode=hls-direct.
Error opening input files: Invalid data found when processing input
@tsr488 commented on GitHub (Nov 3, 2025):
I have the same issue.
This might be caused by this change in ffmpeg:
b753bac08fIt seems to disallow playback of HLS streams if the URL doesn't end with one of these extensions: "3gp,aac,avi,ac3,eac3,flac,mkv,m3u8,m4a,m4s,m4v,mpg,mov,mp2,mp3,mp4,mpeg,mpegts,ogg,ogv,oga,ts,vob,wav"
The ErsatzTV URL doesn't look like it has ANY extension, just the channel number (47): "http://redacted:8409/iptv/hls-direct/47?index=1"
@jasongdove commented on GitHub (Nov 3, 2025):
ETV implemented a workaround (basically faking an extension) here https://github.com/ErsatzTV/ErsatzTV/pull/2570 - the fix is in develop builds now and will be part of the next full release.
@nothing2obvi commented on GitHub (Nov 6, 2025):
Hi @jasongdove, I've gotten HLS Direct with an HEVC source to work perfectly with the latest build (v25.8.0-629b3d7d-osx-arm64) with every client except a browser. Thank you for that. That would still make this issue a Jellyfin issue, right? In theory, Jellyfin should detect that it's not compatible with the browser and transcode, I think.
@nothing2obvi commented on GitHub (Nov 6, 2025):
Actually a similar issue is occurring for me on Jellyfin Android TV. The server says it's direct streaming (transcoding the audio) but I hear no audio, so perhaps it was actually not transcoded. The video plays fine.
@jamesremuscat commented on GitHub (Dec 4, 2025):
[Edit to add: Jellyfin 10.11.4]
Just encountered a similar issue with another HLS IPTV provider where the segment URLs have no file extension, so are being rejected by ffmpeg:
Since Jellyfin by policy does not allow us to specify custom
ffmpegoptions the catch-all solution would be to have Jellyfin by default pass-allowed_extensions ALL, which would revert to the pre-7.1.1 behaviour forffmpeg. (If I understand correctly, inffmpeg8 the required option will become-allowed_segment_extensions.)@jamesremuscat commented on GitHub (Dec 4, 2025):
Just tested further and all three of the following options are required for Jellyfin's ffmpeg to allow the stream:
-allowed_extensions ALL -allowed_segment_extensions ALL -extension_picky disabled