jellyfin-archive / jellyfin-android-original

Android Client for Jellyfin
https://jellyfin.org
GNU General Public License v2.0
271 stars 65 forks source link

how can i switch to Exoplayer? #225

Closed s0urcelab closed 4 years ago

s0urcelab commented 4 years ago

i notice that Exoplayer implement PR has merge into master branch, so i build one by myself, but the player it use seems still the same(html player).

dkanada commented 4 years ago

If you uncomment this line and remove the comma it will build with ExoPlayer enabled instead of the default player. Unfortunately the new player only has a basic interface right now, so video quality, track selection, and subtitle selection aren't implemented yet. I would eventually like to match the player from NewPipe but haven't had the time to implement it myself.

dkanada commented 4 years ago

@vitorsemeano is the one to thank for all the work done so far, but he isn't very familiar with Android so the interface will have to wait until someone can find the time.

s0urcelab commented 4 years ago

thx for your help! for a long time, Jellyfin Android client cannot directplay hevc video, even i use a Snapdragon 855 smartphone, html player and transcoding still gets a bad experience, like loading slowly and so on, so i guess maybe a native player(eg. exoplayer) could solve those problem.

anthonylavado commented 4 years ago

@s0urcelab Thanks for trying this. If this works, even in the basic state, let us know the results.

biaji commented 4 years ago

I uncomment the line then 'npx gulp && npx cordova run android'. But it seemed it still using html player.

Did I miss something?

biaji commented 4 years ago

I figure it out:

I have to modify the nativeshell.js under platforms/android/platform_www/plugins/org.jellyfin.mobile/www/ to get it work.

I'm a native developer and know little about cordova development. It seemed the cordova's cache not clean after run 'npx cordova clean'

Very glad to see the mp4 movie with hevc codec showed up without jellyfin transcoding.

s0urcelab commented 4 years ago

I figure it out:

I have to modify the nativeshell.js under platforms/android/platform_www/plugins/org.jellyfin.mobile/www/ to get it work.

I'm a native developer and know little about cordova development. It seemed the cordova's cache not clean after run 'npx cordova clean'

Very glad to see the mp4 movie with hevc codec showed up without jellyfin transcoding.

thx for your hint, finally i build apk successfully! @anthonylavado i tried some hevc movies, but only a couple of them play correctly.

vitorsemeano commented 4 years ago

Some mkv files that have subtitles encoded with zlib or similar are not supported by exoplayer at the present time. You can try unselect subtitle for a given video file after clicking play, on the main page of the file. I believe there's a select there for subtitle selection. That improves video support. The problems that I caught are that the server for some subtitles it just hangs in the transcoding. (If the selected subtitle is marked as not supported by the client.

Some codecs are not yet tested like vp8, vp9, and some others. Profile and levels will need ajustments yet.