-
-
Notifications
You must be signed in to change notification settings - Fork 257
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
MPV #475
MPV #475
Conversation
Typo
|
Hi, I was testing and came across something that plays in exoplayer, but not in mpv. Its possible that its the way the server sends the request, as the file is a strm file. I have the logs, it is the debug version, so long and full of spam. Do you prefer just a raw post in here, or something like a pastebin. |
Well yeah it's verbose on purpose.
You can also attach a .txt file with the log here or upload it to pastebin, as you like. |
Here are the logs as a .txt. |
Apparently ffmpeg just gives up, can you test if using mpv-android is the same result?
Also Jellyfin Media Player on your desktop |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As you might have noticed we didn't review this PR (and some others) yet. The reason being that we (Max and I) were busy with the 2.3 release. My primary focus is on the Android TV app and Max was busy with life so that's why this repository is not moving that fast. With 2.3 now released the other PR's should be reviewed soon.
This PR however is a significant change and we're still discussing this internally. Personally I'd love to support MPV natively. But I'm not sure if we want it right now as this would require the playback rewrite (see below) to also support MPV before moving the app over.
The playback rewrite is a big project happening in the Android TV app that completely rewrites the playback code. It is intended for use in both apps so the behavior is consistent. The rewrite already plans to support LibVLC and ExoPlayer (the TV app already does that now) and MPV is on the future roadmap but requires additional work (and time).
More information about the playback rewrite is posted in this issue which coincidentally was published not long after this PR, although I started writing it a few weeks ago and planning it months ago :p.
Related to this PR however I have question. You made a fork of the mpv-android repository to re-use their work and build it as a library. Did you consider working with the authors to make changes to their repo to allow publishing the library part? Because right now we would need to maintain another repository for the mpv library and backport their fixes when they happen which is quite some work.
Jellyfin mpv on desktop works and the external to |
I already knew, no problem, take your time ...
The idea is that it is not necessary to add any additional support, since
Well me too, at least since:
Not gonna happen, mpv does not provide official packages, you're expected to build your own.
It is not necessary to backport their fixes, the contents of the mpv-android fork are the buildscripts, every time the library is built it clones the mpv@master and the FFmpeg@master repository. So if any changes happen, you just need to rebuild the library. (That is possibly what I need to do to fix the above error with the strm files.) Changes only need to be made when: |
Modified the profile to be similar to ExoPlayer profile Bonus: Added an experimental script to skip OP/ED client-side, it works by detecting silences in the video, its effectiveness depends on the quality of the media, the network and the device itself (RAM / CPU / GPU) @steelersfan7 if it still doesn't work for you, could you share a sample .strm file? Download build here. |
Is this PR dead? Would love to see this finally get merged into the master branch! |
As mentioned before, there is a rewrite in progress for the playback code used in both Android apps. Significant changes like this one are therefor blocked. Besides, this PR has some issues; the major one being the fact that is relies on a binary blob, which could in theory contain malicious code (although I'm sure that's not the case here of course). For now using MPV as external player is the recommended usage if you want to use MPV. |
Here is my attempt to integrate MPV with Jellyfin Android
This PR is made up of 2 parts:
The advantage of doing it this way is that you can share code with ExoPlayer, so there is no need to maintain another UI, for example.
The only thing left is to decide how to build, publish and integrate the native part, so I would appreciate your help in this regard.
At this PR, I pre-built the native part for the following architectures to test:
At the time of sending this PR it supports the same ExoPlayer features + more codecs support (mainly support for .ssa, .ass subtitles, the reason why this PR exists in the first place)
The mpv files are located at:
Here you can modify the configuration, add fonts or even scripts to customize mpv