Jellyfin Forum
VP9 on Android Exoplayer transcoding - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Support (https://forum.jellyfin.org/f-support)
+--- Forum: General Questions (https://forum.jellyfin.org/f-general-questions)
+--- Thread: VP9 on Android Exoplayer transcoding (/t-vp9-on-android-exoplayer-transcoding)

Pages: 1 2


RE: VP9 on Android Exoplayer transcoding - tbjf - 2024-03-12

I tried converting to mkv ("ffmpeg -i input_vp9.mp4 -c copy output_vp9.mkv") and Exoplayer on Android accepts it.

But, another piece of the puzzle:

(With Web Player on Android)
DirectPlayProfile { Container: "webm", AudioCodec: "vorbis,opus", VideoCodec: "vp8,vp9,av1", Type: Video },
DirectPlayProfile { Container: "mp4,m4v", AudioCodec: "aac,mp3,opus,flac,vorbis", VideoCodec: "h264,hevc,vp9,av1", Type: Video }


So the webplayer accepts vp9 in mp4 without problem.

I remember Googling this a while ago, and there was something that Exoplayer were very strict with what is "officially" supported.

But it doesn't make sense if that the webplayer can accept it, but Exoplayer can't. (I don't have access to the Exoplayer on the TV at the moment, but I'm sure this is accepting VP9 MP4 without transcoding.)


RE: VP9 on Android Exoplayer transcoding - tbjf - 2024-03-12

Here's the TV Exoplayer:

DeviceProfile { Name: "AndroidTV-ExoPlayer", [DirectPlayProfile { Container: "m4v,mov,xvid,vob,mkv,wmv,asf,ogm,ogv,mp4,webm", AudioCodec: "aac,mp3,mp2,aac_latm,alac,ac3,eac3,dca,dts,mlp,truehd,pcm_alaw,pcm_mulaw,opus,flac", VideoCodec: "h264,hevc,vp8,vp9,mpeg,mpeg2video,av1", Type: Video },

Pretty much anything and everything.

I don't see why that the Android App can't use the same profile?

Is it being overly conservative with its reported support?


RE: VP9 on Android Exoplayer transcoding - tbjf - 2024-03-12

As far as I can see, the supported formats are hardcoded in.

See line 206: https://github.com/jellyfin/jellyfin-android/blob/master/app/src/main/java/org/jellyfin/mobile/player/deviceprofile/DeviceProfileBuilder.kt

Could "vp9" just be added to that list, as I understand that it is (perhaps with rare exceptions) going to be completely playable? This would stop transcoding unnecessarily, and brings it into line with the Android TV app and the Web Player. It's a very common and pretty good codec.

(I haven't quite been able to work out where the TV app does it, maybe from here?: https://github.com/jellyfin/jellyfin-androidtv/blob/master/playback/exoplayer/src/main/kotlin/support/ExoPlayerPlaySupportReport.kt )