For many years, I was a happy user of the Android app MX Player. I solely play back local video files which I sync via Syncthing to my phone. Therefore, I disabled the network permission of MX Player for security reasons using NetGuard.
MX Player is a very fine app and I would have never started to switch away from it if not with recent updates, MX Player seems to wait for some time-outs to happen when started. This has the negative effect that I see the startup screen of MX Player for maybe a minute or so until the app actually is started and I may interact with it.
This is simply a no-go to me.
As a workaround, I could open any video file from my file browser app. This invokes MX Player opening the file instantly. However, this has some disadvantages such as not being able to see that file was played back recently.
This makes me look for alternatives which I did via this Mastodon message.
I got several answers and VLC for Android in particular caught my eye. Before I switched to MPlayer and later mpv, VLC was my default desktop video player for a couple of years. It's open source and therefore, I assume the app is not going to introduce bad patterns anytime soon.
I evaluated VLC for Android for a week and summarized my findings below.
My Requirements for a Mobile Video Player App
This is the perfect situation to summarize my personal requirements in order to make a good tool choice.
So this is my list of requirements for a mobile video playback application. Bold requirements are my must-have requirements.
I added VLC comments in case the VLC app doesn't quite fulfill my requirement:
- FOSS: Free and open source software license
- I'm still happy to pay a few bucks for a good app
- On-video gestures for:
- play/pause
- go forward/backward (seconds, minutes)
- VLC: no proper visualization during the swipe
- change playback speed
- remember playback speed when one video ends and the following starts playing
- VLC:
- playback speed modification can only be invoked in a menu and not directly on playback screen
- video and audio is often very asynchronous when playback speed is changed
- screen brightness
- background video playback with locked (and turned off)
screen
- when unlocking the phone and switching back to the app, the video
should be shown and playback continued
- VLC: when returning to VLC, the app switched to audio playback of the video and the image needs to be re-activated in a menu
- when unlocking the phone and switching back to the app, the video
should be shown and playback continued
- simple file browser to navigate among different video files on
storage
- easy navigate to a set of user-defined paths
- VLC: limited view of just three favorite directories (at once)
- visualize which video was already played
- VLC: no visualization
- visualize which video is currently played (and
paused/aborted somehow)
- VLC: no visualization
- ability to select multiple files for deletion
- ability to select all files in a directory
- VLC: only one-by-one selection possible
- easy navigate to a set of user-defined paths
- remember playback position in videos when resuming
- audio file playback to use the app as an audio player for albums
- playback order according to file-name alphabet or random
- visualizing meta-data from the id3v3 tags of mp3 files
As you can see, VLC ticks almost all the boxes. Unfortunately, the poor UX of forward/backward seeking, the async picture/audio and the missing visualizations for playing or already played files causing me to stay with MX Player as long as I find a better alternative.
At least, I now have my list of requirements to check against for an efficient app analysis.