/JustPlayer

A Simple Lightweight Video Player based on Exoplayer

Primary LanguageJavaThe UnlicenseUnlicense

Just (Video) Player

GitHub release (latest SemVer) Google Play F-Droid GitHub all releases GitHub release (latest by date) ExoPlayer Translation Status

Android video player based on ExoPlayer

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.)

Supported formats

  • 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

HDR (HDR10+ and Dolby Vision) video playback on compatible/supported hardware.

Screenshots

Features

  • 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+)
  • 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.

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

Download

Get it on Google Play Get it on F-Droid Get it on GitHub Get it on GitLab Available on Galaxy Store Explore it on AppGallery available at amazon Get it on Aptoide

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, group on Telegram

FAQ

What to do if Bluetooth audio is not in sync with video?

Just pause and resume playback once again.

How do I change subtitle font, size or color?

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.

Are there any media formats it CANNOT play?

Unfortunately, upstream ExoPlayer doesn't handle some older formats like AVI container, WMV or Theora.

Just Player focuses on playing videos so audio only playback isn't officialy supported (request).

How about Android TV support?

Since v0.36, Android TV is supported. Though, it is not available for installation on Android TV through Google Play yet.

How to view detailed video information (like resolution, bitrate etc.)?

Available since v0.33: Install app like MediaInfo (or APK from MediaArea.net). Then, to quickly open MediaInfo from Just Player, long press the video name/title.

I want to automatically activate PiP mode when leaving the player...

There as a hidden feature - Auto PiP. Long press the PiP icon to activate this feature. Then, when you leave Just Player through the home button and video is playing, PiP will be activated automatically.

Other open source Android video players

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% 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 Media engine 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.7.3 MediaPlayer, ExoPlayer and libVLC 🟢 Yes (libVLC only) 🟢 Yes (libVLC only) 🔴 No 🔴 No 🟢 Yes 🔴 No 🟡 Seek/Volume
Just (Video) Player 0.11 ExoPlayer 🟢 Yes 🟢 Yes 🟢 Yes 🟢 Yes 🟢 Yes 🟢 Yes 🟢 Seek/Volume/Brightness
Kodi 18.9 ? 🟢 Yes 🟢 Yes 🔴 No 🔴 No 🟢 Yes 🔴 No 🔴 No
mpv 2020-11-16-release libmpv 🟢 Yes 🟢 Yes 🔴 No 🟢 Yes 🟡 Yes (performance issues) 🟡 Yes (performance issues) 🟢 Seek/Volume/Brightness
Nova Video Player 4.49.15-20201210.0809 ?, (ExoPlayer in nova v7) 🟢 Yes 🟢 Yes 🟢 Yes 🔴 No 🟢 Yes 🔴 No 🔴 No
VLC 3.3.2 libVLC 🟡 Yes (may be cut off in some video display formats) 🟢 Yes 🟢 Yes 🟢 Yes 🟢 Yes 🔴 No 🟢 Seek/Volume/Brightness
YetAnotherVideoPlayer 1108 ExoPlayer 🔴 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.