mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-01-23 23:20:51 +01:00
[Issue]: 10.9.x has large audio delay when watching HDHomeRun over-the-air streams #5804
Labels
No labels
area:database
awaiting-feedback
backend
blocked
breaking change: web api
bug
build
ci
confirmed
discussion needed
dotnet future
downstream
duplicate
EFjellyfin.db
enhancement
feature
future
github-actions
good first issue
hdr
help wanted
invalid
investigation
librarydb
live-tv
lyrics
media playback
music
needs testing
nuget
performance
platform
pull-request
question
regression
release critical
requires-web
roadmap
security
security
stale
support
syncplay
ui & ux
upstream
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: starred/jellyfin#5804
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
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 @therumbler on GitHub (May 18, 2024).
Please describe your bug
Since updating to 10.9.x all live TV streams from my HDHomeRun Extend (model: HDTC-2US) have audio delayed by 5 seconds. This happens in Safari and in Chrome.
I've tested both on Ubuntu 22.04.4 (direct install of Jellyfin) and on my Apple laptop using Docker.
Reproduction Steps
To reproduce I ran this docker compose:
once setup with user/password i added my HDHomeRun IP address, and attempted streaming an over-the-air channel. the audio was delayed by almost 5 seconds.
Changing the compose file to use
jellyfin/jellyfin:10.8.13made the streams work perfectly, without audio delayI did a diff on the ffmpeg command between 10.8.13 and 10.9.0. See below:
Here are the full ffmpeg commands from 10.9 and 10.8. I ran both these commands directly on my laptop (homebrew ffmpeg version 6.1.1), and was able to reproduce the same issue (I ran
python3 -m http.serverto start a server in the HLS output directory, and streamed from http://127.0.0.1:8000/transcodes/91893804987efb6f8e99b63390ab0ac5.m3u8 )10.8.13 (working)
10.9.0 (broken)
Based on the above (even with ffmpeg on my laptop) it seems the
fmp4segment type causes large audio delay, butmpegtsdoes not.Jellyfin Version
10.9.0
if other:
No response
Environment
Jellyfin logs
FFmpeg logs
No response
Please attach any browser or client logs here
No response
Please attach any screenshots here
No response
Code of Conduct
@jellyfin-bot commented on GitHub (May 18, 2024):
Hi, it seems like your issue report has the following item(s) that need to be addressed:
This is an automated message, currently under testing. Please file an issue here if you encounter any problems.
@gnattu commented on GitHub (May 19, 2024):
Will disable ignore decoding DTS option in the tuner setting fix it for you?
If it still does not work, re-enable it, disable the "prefer fmp4 container" in the playback settings, will it resolve this for you?
@rickgitdone commented on GitHub (May 20, 2024):
I run on docker .. can I make these adjustments to test somewhere?
@gnattu commented on GitHub (May 20, 2024):
What’s wrong with docker? These options are configurable using GUI and should not be a big issue for docker. The DTS one is in your Tuner config, the fmp4 one is in playback settings.
@rickgitdone commented on GitHub (May 20, 2024):
I am running docker image 10.9.2 and have a HDHR4-2US tuner. There are no GUI sections I cam make changes to..under edit I get 2 check boxes 1) Restrict to channels marked as favorite, 2) Allow hardware transcoding
Also under playback I searched for DTS also don't find any item related. I feel I am just not finding the settings you are referring.. sorry
@junobomb commented on GitHub (May 20, 2024):
There is no DTS option for HDHomeRun under tuner settings only shows that option for M3U playlists
@gnattu commented on GitHub (May 21, 2024):
So does disable fMP4 in Settings->Playback make things better then?
@therumbler commented on GitHub (May 21, 2024):
Thank you for your suggestion, @gnattu !
As others have said, there is no DTS setting in the tuner settings for HD Home Run devices.
Unchecking the "Prefer fMP4-HLS Media Container" checkbox (under User settings) fixes the issue!
Live TV streams video/audio is in perfect sync now!
I'll just have to let other users of my server to do the same 😊
🎊
@gnattu commented on GitHub (May 21, 2024):
Ideally the LiveTV should use its own setting override and not always use the global settings due to its specialities. I may add an override for LiveTV so that it will never use fmp4 even if that is enabled as global setting.
@therumbler commented on GitHub (May 21, 2024):
to fix the problem (per @gnattu's suggestion) :
User -> Settings -> Playback -> uncheck "Prefer fMP4-HLS Media Container"
@jamesarbrown commented on GitHub (Aug 10, 2024):
In 10.9.9 I have just experienced this issue.
But when I play back through Jellyfin the Prefer fMP4 must be off. So I think perhaps the fix is working for "livetv", but overlooks stuff in "Recordings" ?
@gnattu commented on GitHub (Aug 10, 2024):
This is not an overlook and we are aware of this, but there is currently no clean way for us to do this because the transcoding pipeline is unable to tell if the video file comes from a livetv recording or is a regular video in the library unless we perform (expensive) extra db queries for every video requests to check their sources.
@jamesarbrown commented on GitHub (Aug 10, 2024):
Thanks @gnattu. I dont understand the background or when the fMP4 is in use/needed
For the fMP4 setting... i don't remember enabling it and its taken hours to find what was happening and didn't come across this bug report so easily.
I dont know about DB, but you could drop something in the recordings folder as a flag that the server can check and decide as it grabs the file.
@ggogel commented on GitHub (Aug 21, 2024):
I encountered the same issue when playing live TV channels from the TvHeadend plugin.
With fMP4 enabled:
Firefox (Mac): doesn't play at all
Safari (Mac): audio async
Chrome (Mac): audio async
Jellyfin on Android: audio async
Disabling fMP4 fixed the issues for all clients. Thanks @gnattu.
@hcgonzalezpr commented on GitHub (Dec 21, 2024):
I believe this issue should remain open because it is still unresolved as of 10.10.3
Unselecting 'Prefer fMP4-HLS Media Container' under the Client Playback settings is only a workaround. This issue should remain open until an 'Allow fMP4 transcoding container' option is added for selecting an HDHomeRun as a tuner.
@gnattu commented on GitHub (Dec 22, 2024):
All HDHR tuners are forcing mpegts already in 10.10
@gmipf commented on GitHub (Jan 27, 2025):
Had the same problem on Jellyfin.Server 10.10.2.0. But with at least 2 mkv files instead of live TV streams.
Disabling "Prefer fMP4-HLS Media Container" fixed it.
Problem occurred on Firefox (Fedora) and Safari (MacOS).
But it seems to be enabled by default. Is there a way to disable it for all users by default?
EDIT: Whether the option enabled or disabled, on the WebOS Client the mkv were always played back directly without audio desync.
@marys1234 commented on GitHub (Jul 19, 2025):
Confirming the same issue on another TV tuner: Enigma2.
Disabling "Prefer fMP4-HLS Media Container" resolved the audio sync problem.
Waiting for final solution, better by correcting fMP4-HLS Media container or option to globally disable it for Live TV.
Additionally one suggestion for Live TV improvement: when two users watching the sam TV channel, Jellyfin is requesting two separate streams to TV tuner. Maybe it will be possible to use the same Tuner stream to both users?
@ggogel commented on GitHub (Jul 19, 2025):
I think there is no way to disable this by default. The setting isn't even per user, it's per client. So if you log out and back in, the setting is enabled again. At least from what I experienced.
@matthewpritchett commented on GitHub (Aug 25, 2025):
Is there any updates on this for people using tvheadend instead of the built in hdhomerun for live tv? I just switched and found the audio is out of sync with the latest tvheadend and latest Jellyfin. The setting works to get it functioning again but I lose direct play of hvec. And the fact the setting is per client which isn’t ideal. Thanks!