-
-
Notifications
You must be signed in to change notification settings - Fork 67
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
[10.7] Transcoding to HEVC on unsupported iPad when fMP4-HLS is enabled #261
Comments
Just tested 10.7-RC3 and it is still an issue on this build. |
Safari is always a lier on video support. It reports that it supports HVC1 on your iPad Air 2 but cannot play actually. |
Thanks should I leave this open then or close it? |
Oddly enough 480p HEVC content plays fine but not 1080p HEVC. Also if the content is HEVC then it tries to direct play it and fails. |
Can you paste here what this page displays on your iPad? |
|
I did some digging and it seems like HEVC is hardware-accelerated only since Apple A9. Older devices that run iOS 11+ do technically support it, but aren't fast enough to decode it real-time at higher resolutions. So, we need a way to detect the SoC of the device. It's been a while since anything useful was in the user agent and since iOS 12.2 the GPU in WebGL only shows up as "Apple GPU". Luckily, people have figured it out. We can pull either this function or this library into jellyfin-web and add a condition not to enable HEVC on /A[7-8]X?/. |
The second one doesn’t seem to work. I tried the demo and it tells me:
Which is completely wrong as I’m on an iPad Air 2 which an Apple A8X GPU. Also VLC can play 1080p HEVC just fine so it seems a limitation from Apple or Safari rather than the hardware being to weak. Although VLC is most likely using software decoding to play the video. |
what can you see on this page? does it also say a12x, or Unknown? |
It says |
Since this is a client capability issue I'm moving it to the iOS repo. |
Describe the bug
Jellyfin is transcoding to HEVC if fMP4-HLS is enabled on all iPads regardless of if it can play HEVC or not. This causes my iPad Air 2 to not be able to play the file if HEVC encoding and fMP4-HLS are enabled.
System (please complete the following information):
To Reproduce
Expected behavior
Jellyfin should detect the device doesn’t support HEVC and transcode to H264 instead.
Additional Information
Disabling HEVC encoding on my iPad Air 2 allows fMP4-HLS to work.
The text was updated successfully, but these errors were encountered: