FossifyOrg / Gallery

Browse your memories without any interruptions with this photo and video gallery
https://www.fossify.org
GNU General Public License v3.0
1.35k stars 40 forks source link

Use libvlc/libmpv as video playback backend #121

Open tswistak opened 5 months ago

tswistak commented 5 months ago

Checklist

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: