-
-
Notifications
You must be signed in to change notification settings - Fork 530
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
Add AV1 direct play support. #2392
Conversation
Many of my AV1 files now plays, but I am having issues paired with certain audio codecs. I haven't tested these files paired with H264 instead of AV1 yet, so it might not necessarily be AV1 related. I haven't had any trouble with audio codec incompatibility on any of my H264 files before. This one gives up after a few tries (logs indicate incompatible audio codec?)
But this one plays fine
DTS-HD fails differently: instead of the codec failing, it lags out (maybe because of the high bitrate?)
My AC3 file appears to play fine too.
If you can, see if you run into similar issues with a variety of audio codecs. |
I haven't had any issues with standard DTS, I will try a DTS HD-MA track when I get a chance. I can tell you that the Chromecasts really do not like high bitrate content, which is why I looked into this in the first place. Couple things I noticed is your first AAC track lists 6 channels but doesn't have the 5.1 'layout' info the AAC track that works lists, and that DTS HD-MA track is higher bitrate than any of the ones I have in my collection. I think I'd read a while back that when things were getting transcoded the Android TV build would have both video and audio transcoded when only one or the other was needed, so I'd go back to a build without the AV1 patch and see if that DTS-HD MA file was actually playing as DTS-HD MA or if it was getting dropped to AC3 or something. |
app/src/main/java/org/jellyfin/androidtv/util/profile/MediaCodecCapabilitiesTest.kt
Outdated
Show resolved
Hide resolved
I can confirm that this file fails to play in exactly the same way on the latest release.
I am unable to get the file to transcode. On the latest release, this files fails similarly to the AAC 6 channel file: it gives up after trying a couple of times. |
Had a git oops there... Hopefully I've addressed what you asked for @nielsvanvelzen |
Thanks for the PR! |
Changes
This adds the ability for ExoPlayer to play AV1 without transcoding on API level 29 and up.
Issues
There's a few issues that reference AV1 support, but nothing really specific to ExoPlayer. LibVLC still appears to just black screen attempting to play AV1, but it doesn't appear to be related to the profiles stuff that was modified here.
There may be more/better ways of doing this, in theory ExoPlayer supports AV1 at even lower API levels, this might not correctly detect/advertise 10-bit support, but the only device I have available to test this on works correctly. This PR is bringing attention to this missing feature and to get the ball rolling on it.
Tested on: Chromecast with Google TV HD (which has hardware AV1 support; Chromecast with Google TV 4K does not do hardware AV1 but it might do software?).