Android video player based on Media3 (formerly ExoPlayer), compatible with Android 5+ and Android TV.
It uses ExoPlayer's ffmpeg
extension with all its audio formats enabled (it can handle even special formats like AC3, EAC3, DTS, DTS HD, TrueHD etc.).
It properly syncs audio with video track when using Bluetooth earphones/speaker. (I was not able to find any other nice ExoPlayer based video player so I created this one.)
HDR (HDR10+ and Dolby Vision) video playback on compatible/supported hardware.
AC-4 audio is supported on devices providing such system decoder (e.g. Samsung Galaxy A, S and Z series running Android 11 or later).
Some advanced features can be enabled or configured in settings. To access it, long press the ⚙️ gear icon. (Alternatively, you can also enter this settings from App info screen.)
WRITE_SETTINGS
("Modify system settings") permission: When the system file chooser is opened, it will always use current system orientation, even if the Player app sets its own. Granting this permission via adb (adb shell pm grant com.brouken.player android.permission.WRITE_SETTINGS
) or App info screen will allow this app to temporarily enable Auto-rotate to at least partially mitigate this imperfection.
Donate: PayPal | Bitcoin | Litecoin
Translate: Weblate
Other links/channels: application thread on XDA Developers, subreddit on reddit, entry on AlternativeTo, git mirror on GitLab
To load external (non-embedded) subtitles, long press the 📁 file open action in the bottom bar. The first time you do that, you will be offered to select root video folder to enable automatic loading of external subtitles.
💡📺 Because of limitations on Android TV, Just Player is also able to open subtitle files from external file managers. You can open video file from your file manager, then return back and also open subtitle file in Just Player. Subtitle will be available in the last selected video.
Just Player is also able to detect some subtitle files when accessing videos over HTTP/HTTPS. Just use the same naming for video files as well as subtitles (e.g. video.mkv
and video.srt
).
Open system Caption preferences on your device (usually in the Accessibility section of Settings) and you will be able to fully customize the subtitle style.
To quickly access the system Caption preferences screen, long tap the subtitle button.
Unfortunately, upstream ExoPlayer doesn't handle some older formats like AVI container, WMV or Theora. Majority of devices also cannot handle 10-bit AVC.
Just Player focuses on playing videos so audio only playback isn't officialy supported (request).
Install app like MediaInfo (or APK from MediaArea.net). Then, to quickly open MediaInfo from Just Player, long press the video name/title.
Just Player uses system file chooser which already allows two different browsing modes:
Videos - listing only device directories that contain videos
File browser - full navigation in the device file system structure
Alternatively, some people choose to use the media library function of Nova Video Player and integrate it with Just Player by enabling "Allow using another video player" feature. This also gives you convenient access to content on network storages (SMB, UPnP, FTP and SFTP).
The default system file chooser allows access to any remote storage using appropriate Document Provider. I highly recommend CIFS Documents Provider for accessing Samba shares. There are also providers like WebDAV Provider/DAVx⁵ (WebDAV), FileManagerUtils (SFTP) and rcx. Sadly, Document providers are not supported on Android TV.
Open video directly from your favorite file explorer. Solid Explorer works really well, especially if you also want to automatically load subtitles.
Just Player does not have any UI to enter internet addresses, but it is registered for handling all compatible streaming links. When opening/tapping links in other apps, Just Player should be generally offered as an option. (Though this may not work in all situations, especially on Android 12+.)
Alternatively, select the text url in the source app, choose Share and find Just Player to play it.
If your device has a touchscreen you can use the pinch-to-zoom gesture or just tap the Resize button for a Crop. Android TV: Long tap the Resize button to enter Zoom mode. Then use Up and Down keys for precise zoom.
Just pause and resume playback once again.
The APK available here contains native libraries for all supported architectures (armeabi-v7a
/armeabi-v7a-neon
/arm64-v8a
/x86
/x86_64
), which is what takes the most space. Although Just Player relies mostly on device decoders, it packs FFmpeg for some advanced features (video chapters and frame rate detection). The second largest dependency is ICU4J - 10 MB only for charset detection of subtitle files. 🤷
Please note that installs and updates made through Google Play are significantly smaller thanks to Android App Bundles and delta updates.
Here's a comparison table presenting all available and significant open source video players for Android I was able to find. Just Player is something like 80% 90% feature complete. It will probably never have dozens of options or some rich media library UI. It will never truly compete with feature rich VLC. It just attempts to provide functional feature set and motive others to create greater players based on amazing ExoPlayer.
App name (source) | Media engine |
---|---|
Fermata Media Player | MediaPlayer, ExoPlayer and libVLC |
Just (Video) Player | ExoPlayer |
Kodi | ? |
mpv | libmpv |
mpvKt | libmpv |
Next Player | ExoPlayer |
Nova Video Player | MediaPlayer |
VLC | libVLC |
To find other video players (including non-FOSS), check out a list on IzzyOnDroid.