Jellyfin Forum
Can anything be compiled additionally in the FFMpeg library? - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Development (https://forum.jellyfin.org/f-development)
+--- Forum: Client Development (https://forum.jellyfin.org/f-client-development)
+---- Forum: Android TV Development (https://forum.jellyfin.org/f-android-tv-development)
+---- Thread: Can anything be compiled additionally in the FFMpeg library? (/t-can-anything-be-compiled-additionally-in-the-ffmpeg-library)



Can anything be compiled additionally in the FFMpeg library? - Deleted User - 2023-10-09

I generally use Kodi for playback on android tv because it supports audio passthrough of Atmos (TrueHD/EAC3) and DTS:X

But I am not a fan of the rest of the way Kodi is so I prefer the native functionality and feel of an app made for android tv (vs one 'forced to work on' android tv)


I am trying to understand how Kodi is able to achieve this when JF cannot, on the same platform+device+OS while both are using an FFMpeg library.


The topic of external players includes a link to a player which is somehow 'better' but only really has the difference in the compiled features of the FFMpeg library.

( That player is not capable of this either as far as I have been able to find out - https://forum.jellyfin.org/t-just-video-player-external-player-for-android-tv )


I see a lot of mappings are commented out, but the main ones TrueHD and DTS are not - https://github.com/jellyfin/jellyfin-androidtv/blob/master/playback/exoplayer/src/main/kotlin/mapping/audio.kt


Is it strictly because of ExoPlayer provided by the OS or is there something else I am not seeing?


I had a thought to strip Kodi down to it's bare Player Core and create a 'libkodi' similar to the way libvlc is used but that appears to be an exceptional amount of work.


RE: Can anything be compiled additionally in the FFMpeg library? - niels - 2023-10-09

Those mappings are for the new playback code which is only in use by the audio player. They are also extremely new, the commented out lines are the ones I did not easily find a mime type for right away. More information on the playback rewrite can be found in the GitHub issue https://github.com/jellyfin/jellyfin-androidtv/issues/1057


RE: Can anything be compiled additionally in the FFMpeg library? - Deleted User - 2023-10-09

greeting niels

thanks for the response on the commented out sections, it looks like i need to do some more reading on the subject

i am already running off the master branch from jellyfin/jellyfin-androidtv and it appears your fork is current but i will keep watch on yours to see upcoming changes


from what i can determine exoplayer is the end of the line which will not allow passthrough


side note:

funny coincidence, it is interesting you are the one to respond because as it turns out i have also used your tv-launcher - https://github.com/nielsvanvelzen/tv-launcher


keep up the good work


RE: Can anything be compiled additionally in the FFMpeg library? - Deleted User - 2023-10-09

i believe i am all caught up on what the current state is and i did find your # TODO when using the new playback for video

so, i will put a pin in this until the media3 implementation is ready to test and not worry about exoplayer

thanks again


RE: Can anything be compiled additionally in the FFMpeg library? - niels - 2023-10-10

Until now most fixes to androidx.media3 have been backported to exoplayer but I believe this has now ended. I already have a media3 branch (https://github.com/jellyfin/jellyfin-androidtv/pull/2826) but we need to port over our exoplayer-ffmpeg build to use media3 before I can merge that. My priority right now is to get 0.16 our of the door so I can focus on 0.17, which will start with the removal of old playback code and then slowly add the new code. So the master branch will be quite unstable for a while.


RE: Can anything be compiled additionally in the FFMpeg library? - Deleted User - 2023-10-10

excuse me for being green on this topic, i did not check your branches

i am pleased to report i compiled from from your media3-exoplayer branch and have good results

FireTV Cube Gen3

TrueHD Atmos Passthrough - Working
EAC3 Atmos Passthrough - Working
DTS:X Passthrough - Not Working (but i believe this to be a device limitation)

other codecs are playing in sync without issue

Same results on a Rocktek G2 ( one of the SEI Variants )

TrueHD Atmos Passthrough - Working
EAC3 Atmos Passthrough - Working
DTS:X Passthrough - Not Working (but i believe this to be a device limitation)

other codecs are playing in sync without issue

When playing DTS* on the FireTV Cube Gen3 (DTSHD-MA, DTS:X) the video will freeze after a few seconds
- not related to this version as it occurs on the official release version as well as any other compiled versions

No issues with DTS on the Rocktek indicates the issue lies with the Cube

once exoplayer-ffmpeg is ported it will likely improve these results but even if not they are still very good


with all that, the future version is looking great and i personally am excited to see it in the coming months


i am completely aware this is 'in progress' and will not be looking for a release any time soon

i just wanted to give some good feedback on the current progress


edit:

the noted freezing is not fixed by enabling bitstream and is not limited to this version, therefor, not pertinent to this thread and i will need to find a resolution elsewhere
- not part of the scope of this thread and needs to be disregarded

thanks for all the hard work