jellyfin / jellyfin-androidtv

Android TV Client for Jellyfin
https://jellyfin.org
GNU General Public License v2.0
2.83k stars 481 forks source link

FireTV Playback Issues with v0.13 on both libVLC and Exoplayer #1554

Closed wickedfable closed 2 years ago

wickedfable commented 2 years ago

Describe the bug

After updating to the later version of Jellyfin on my FireTV Cube, I started experiencing playback issues through both libVLC and Exoplayer. With Exoplayer, videos quickly start stuttering randomly as if there's a buffering issue. The playback will pause for a brief moment at random before continuing to play and then repeat the cycle every couple of seconds or so. On switching to libVLC, the playback is smooth but I am unable to change audio tracks, fast forwarding/rewinding doesn't work with .TS files (it shows the progress bar moving but it resets to the beginning of the video), as well as chapter selection being impossible (similarly just starts from the beginning).

I went back to the previous version v0.12.3 version and everything works as expected there.

To replicate: The Jellyfin server version I am on is 10.7.6 and I am accessing the app on a FireTV Cube with Fire OS 7.2.4.2. It seems like all videos are affected by these issues.

Logs

No response

FFmpeg logs

No response

Media info of the file

No response

Application version

0.13.0

Device information

Amazon FireTV Cube 2nd Gen

Android version

Fire OS 7.2.4.2

Jellyfin server version

10.7.6

DavidFair commented 2 years ago

We need the logs from 0.12.3 and 0.13 to help us see a difference in how the video is being transported. It could be a number of things from it:

But there's no way to eliminate any of these without logs.

My hunch (and this is wild speculation) is that the .ts file is being processed in chunks. Previously 0.12.3 forced unnecessary transcoding which "fixed up" the container from chunks into a single continuous stream. Since detection of direct play is improved we're now playing those chunks directly, causing Exoplayer to grab each chunk as a separate request which causes hitches and preventing VLC from seeking to keyframes that don't exist. (I've seen the latter with VLC and .ts files on a desktop machine so it's potentially not a Jellyfin bug)

wickedfable commented 2 years ago

I'll try to grab the logs once I have access to the device again (I'm currently away from it), but I did want to mention that the weird stuttering/buffering issue is happening with several different video file types when using Exoplayer, not just .ts. The .ts just also had some specific issues with not being able to rewind, fast forward, or select chapters under libVLC. But everything, including .ts files played smoothly on libVLC, otherwise.

On going back to 0.12.3, everything works as normal with being able to change audio tracks, rewing/fast forward, and no stuttering/buffering issue on all video files.

mueslimak3r commented 2 years ago

Can you try side loading the 0.13-beta2 APK and see if it still stutters/stops to buffer frequently

wickedfable commented 2 years ago

I didn't realize it's a little more work to get the logs from the AndroidTV version, so I haven't had a chance to do that yet, but I did test out the 0.13-beta2 APK.

It has similar stuttering/buffering issues though it seems like to a lesser degree potentially. I didn't get a chance to test as wide a variety of videos as I did the first time but the same issues were popping up with the few videos I did test. Some were able to play for a lot longer before they would stutter/buffer though.

mueslimak3r commented 2 years ago

Does this happen when direct playing, transcoding, or both. Can you provide the ffmpeg logs from your server if it happens when transcoding? To get a useful ffmpeg log, make sure to get the latest one right after testing playback on your fire TV cube

jellyfin-bot commented 2 years ago

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.