Jellyfin Forum
Playback fails in browser on Android - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Support (https://forum.jellyfin.org/f-support)
+--- Forum: Troubleshooting (https://forum.jellyfin.org/f-troubleshooting)
+--- Thread: Playback fails in browser on Android (/t-playback-fails-in-browser-on-android)



Playback fails in browser on Android - Aankhen - 2024-01-31

I’m running Jellyfin on TrueNAS SCALE 23 (read: on Kubernetes) via TrueCharts. The system has a 48-core EPYC 7642 (that’s Zen 2, to be clear, from around 2019). I haven’t had any trouble playing things in Firefox from my Windows desktop or Linux laptop so far, but on my Android 12 phone, both Chrome and Firefox show me an error:

Quote:This client isn't compatible with the media and the server isn't sending a compatible media format.

I don’t know what the common thread is, because I get it with both 4K (HDR and SDR, H.264 and H.265) and 360p source material. I’ve only been able to find one video that plays at all so far: a 1080p H.264 SDR file (Profile High, Level 41, Resolution 1920x816, Bitrate 2000 kbps, Color space bt709) with 93 kbps stereo AAC-LC audio.

Jellyfin is set to disallow H.265 encoding, just to reduce the variables involved, and the number of threads is set to Auto. Hardware acceleration is off. This is all I get in the logs when I play a 404p H.264 SDR file:

Code:
[18:37:33] [INF] [123] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile=Anonymous Profile, Path=/path/to/file.mkv, AudioStreamIndex=1, SubtitleStreamIndex=-1 ) => ( PlayMethod=Transcode, TranscodeReason=VideoCodecNotSupported, AudioCodecNotSupported ) media:/videos/5e6132ce-a415-b641-1f31-16b65f6d42e6/master.m3u8?MediaSourceId=5e6132cea415b6411f3116b65f6d42e6&VideoCodec=h264,h264&AudioCodec=aac,mp3&AudioStreamIndex=1&VideoBitrate=139616000&AudioBitrate=384000&MaxFramerate=23.976025&api_key=<token>&SubtitleMethod=Encode&TranscodingMaxAudioChannels=2&RequireAvc=false&Tag=140671401c8449abd745a381fd7fa2cc&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=False&h264-level=41&h264-videobitdepth=8&h264-profile=high&h264-rangetype=SDR&h264-deinterlace=true&TranscodeReasons=VideoCodecNotSupported,%20AudioCodecNotSupported

[18:37:36] [INF] [125] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app Jellyfin Web 10.8.13 playing The Movie. Stopped at 0 ms
There are no errors and there’s no ffmpeg command. There’s no separate ffmpeg log in the Logs section of the interface either. On the phone side, I can see the interface go gray with a loading indicator for a few seconds before the error pops up in Firefox; the same error appears almost instantly in Chrome.

My user settings have no limits on the channels, bitrate, etc.

(I searched for ‘compatible media format’ and found lots of threads, but when I follow the links, it tells me they don’t exist.)


RE: Playback fails in browser on Android - TheDreadPirate - 2024-01-31

Can you share your full log with us via sourcebin? Preferably one that includes the startup.


RE: Playback fails in browser on Android - Aankhen - 2024-01-31

(2024-01-31, 03:43 PM)TheDreadPirate Wrote: Can you share your full log with us via sourcebin?  Preferably one that includes the startup.
Of course. Here’s the complete log from startup in a fresh instance where I only accessed it once, from the phone, to play a single file: https://sourceb.in/2hSc6tyf4B

And thanks for the quick response.


RE: Playback fails in browser on Android - TheDreadPirate - 2024-01-31

What settings did you use in Dashboard > Playback?

Screenshots of that dashboard panel?

I'm assuming there is no GPU in this system?


RE: Playback fails in browser on Android - Aankhen - 2024-01-31

(2024-01-31, 08:38 PM)TheDreadPirate Wrote: What settings did you use in Dashboard > Playback?
No hardware acceleration, no HEVC encoding.
Quote:Screenshots of that dashboard panel?
   
(That took a few tries.)
Quote:I'm assuming there is no GPU in this system?
Correct.


RE: Playback fails in browser on Android - TheDreadPirate - 2024-01-31

Does /config/transcodes exist? And are the permissions sufficient to allow the container to write to it? I assumed Jellyfin would write a permissions denied message if it couldn't write there, but who knows at this point.

Is using plain docker an option instead of TrueCharts?


RE: Playback fails in browser on Android - Aankhen - 2024-02-01

(2024-01-31, 09:01 PM)TheDreadPirate Wrote: Does /config/transcodes exist? And are the permissions sufficient to allow the container to write to it? I assumed Jellyfin would write a permissions denied message if it couldn't write there, but who knows at this point.
Yes and yes.
Quote:Is using plain docker an option instead of TrueCharts?
Unfortunately not. Only Kubernetes is supported on SCALE.


RE: Playback fails in browser on Android - TheDreadPirate - 2024-02-01

Weird. Is ffmpeg just not present in that version?

I don't use TrueNAS Scale, but I am pretty certain you can still do plain docker and use plain docker images so how.


RE: Playback fails in browser on Android - Aankhen - 2024-02-01

(2024-02-01, 05:07 PM)TheDreadPirate Wrote: Weird. Is ffmpeg just not present in that version?
It certainly seems to be:
Code:
$ sudo k3s kubectl exec -n ix-jellyfin jellyfin-68dd495c4d-tnljf bash -- ls -al /usr/lib/jellyfin-ffmpeg/ffmpeg
-rwxr-xr-x 1 root root 283584 Nov 11 19:29 /usr/lib/jellyfin-ffmpeg/ffmpeg
Note that I tried running it as a privileged container earlier today, with the same result.
Quote:I don't use TrueNAS Scale, but I am pretty certain you can still do plain docker and use plain docker images so how.
Yes, it’s entirely possible to enable apt and install Docker, just not supported, and I’m wary of multiplying my ‘unsupported configuration’ at the moment, heh.

I’m planning to move to a virtualized TrueNAS with Talos Linux (Kubernetes) for running applications in the near future. Maybe it’ll work better there, with more control and no third-party system of preferences. I’ll be patient for now (unless someone has any better suggestions).

In the mean time, thank you again. I appreciate you taking the time to try to work it out.