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

Use libvlc/libmpv as video playback backend #121

Open
7 tasks done
tswistak opened this issue Feb 8, 2024 · 0 comments
Open
7 tasks done

Use libvlc/libmpv as video playback backend #121

tswistak opened this issue Feb 8, 2024 · 0 comments
Labels
feature request Issue is about a new feature in the app needs triage Issue is not yet ready for PR authors to take up

Comments

@tswistak
Copy link

tswistak commented Feb 8, 2024

Checklist

  • I made sure that there are no existing issues - open or closed - to which I could contribute my information.
  • I made sure that there are no existing discussions - open or closed - to which I could contribute my information.
  • I have read the FAQs inside the app (Menu -> About -> FAQs) and my problem isn't listed.
  • I have taken the time to fill in all the required details. I understand that the bug report will be dismissed otherwise.
  • This issue contains only one feature request.
  • I have read and understood the contribution guidelines.
  • I optionally donated to support the Fossify mission.

Feature description

It would be nice to rewrite video player to utilize libvlc or libmpv as playback backend. These will add more possibilities to video playback and support more formats.

Here is a short disclaimer: it doesn't really matter to me whether libvlc or libmpv would be used, that's why I write this request more vaguely. If you have a preference, I can edit the request. In additional information, I wrote more about both libraries from my quick research (but I'm not an Android developer, so I could miss something).

Why do you want this feature?

My main reason is to have an ability to use Fossify Gallery as a normal video player on Android. Now I have both Fossify Gallery and VLC, and I'd like VLCs playback features here (multiple format support, support for subtitles, multiple audio tracks). It may go a bit against the "Simple" principle inherited from SMT, but I hope the other reasons would be more vital for you:

libvlc lists these features, however I know that few of them require the Internet, so they wouldn't be available:

  • Play every media file formats, every codec and every streaming protocols
  • Hardware and efficient decoding on every platform, up to 8K
  • Network browsing for distant filesystems (SMB, FTP, SFTP, NFS...) and servers (UPnP, DLNA)
  • Playback of Audio CD, DVD and Bluray with menu navigation
  • Support for HDR, including tonemapping for SDR streams
  • Audio passthrough with SPDIF and HDMI, including for Audio HD codecs, like DD+, TrueHD or DTS-HD
  • Support for video and audio filters
  • Support for 360 video and 3D audio playback, including Ambisonics
  • Ability to cast and stream to distant renderers, like Chromecast and UPnP renderers.

Additional information

As written before, I did a quick lookup on both libraries and here's what I've found and may be useful to decide which library to choose:

  • libvlc has an official Android library that can be used by any app. It's licensed under LGPLv2. (https://search.maven.org/artifact/org.videolan.android/libvlc-all)
  • libmpv doesn't have an official Android library, but there are instructions on how to build it manually in mpv-android https://github.com/mpv-android/mpv-android
  • https://code.videolan.org/videolan/libvlc-android-samples/ <- there is a sample of how to use libvlc in an Android project. As I said, I have no Android experience, but it looks simple (but I also fully understand that there may be some issues along the way when integrating it into such a big app as Fossify Gallery).
  • Just one thing that I couldn't really find much info about - in the Android sample of libvlc there is Internet permission granted. I haven't found anywhere if it's actually needed, and it doesn't look like the sample app uses the Internet. So, it could be a showstopper for libvlc, that's why I propose also libmpv as an alternative.
@tswistak tswistak added feature request Issue is about a new feature in the app needs triage Issue is not yet ready for PR authors to take up labels Feb 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request Issue is about a new feature in the app needs triage Issue is not yet ready for PR authors to take up
Projects
None yet
Development

No branches or pull requests

1 participant