Skip to content
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

Can't direct play h265 2160p 10bit HDR files on compatible android phone #408

Closed
pyypgithub opened this issue May 25, 2021 · 2 comments
Closed
Labels
bug Something isn't working duplicate This issue or pull request already exists exoplayer Related to the ExoPlayer integration

Comments

@pyypgithub
Copy link

pyypgithub commented May 25, 2021

The app forces server transcode unnecessarily and it should not transcode 2160p 10bit HDR since both exoplayer(from play store through smb) and emby app can direct play the same file. This device is also equipped with HDR display.

When I disable video transcode in user account it reported media cannot be played by this device. It can play hvec 1080p just fine though.

System (please complete the following information):

  • App version: 2.3.0-beta3
  • Android version: Android 11 one Ui 3.1
  • Device manufacturer and model: galaxy s10 lite snapdragon 855
  • Jellyfin server version: 10.7.5 on Pi4
  • using native app
@pyypgithub pyypgithub added the bug Something isn't working label May 25, 2021
@exalented
Copy link

exalented commented Aug 12, 2021

With the previous kotlin v2.3.0 I wasn't able to play anything through the native player nor external player the app would just crash outright. Now the new kotlin v2.3.1 libre release apk is able to play things natively and externally, but unnecessarily transcodes exactly as described in OP's post. I have a Sammy ROM, Note 9 exynos running android 8.1 Oero. My server is the official dockerized 10.7.6.

I suspect this is a bug as to which audio codec is in the encode. I'm able to direct stream various resolutions including 4k MPEG4/264/HEVC/ 10bit HDR/SDR with mono/stereo/5.1/7.1 sound AAC/HE-AAC, but when I stream 5.1 Dolby digital for example then the server will transcode it whereas it doesn't with the vlc external player. The native client also doesn't seem to support MP2/OPUS/DTS/DTS HD-MA/AV1 or any encode with an audio stream with one of those audio codecs in the file. All of my media is in a Matroska Container and vlc direct plays all of my media on the device. I also have a webos client that is able to direct stream all of the media mentioned above except AV1 and DTS due to lack of support by the manufacturer. The native player seems unable to switch audio streams mid playback.

Interesting notes!: the client can direct play MPEG4 with two MP3 stereo streams, but there's just a black screen with audio. The native client cannot direct stream another MPEG4 encode with 1 MP2 stereo stream and 1 MP3 stereo stream. Choosing only the MP3 stream here will yeild actual audio playback when visuals always decode fine with this particular encode.
With the native player, in order to play a particular audio stream you have to select it multiple times and hit play in succession for the server to actually send the client the other audio stream. This does not happen with other players.

Takeaways and conclusions: Perhaps it would be a good idea to rename the issue to reflect that the native player in the android client doesn't seem to properly play certain codecs and/or transcodes unnecessarily when there is a supported stream within the container and could instead remux the audio.

@Maxr1998
Copy link
Member

A lot of that will change once we include the ExoPlayer ffmpeg extension. Right now, a lot of codecs aren't marked as supported in the app, so the server transcodes. Anyway, I think this issue is a duplicate of #28, so I'm closing this on in favor of the original issue.

@Maxr1998 Maxr1998 added duplicate This issue or pull request already exists exoplayer Related to the ExoPlayer integration labels Aug 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working duplicate This issue or pull request already exists exoplayer Related to the ExoPlayer integration
Projects
None yet
Development

No branches or pull requests

3 participants