jellyfin / jellyfin-androidtv

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

AV1 ExoPlayer Playback Broken in Jellyfin #3815

Open trumblejoe opened 2 months ago

trumblejoe commented 2 months ago

Describe the bug

AV1 playback in Jellyfin is broken; AV1 playback works with Plex, MX Player, & Just Player; the fact it works in Plex leads me to believe it's not a problem with ExoPlayer. In Jellyfin, AV1 starts to play but video freezes frame by frame while audio works as expected. Fixing AV1 playback is a key need for proper support & external players all have issues with subtitles, usability annoyances, or playback tracking failures.

I believe in app/src/main/java/org/jellyfin/androidtv/util/profile/MediaCodecCapabilitiesTest.kt that in the following functions,

fun supportsAV1(): Boolean = Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q &&
    hasCodecForMime(MediaFormat.MIMETYPE_VIDEO_AV1)

fun supportsAV1Main10(): Boolean = Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q &&
    hasDecoder(
        MediaFormat.MIMETYPE_VIDEO_AV1,
        CodecProfileLevel.AV1ProfileMain10,
        CodecProfileLevel.AV1Level5
    )

that MediaFormat.MIMETYPE_VIDEO_AV1 should be plural, MediaFormat.MIMETYPES_VIDEO_AV1.

Logs

No response

FFmpeg logs

No response

Media info of the file

No response

Application version

0.14.0

Device information

Amazon Fire TV Stick MAX 4k

Android version

Android 9, Fire TV 7

Jellyfin server version

10.9

nielsvanvelzen commented 2 months ago

Please try with the latest version (0.16/0.17-beta.5) instead of a years old version.

trumblejoe commented 2 months ago

I'm on 16.11. Last update May 28th, 2024. Typo, it was late for me last night.

On Mon, Jul 29, 2024, 2:57 AM Niels van Velzen @.***> wrote:

Please try with the latest version (0.16/0.17-beta.5) instead of a years old version.

— Reply to this email directly, view it on GitHub https://github.com/jellyfin/jellyfin-androidtv/issues/3815#issuecomment-2255086231, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGZ55USWVQTGI7AYECPL3VDZOXRU3AVCNFSM6AAAAABLTO2VEGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENJVGA4DMMRTGE . You are receiving this because you authored the thread.Message ID: @.***>

nielsvanvelzen commented 2 months ago

The app detects AV1 support on devices and your device should not support it (needs at least Android 10). The app will thus try to transcode, if the screen stays black this is likely because you've disabled transcoding for the jellyfin user.

trumblejoe commented 2 months ago

It doesn't start black, it starts at the first frame frozen, audio plays normally. There is something wrong with the apps av1 support detection.

I'm on FireOS 8.1.1.1 FIRE TV Stick 4kax 2nd Gen

On Mon, Jul 29, 2024, 12:56 PM Niels van Velzen @.***> wrote:

The app detects AV1 support on devices and your device should not support it (needs at least Android 10). The app will thus try to transcode, if the screen stays black this is likely because you've disabled transcoding for the jellyfin user.

— Reply to this email directly, view it on GitHub https://github.com/jellyfin/jellyfin-androidtv/issues/3815#issuecomment-2256436326, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGZ55UV35BBDYJCNHQOU7NTZOZX2VAVCNFSM6AAAAABLTO2VEGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENJWGQZTMMZSGY . You are receiving this because you authored the thread.Message ID: @.***>