-
-
Notifications
You must be signed in to change notification settings - Fork 544
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Player stuck in buffering state #3830
Comments
I have a similar situation: It is not limited to only one specific media file but to all files of the same category: TV recordings from VDR, converted with ffmpeg to Matroska container with x265 encoded video and pass-through audio (AC3, MP2). If I select a bandwidth, that requires transcoding on the server (in my case 3MBit), the media is played, otherwise the player gets stuck before displaying any media picture (black screen with player controls). I suspect, that is is not an audio issue. My FireTV does bitstream pass-through to my Denon AV-Receiver and even with 3MBit, the receiver gets and decodes the AC3 audio stream from the media file. Before the (automatic) Update to 0.17.0, all these media files worked fine. Let me know, if I can provide any further input, e.g. debug logs or media samples (s.b.). In case of debug logs, I can easily provide the server logs but I have no idea how to get on debug output from the FireTV app! Media info of the file
This is a recording from German public TV, if necessary I can provide a short snipped for testing. Just tell me, where to upload it. Application version0.17.1 Device informationAmazon AFTKA Android versionFireOS 7.6.7.3 (PS7673/4183) Jellyfin server version10.9.9+deb12 |
May be related: #3859 |
Yes, they are very similar. I think this is an ExoPlayer problem, because I have the same issue with the same movie in the Android mobile app too when I use that player. External players (e.g. mpv) work fine instead. I will do some other tests later this morning to try to grab some logs and I will try also to downgrade the app to 0.16.11. |
Here are the results of my tests. First of all, downgrading to 0.16.11 does NOT solve my problem. Setting "audio output" to "downmix to stereo" instead does fix it, even on 0.17.1. Unfortunately I was not able to get meaningful logs from Jellyfin. The app does log nothing when the video is stuck, except for "Playback of Movie started" at the beginning. Using the debugger I have found the problem is ExoPlayer being unable to select a track. If I put a breakpoint in this line of the Tracks exoTracks = mExoPlayer.getCurrentTracks(); and I open the menu to select a different audio track (which triggers the This happens only on this specific movie and only when there is no audio transcoding. If I play a different movie/TV show or if I limit the bitrate to 40 Mbit/s, I have also tried to enable ExoPlayer debug logs as explained here, but still there are no meaningful logs I think. These are ExoPlayer logs when the movie is stuck in buffering state:
and these are the logs when movie is playing correctly (i.e. when the server is transcoding the audio):
After these tests, I am even more inclined to say that this is an ExoPlayer problem. However, I also think that Jellyfin should circumvent this problem by forcing transcoding immediately and not only when the bitrate limit is lowered. My TV for example does not support DTS XLL with 8 channels, therefore Jellyfin should transcode the audio regardless of the bitrate limit. |
After a bunch of additional testing last night, including downgrading multiple components of my Jellyfin setup, I concur. I think this is appears to be an Exoplayer issue. Over the years there have been numerous requests to support error-driven automatic transcoding, but for a variety of reasons, there has been a refusal to implement this. With the recent removal of LibVLC as a built-in alternative, and the untimely Exoplayer issues, hopefully this can be reconsidered. Unfortunately, there seems to be an insistence that this library is the best option, when time and time again, Jellyfin for Android TV is the only application which suffers from these compatibility issues without any error handling, to the extent that most of us still run Plex or Emby in parallel. Edit: I've further narrowed it down to the upgrade of Tdarr from 2.20.01 to 2.22.01 with one of these upgrades being the likely culprit:
Remuxing fixes the issue. I'm continuing to research what the root cause is, but it's likely an issue with metadata. |
I think in this case it's simpler than that. There are no errors to catch (ExoPlayer is stuck but it does not throw any playback error). Jellyfin should simply check the supported audio codecs better than what it does right now.
Thank you for your time in this. I agree with you, probably it's a metadata issue, because I have others movies which use DTS-HD MA codec (also with 8 channels) and they work fine. It still feels strange though, because all movies I have tested come from blu-rays and this is the only one that gives me troubles (and only with ExoPlayer, because it plays fine both on desktop and mobile when using mpv). I will try to strip out the 3rd audio track (which is a commentary track for which I have set the MKV |
I'm not sure if you're able to confirm this as well, but I'm pretty sure the issue has something to do with missing Media with a defined Media without If "Downmix to Stereo" is enabled, a higher percentage of the media plays without delay, but not all of it. This is extremely unusual behavior. Edit: In situations where the media does eventually start playing, it appears to get output in stereo, despite Jellyfin indicating that it's direct playing. Is there some sort of automatic fallback that Exoplayer does? Another possibility is that it's not specifically the lack of a |
Sorry for the late reply.
I can confirm that, for me, it's not a But I can also confirm this is a metadata issue, although I was not able to pinpoint which particular metadata is troublesome. I think Now that metadata is "clean" I can finally play the movie. (or at least I thought so, because after upgrade to 0.17.1 all my blu-ray rips did not work anymore, but that's the subject for another issue) |
I am experiencing a similar issue after upgrading to the 0.17.x client. When attempting to play a movie, only the audio plays while the screen remains black. This occurs when the streaming bitrate is set to "Auto". However, if I manually set the bitrate to 40 Mbit/s, which forces transcoding, both video and audio work correctly. Reverting to the 0.16.11 client, I observed the following:
As LibVLC is removed from the 0.17.x client, I'm now limited to ExoPlayer, where the Auto bitrate functionality may not be working properly, as seen in the above scenarios. |
The issue is still present with the latest release 0.17.4 from today: All my media files encoded with ffmpeg6 fail to start without error. Attached a logcat extract for one try. The screen gets dark with the OSD in front showing that the player does not even make it to 00:01 seconds. Please provide either a fix or reintegrate the libvlc player again, which had no issues with all these files. Thanks in advance! |
I seem to be encountering the same or a similar issue on my Philips 809 TV running 0.17.5.
The following causes the issue to stop:
I'm not sure which logs to gather or how to gather them from the TV but I hope the above can be helpful somehow Edit: This is the mediainfo for the file:
|
This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments. If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or master branch, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label. This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on Matrix or Social Media. |
I have the exact same issue and I was wondering if this is an issue of bandwidth allocated to the app in AndroidTV. Is this something that could be happening? For me I can't play any media with a bitrate over 30Mbps. I have the same black screen with media player controls available but doing nothing. Everything works as it should on the Windows player. |
I believe the cause is most likely what's described in this pull request: #3936 Unless I'm misremembering - it's been quite a while |
Hi there, I read through this and I think I have a different issue since this is still happening in version 0.18.4 which should incorporate this update. I am not using ARC for sound, but Optical out to a miniDSP currently. |
Describe the bug
Player hangs in buffering state when I play a specific movie (media info below).
Playback works if I set the maximum streaming bitrate to 40 Mbit/s. I guess the reason is that using this limit the server will transcode the audio from DTS to AAC instead of direct playing the movie.
DTS -> AAC transcoding is correct in my case (my TV does not support DTS at the bitrate used by the movie), but this should happen regardless of the maximum streaming bitrate setting.
Logs
No error/warning in logcat
FFmpeg logs
There are no FFmpeg logs when I set the maximum bitrate limit to 200 Mbit/s because of direct play.
Media info of the file
Application version
0.17.0
Device information
Panasonic MZ800
Android version
Android 11
Jellyfin server version
10.9.8
The text was updated successfully, but these errors were encountered: