Simple and lightweight, yet polished and powerful Android video player based on ExoPlayer

Overview

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
  • 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
  • No ads, tracking or even the Internet permission (no storage permission either)

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

What's the difference between -offline and -online builds?

-offline (package id com.brouken.player)

  • This is the version distributed using most channels (Google Play, F-Droid etc.)
  • Without INTERNET permission

Even without Internet permission, this variant is still able to access and play some videos over the network (thanks to DocumentsProviders). This includes official cloud storage clients (like Dropbox, Google Drive or Microsoft OneDrive).

Ideally, you should also be able to use other proviers for Samba, WebDAV or SFTP. Another promising multi protocol provider is rcx. However, at this time these providers may not be "production ready".

-online (package id com.brouken.player.online)

  • Currently available only from releases on Github
  • With INTERNET permission
  • Optional READ_EXTERNAL_STORAGE permission (needed only with some old apps)
  • Supports opening "streaming" links (including DASH, HLS, SmoothStreaming, RTSP etc.)
  • Auto update checker

This variant is needed if you want to access videos on network storages using file managers such as Solid Explorer, Total Commander or Ghost Commander.

Android TV support?

Notes on partial, experimental support.

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.

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 Internet access 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 🟒 Yes (libVLC only) 🟒 Yes (libVLC only) πŸ”΄ No πŸ”΄ No 🟒 Yes πŸ”΄ No 🟑 Seek/Volume
Just (Video) Player 0.11 ExoPlayer No 🟒 Yes 🟒 Yes 🟒 Yes 🟒 Yes 🟒 Yes 🟒 Yes 🟒 Seek/Volume/Brightness
Kodi 18.9 ? Yes 🟒 Yes 🟒 Yes πŸ”΄ No πŸ”΄ No 🟒 Yes πŸ”΄ No πŸ”΄ No
mpv 2020-11-16-release libmpv Yes 🟒 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 🟒 Yes πŸ”΄ No 🟒 Yes πŸ”΄ No πŸ”΄ No
VLC 3.3.2 libVLC Yes 🟑 Yes (may be cut off in some video display formats) 🟒 Yes 🟒 Yes 🟒 Yes 🟒 Yes πŸ”΄ No 🟒 Seek/Volume/Brightness
YetAnotherVideoPlayer 1108 ExoPlayer Yes πŸ”΄ 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.

Comments
  • No access to NAS / USB since Android TV 11

    No access to NAS / USB since Android TV 11

    Can't access the files on NAS of USB anymore since the Nvidia Shield updated to Android TV 11 even after de 9.0+ hotfix. Nvidia says that apps that can't acces the files anymore need to update the app.

    Can you update it?

    opened by MasterDudess 47
  • Suspended from Google Play for listing supported subtitle formats

    Suspended from Google Play for listing supported subtitle formats

    After a tiny unrelated description update, Just Player got suspended from the Google Play Store for "Sexual Content and Profanity policy". Google finds issues with following:

    Full description (en_US): β€œ* Subtitles: SRT, SSA, ASS, TTML, VTT”

    Based on this, I suspect that the issue is with the word ASS. But it's an actual file format (/extension). Just Player uses ExoPlayer (a Google library) which lists the very same on the support page:

    SubStationAlpha (SSA/ASS) | YES | MimeTypes.TEXT_SSA

    Wikipedia lists the same formats:

    Filename extension | .ssa, .ass

    I immediately filed an appeal. 🀞

    Original message from Google:

    suspension

    opened by moneytoo 40
  • [Feature Request] Auto Frame Rate

    [Feature Request] Auto Frame Rate

    Please add AFR support, for your player.

    "Modern AFR (fully implemented in the Android 6+ API) for processing in Kodi 17+, ViMu (with ViMu Engine), Archos, Plex, etc. That means software (video players) independently control the resolution and the frequency of the display in the necessary way, accordingly to software logic. At the same time, everything that APP does not going to spread beyond the software (i.e. when APP stopped, and the system itself restored to the standard parameters). This is the ideal AFR implementation and this is the future. The problem only few TV Box manufacturers implement such abilities for AFR."

    https://ugoos.com/system-auto-frame-rate-for-tv-boxes

    enhancement 
    opened by vladlenas 26
  • Auto play

    Auto play

    It can play a video automatically in 0.49 version. But in 0.59 version I must click the play button to play a video after opening a video. How can I set up it to play automatically.

    opened by aston314 25
  • DTS-HD not working on Nvidia Shield

    DTS-HD not working on Nvidia Shield

    As in title, I’m only getting the DTS core with Justplayer. With all other players, even ExoPlayer and Kodi, DTS-HD bitstreams just fine. TrueHD/Atmos does work.

    opened by HDGuy 25
  • Movie with DD 5.1 plays as Stereo

    Movie with DD 5.1 plays as Stereo

    Android TV Sony 65XF9005, Android 9, Optical SPDIF to Reciever Sony AS5300 Player v0.65 Movie DoVi profile 5 mp4 with AC-3 5.1 448 kb/s mediainfo.txt Just plays it as 2 ch PCM Plex & Kodi play the same movie as DD 5.1

    upstream 
    opened by vip5912 23
  • AV1 media with 10 or 12 bit depth not playing in supposedly compatible hardware.

    AV1 media with 10 or 12 bit depth not playing in supposedly compatible hardware.

    Just player / exoplayer is facing issues in rendering the playback of some AV1 media. https://telegra.ph/file/5175f4a78077f082ab981.jpg The above picture is the first picture my friend sent when I suggested the app. I don't have access to the above media, so decided to try some other AV1 media I could find. https://telegra.ph/file/d970bf9dfdacb795660cf.jpg This is the first one that I found and faced almost the same error as my friend. On clicking on details this is the output. I thought av1 10bit is the issue of some sort. Then I tried this which again is playing fine! I'm pretty confused. My device is RMX1931 running A11 which in my opinion has pretty much the ideal media playback hardware. So was hoping if you could look in to this. Feel free to communicate over Telegram. Nevertheless I gotta this media player is one of the best in the business. Hoping to help in any way possible.

    wontfix 
    opened by hehenaice 17
  • Just (Video) Player + Kodi + Local Media

    Just (Video) Player + Kodi + Local Media

    I have a modified playercorefactory.xml and It seems that online streams work just fine opening with JustPlayer. However, media that is local (USB) refuses to open with JustPlayer, my other external players work fine but I want to play DV MKV's.

    I just get the "Click OK when Playback has ended" popup. I've tried everything to get this to work but it's not working at all. However, Exoplayer works just fine. This lead me to believe (after some research) it might be to do with permissions or the Android TV OS?

    Is there any way to get my offline media working played through Kodi using Just (Video) Player?

    There was an Offline and Online version of the app so I guess it worked back then, but it doesn't now after it's been merged. I've tried this on my android phone and my Nvidia Shield and it's still not working.

    opened by EXOSKELTON89 16
  • Unreadable subtitles

    Unreadable subtitles

    Hello! I just found this interesting app but I already encountered a issue with it... The video that I tried to play has unreadable subtitles in this app but for example in VLC the subtitles appears normally. (If you look closely the subtitles is there but it's just white) Screenshot_2021-01-28-15-50-01-758_com brouken player

    Here is an example of how it looks on the VLC player: Screenshot_2021-01-28-15-54-20-811_org videolan vlc

    This video can be found here: https://nyaa.si/view/1324339

    opened by Igoorx 14
  • [Feature Request] Show only folders with videos and videos

    [Feature Request] Show only folders with videos and videos

    As in MX Player, it would be very useful if the app's homepage showed folders with videos and videos, both internal and external memory. This would make it easier to search for videos and make everything simpler.

    | Example | | :---: | | mx |.

    enhancement wontfix 
    opened by RickyM7 14
  • High battery consumption

    High battery consumption

    Sir just video player is consuming more batter than i expected it consumes 3 percent battery in 15 minutes while my Samsung video library player consumes 2 percent battery in 35 minutes.

    Device - SM-M127G battery - 6000mah

    opened by Lucky390163 13
  • Integrating stats for nerds functionality

    Integrating stats for nerds functionality

    It would be great if we could get something like that for just player.

    https://github.com/Sriharia/ExoPlayer-StatsForNerds

    I often wonder what are the stats behind the scenes.

    opened by krapans 0
  • Add libass support!

    Add libass support!

    https://github.com/libass/libass image

    As you can see, its weird not to see Just Player in here seeing its open sourced like the others. ASS/SSA subs is the only thing missing for Just player. Particularly for Anime fans!

    Hope you could add it too!

    upstream 
    opened by vegedb 4
  • Create a proper options toggle in the Player UI

    Create a proper options toggle in the Player UI

    So first off: I love this application. But the lack of a proper options toggle drives me nuts. Take this as an example: For some reason there doesn't seem to be a way to turn off swipe controls. The gear only appears in the UI in landscape mode and even if i long press there is no option to turn off swipe controls.

    So here's my suggestion: create an actual options menu (like pretty much any other player) so users can toggle certain features on or off.

    opened by GUImodder 2
  • bug: repeat toggle resets on device sleep/wake

    bug: repeat toggle resets on device sleep/wake

    enable repeat toggle in settings open a clip toggle the repeat indicator sleep the tv wake the tv

    result: tv wakes with just player in the point in video where it was, playback resumes, repeat toggle is off, video stops at the end expected: repeat toggle persists the sleep/wake cycle, video restarts at the end

    opened by mailinglists35 1
  • Subtitle load issues with ftp connection

    Subtitle load issues with ftp connection

    Hello, Long time ago you fixed the loading srt subtitle over samba conenction and since then works like a charm. Using Mixplorer as filemanager btw. However, I just discovered that the connection is faster when using ftp (without TLS) and with Android versions 9,10,11,12 subtitle was loaded perfectly on ftp also. Since 3 of my devices updated to Android 13, I am forced to connect to the server via samba in order to load the srt subtitle because via ftp not the case anymore. Doing this on 2 phones and a tablet. Same server, same setup, same vsftpd config, with Android 13 subtitle doesn't load anymore from ftp. As I mentioned, from samba is fine. When you are watching from LAN a 4k movie with very high bitrates, speed is critical because sometimes you are on the max bandwidth limit and the difference between playing via ftp versus via samba can result in a pleasant experience versus a annoying one (movie sometimes buffering).

    For sure is a justplayer issue because with MX Player the srt subtitles load automatically from the same vsftpd on my Android13 clients. Since I discovered justplayer I constantly used it and still using it because is much ligher than MXplayer and besides the lack of extended subtitle options like MXplayer have I still preffer justplayer for the speed and simplicity, and ofc for DoVI.

    Do you think that something can be done to repair this subtitle issue load via ftp connection on Android 13?

    Thank in advance!

    opened by sigma2017 3
  • Ignore

    Ignore "Signs"/"Songs" in Track TITLE. + Ignore "Force" Tracks

    1st of all thanks for updating this so regularly! v0.132 was a huge game changer!

    2 Parts to this issue.

    Part 1, If there is a string of Signs/Songs in TITLE of track, ignore the track EVENTHOUGH its DEFAULT and play the next available. Since this is more prevalent in anime since there's dual subs/dubs. E.g.

    Text #1 ID : 2 Format : PGS Muxing mode : zlib Codec ID : S_HDMV/PGS Codec ID/Info : Picture based subtitle format used on BDs/HD-DVDs Duration : 43 min 54 s Bit rate : 2 3323 b/s Count of elements : 80 Stream size : 1.21 MiB (0%)

    Title : Signs & Songs@USBD

    Language : English Default : Yes Forced : No

    Part 2, Skip/ignore Forced. This is highly useful as Forced is always the default and should not be.

    Language : English Default : Yes Forced : Yes

    opened by vegedb 0
Releases(v0.136)
Compose-video-player - Video player for Android Compose powered by ExoPlayer

Compose Video Player Video player for Android Compose powered by ExoPlayer. Addi

Juan Pablo Herrera 22 Dec 13, 2022
AutoPlayer - A player based on ExoPlayer for play video automatically in RecyclerView, when an item is visible.

A player based on ExoPlayer for play video automatically in RecyclerView, when an item is visible.

Kishan Singh 6 Aug 14, 2022
Fermata Media Player is a free, open source audio and video player with a simple and intuitive interface.

Fermata Media Player About Fermata Media Player is a free, open source audio and video player with a simple and intuitive interface. It is focused on

Andrey 227 Jan 6, 2023
Android SRT player powered by Exoplayer and srtdroid

SrtPlayer An Android SRT test player powered by ExoPayer. Most of this code comes from YoussefHenna reply in the SRT support ExoPayer issue. It demons

Thibault Beyou 4 Sep 20, 2022
The androidx.media3 support libraries for media use cases, including ExoPlayer, an extensible media player for Android

AndroidX Media AndroidX Media is a collection of libraries for implementing media use cases on Android, including local playback (via ExoPlayer) and m

Android Jetpack 310 Dec 29, 2022
ExoPlayer - an application level media player for Android

ExoPlayer is an application level media player for Android. It provides an alternative to Android’s MediaPlayer API for playing audio and video both locally and over the Internet. ExoPlayer supports features not currently supported by Android’s MediaPlayer API, including DASH and SmoothStreaming adaptive playbacks.

Halil Γ–zel 6 Oct 31, 2022
Odeon Music Player is a lightweight music player for Android.

Odeon ?? Odeon Music Player is a lightweight music player for Android. Get it on Google Play. We value your privacy, your battery life and your device

Thibault Seisel 63 Dec 20, 2022
mpv-android is a video player for Android based on libmpv.

mpv-android is a video player for Android based on libmpv.

null 1.1k Jan 6, 2023
Android/iOS video player based on FFmpeg n3.4, with MediaCodec, VideoToolbox support.

ijkplayer Platform Build Status Android iOS Video player based on ffplay Download Android: Gradle # required allprojects { repositories {

bilibili 31k Jan 3, 2023
Android/iOS video player based on FFmpeg n3.4, with MediaCodec, VideoToolbox support.

ijkplayer Platform Build Status Android iOS Video player based on ffplay Download Android: Gradle # required allprojects { repositories {

bilibili 29.8k Dec 22, 2021
Free p2p cdn android github sdk to reduce video streaming costs of live and on demand video using webrtc by upto 90% and improve scalability by 6x - πŸš€ Vadootv πŸš€

Android p2p cdn sdk to distribute load and reduce costs(https://peervadoo.com) Vadootv is a p2p sdk integration to reduce your video streaming costs b

Vadootv 40 Oct 5, 2022
Video Transcoder is an application which uses the open source program FFmpeg to transcode video files from one format to another.

Video Transcoder Do you want to encode videos on your phone into different formats, trim videos, or extract audio? Are you looking for a free solution

Branden Archer 358 Dec 30, 2022
The Madman library (Media Ads Manager) enables you to advertise video contents with video ads.

Madman (Media ads manager) is a high performance alternative to Google's standard IMA android SDK. If you have your own VAST server and want to render video ads and have full control over the UI, then this library is for you.

Flipkart Incubator 65 Nov 10, 2022
Custom Android view with video player, loader and placeholder image

VideoPlayerView Custom Android view with video player, loader and placeholder image. To stay up-to-date with news about the library Usage Here is an e

Marcin MoskaΕ‚a 89 Nov 18, 2022
NOVA is an open source video player for Android

NOVA: opeN sOurce Video plAyer Overview NOVA is an open source video player for Android. It consists in a fork of the original Archos Video Player Com

NOVA 876 Jan 2, 2023
api.video Android player

api.video is the video infrastructure for product builders. Lightning fast video APIs for integrating, scaling, and managing on-demand & low latency live streaming features in your app.

api.video 9 Dec 15, 2022
A Custom Video Player with Controls in Kotlin

UNT-Video-Player A Custom Video Player with Controls in Kotlin Hello folks, Here is the custom video player built in Kotlin; with SeekBar, fast forwar

ultroNeous Technologies 0 Nov 8, 2021
Exo Player Video with jetPack Compose

Exo Player Video with jetPack Compose

mohamed tamer 2 Feb 26, 2022
Sample HLS Video player in Kotlin with mvvm

HLSVideoPlayer Sample HLS Video player in Kotlin with mvvm Note: mvvm is partially implemented due to time constraint, so here is a scope for improvem

null 0 Apr 9, 2022