Android video player based on ExoPlayer, compatible with Android 5+ and Android TV.
It uses ExoPlayer's extension-ffmpeg
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.)
- Audio: Vorbis, Opus, FLAC, ALAC, PCM/WAVE (μ-law, A-law), MP1, MP2, MP3, AMR (NB, WB), AAC (LC, ELD, HE; xHE on Android 9+), AC-3, E-AC-3, DTS, DTS-HD, TrueHD
- Video: H.263, H.264 AVC (Baseline Profile; Main Profile on Android 6+), H.265 HEVC, MPEG-4 SP, VP8, VP9, AV1
- Containers: MP4, MOV, WebM, MKV, Ogg, MPEG-TS, MPEG-PS, FLV
- Streaming: DASH, HLS, SmoothStreaming, RTSP
- Subtitles: SRT, SSA, ASS, TTML, VTT, DVB
HDR (HDR10+ and Dolby Vision) video playback on compatible/supported hardware.
- Audio/subtitle track selection
- Playback speed control
- Horizontal swipe and double tap to quickly seek
- Vertical swipe to change brightness (left) / volume (right)
- Pinch to zoom (Android 7+)
- PiP (Picture in Picture) on Android 8+ (resizable on Android 11+)
- Resize (fit/crop)
- Volume boost
- Auto frame rate matching on Android TV/boxes (Android 6+)
- Post-playback actions (delete file/skip to next)
- Touch lock (long tap)
- App shortcut for direct access to file chooser (Android 7.1+)
- 3rd party equalizer / audio processing support (e.g. Wavelet)
- Media Session and Audio Focus support
- Pause playback when disconnecting headphones
- No ads, tracking or excessive permissions
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.
Some advanced features can be configured in settings. To access it, long press the ⚙️ gear icon. (Alternatively, you can also enter this settings from App info screen.)
- Auto frame rate matching (enabled by default on Android TV up to Android 10). (On Android 11+ and "compatible" displays, ExoPlayer supports seamless refresh rate switching)
- Tunneled playback (disabled by default). Enabling tunneling can improve playback of 4K/HDR content on Android TV.
- Auto picture-in-picture. When you leave Just Player through the home button and video is playing, PiP will be activated automatically.
- Skip silence
- Repeat toggle
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
Also available on OPPO App Market, Xiaomi GetApps (for now) or Uptodown.
Other links/channels: application thread on XDA Developers, subreddit on reddit, entry on AlternativeTo, git mirror on GitLab
Just pause and resume playback once again.
If you enable Caption preferences on your device, you will be able to override the default subtitle style of the Player and fully customize subtitle style.
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 etc.).
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) | Tested version | targetSdk | Media engine | Android TV | Subtitles (embedded) | DTS/AC3/E-AC3 decoders | PiP | Cutout (notch) | HDR (4K 60 FPS HEVC) | HDR (4K 60 FPS VP9) | Gestures |
---|---|---|---|---|---|---|---|---|---|---|---|
Fermata Media Player | 1.8.0 | 30 | MediaPlayer, ExoPlayer and libVLC | 🔴 No | 🟢 Yes (libVLC only) | 🟢 Yes (libVLC only) | 🔴 No | 🔴 No | 🟢 Yes | 🔴 No | 🟡 Seek/Volume |
Just (Video) Player | 0.63 | 31 | ExoPlayer | 🟢 Yes | 🟢 Yes | 🟢 Yes | 🟢 Yes | 🟢 Yes | 🟢 Yes | 🟢 Yes | 🟢 Seek/Volume/Brightness |
Kodi | 19.1 | 29 | ? | 🟢 Yes | 🟢 Yes | 🟢 Yes | 🔴 No | 🔴 No | 🟢 Yes | 🔴 No | 🔴 No |
mpv | 2021-03-10-release | 29 | libmpv | 🔴 No | 🟢 Yes | 🟢 Yes | 🔴 No | 🟢 Yes | 🟡 Yes (performance issues) | 🟡 Yes (performance issues) | 🟢 Seek/Volume/Brightness |
Nova Video Player | 6.0.15 | 29 | ?, (ExoPlayer in nova v7) | 🟢 Yes | 🟢 Yes | 🟢 Yes | 🟢 Yes | 🟢 Yes | 🟢 Yes | 🔴 No | 🔴 No |
VLC | 3.3.4 | 29 | libVLC | 🟢 Yes | 🟢 Yes | 🟢 Yes | 🟢 Yes | 🟢 Yes | 🟢 Yes | 🔴 No | 🟢 Seek/Volume/Brightness |
YetAnotherVideoPlayer | 1108 | 29 | ExoPlayer | 🔴 No | 🔴 No | 🔴 No | 🟡 Yes (with black bars) | 🔴 No | 🔴 No | 🔴 No | 🟡 Volume/Brightness |
The tested HDR VP9 video was "The World in HDR" from Kodi Sample, running on OnePlus 7 (Snapdragon 855).
To find other video players (including non-FOSS), check out a list on IzzyOnDroid.