Open-source project
anilbeesetti/nextplayer avatar
anilbeesetti/nextplayer

Next Player: an Android-native video player built on ExoPlayer, without ads or tracking

An Android native video player. Next Player Next Player is an Android native video player written in Kotlin.

4,442 stars332 forksKotlinGPL-3.0

At a glance

What is it?
Next Player is a Kotlin video player for Android phones and Android TV, distributed through Google Play, F-Droid and IzzyOnDroid. Its format coverage depends on ExoPlayer plus an FFmpeg extension, and the README itself warns the project is still in development and expected to have bugs.
Who is it for?
Adopt Next Player if you want a no-ads, GPL-3.0 Android player with Material 3 theming, network storage playback and an Android TV build, and you can tolerate the bugs the README admits to. Skip it if you need external audio tracks, automatic online subtitle downloads or SSA/ASS styling beyond what ExoPlayer supports: the first two are still listed as planned features, and the third is a known ExoPlayer limitation the README links to.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 4 days ago.
What is it written in?
Mainly Kotlin, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 27, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What Next Player solves, and who it is for

Android ships a media framework, but it does not ship a player most people want to use. The stock gallery plays a file and stops there. Next Player fills that gap with a Kotlin application whose stated goal is a simple, easy-to-use interface for playing videos on Android devices. The README frames the feature list around that: audio and subtitle track selection, vertical swipes on the left for brightness and on the right for volume, horizontal swipes to seek, a zoom gesture, subtitle delay, playback speed control, picture-in-picture, background playback and an Android TV build.

The audience is narrower than "everyone with an Android phone". Someone who only streams from subscription apps will not open this. It is for people with local files, a media picker that offers tree, folder and file view modes, and network shares. The README lists SMB, FTP, SFTP and WebDAV support, plus playback from a URL and from the storage access framework document picker. That combination points at a home server or NAS user, and at Android TV owners who want the same player on a television. The absence of ads and the short permission list are stated as features, not side effects.

How playback actually works: ExoPlayer plus an FFmpeg extension

Next Player does not implement its own demuxers and decoders. The README attributes audio support to the ExoPlayer FFmpeg extension, and the video and subtitle lists read like the format matrix of that stack: H.263, H.264 AVC, H.265 HEVC, MPEG-4 SP, VP8, VP9 and AV1 on the video side; Vorbis, Opus, FLAC, ALAC, PCM/WAVE, MP1, MP2, MP3, AMR, AAC, AC-3, E-AC-3, DTS, DTS-HD and TrueHD on the audio side; SRT, SSA, ASS, TTML, VTT and DVB for subtitles.

The important qualifier is in the README itself: video support depends on the Android device. That is not boilerplate. When ExoPlayer hands a stream to a hardware decoder, what actually plays is whatever the device's codec supports, so two phones running the same Next Player build can disagree about an HEVC or AV1 file. The project answers this with software decoders for H.264 and HEVC, which trade battery and CPU for the ability to play files the hardware path rejects. That is a sensible escape hatch, and it is also the reason a low-end phone may stutter on a file that a flagship plays without effort.

Subtitles have a comparable boundary. The README states that SSA/ASS styling support is limited and links to an ExoPlayer issue. Anyone whose library depends on typesetting-heavy fansubs should treat that as a known constraint rather than a bug to report.

Installing Next Player and playing a file from a network share

There is no build-from-source tutorial in the README. It points at distribution instead: the latest GitHub release, Google Play under the package id dev.anilbeesetti.nextplayer, IzzyOnDroid, and F-Droid. The repository does contain a Gradle wrapper and a settings.gradle.kts, so the source is buildable in principle, but the README documents no build command, so nothing is quoted here.

For a GitHub release APK, the README gives a SHA-256 fingerprint certificate you can compare against. The README publishes the certificate as D3:7C:AB:F3:67:6C:F5:82:24:FB:24:2C:8D:D2:09:12:9D:05:88:03:79:29:5F:AA:A6:D0:FB:60:7B:EC:13:1B. The README does not show the command used to produce a digest, so there is no code block to copy here; treat the comparison as a manual check against whatever tool your platform provides.

Once installed, the first real use is a local file. Open the app, pick the media picker, and choose the file or folder view. If your files live on a NAS, the README's network storage support is the path: add an SMB, FTP, SFTP or WebDAV location, then browse it from the same picker. The README does not document credential storage or connection troubleshooting, so if a share fails to mount, the repository's Issues section is where the project asks you to report it. For a quick test of the player itself, the README also lists playing videos from a URL, which avoids setting up a share first.

Where Next Player is the wrong tool

The README opens with a warning: the project is still in development and is expected to have bugs, and it asks users to report them in the Issues section. That is an honest framing and it should shape expectations. A player is on the critical path of a media setup, and a release that regresses playback is more disruptive than a regression in a note-taking app. The release cadence visible in the repository, v0.17.3 on 2026-07-19 through v0.17.5 on 2026-08-09, shows continuing work, but a version number below 1.0 is a statement about stability, not a marketing choice.

The feature list also excludes things some users assume are standard. External audio support and online subtitle download are both under Planned Features, not Features. If your workflow depends on pairing a downloaded audio track with a video file, or on fetching subtitles automatically when a file has none, Next Player does not do it yet. SSA/ASS styling is limited per the README's own note. And anyone who wants a player that also handles live IPTV channel lists should look elsewhere: the README describes local files, URLs and network storage, not IPTV.

Finally, there is no desktop or iOS story. The repository is an Android project with an Android TV variant, and the README says nothing about other platforms.

Next Player compared with VLC, Just Player and MX Player

The closest structural comparison is Just (Video) Player, which the README credits in its open source projects list. Both are Android-native players leaning on ExoPlayer rather than shipping a full custom media stack, and both aim at a small, focused interface. Next Player's differentiators against that model are the network storage protocols (SMB, FTP, SFTP, WebDAV), the media picker with three view modes, and the Android TV build.

VLC is the other obvious reference point, and the difference is architectural. VLC carries its own decoding and demuxing stack, which is why it plays formats on devices where the platform codecs would refuse. Next Player inherits the platform's hardware codecs and adds software decoders only for H.264 and HEVC. That makes Next Player lighter and more consistent with Android's battery and thermal behaviour, and it makes VLC the safer choice for an exotic file on an old device.

MX Player sits on the opposite side of the distribution question: it is a commercial product with proprietary components, while Next Player is GPL-3.0 and states it has no ads. If your reason for choosing a player is licence terms or the absence of advertising, that difference decides the question before format support does. If your reason is a specific codec your device cannot handle, test the file in both before committing.

Licence, redistribution and what upgrades cost you

Next Player is licensed under the GNU General Public License v3.0, with the LICENSE file in the repository root. For an end user installing an APK, the practical effect is that the source is available and the app cannot be relicensed into a closed derivative by someone else. For anyone redistributing it, GPL-3.0 carries obligations around source availability and licence notices that differ from permissive licences. That is a description of the licence text, not legal advice; read the LICENSE file and, if you plan to ship a modified build, get proper counsel.

The repository also contains a PRIVACY file alongside LICENSE. The README does not summarise its contents, so anyone evaluating the app for a managed deployment should read that file directly rather than infer privacy behaviour from the feature list.

Upgrade cost is low in the ordinary case. The project publishes releases on GitHub, and the README links to Google Play, F-Droid and IzzyOnDroid, so updates arrive through whichever channel you chose. The cost that matters is behavioural: a pre-1.0 player can change or break playback between minor versions, and the README's own bug warning means you should keep a second player installed rather than replace your only one. There is no migration or data-format concern described in the README, because the app plays files rather than importing them into a library.

Editorial conclusion

Adopt Next Player if you want a no-ads, GPL-3.0 Android player with Material 3 theming, network storage playback and an Android TV build, and you can tolerate the bugs the README admits to. Skip it if you need external audio tracks, automatic online subtitle downloads or SSA/ASS styling beyond what ExoPlayer supports: the first two are still listed as planned features, and the third is a known ExoPlayer limitation the README links to. Before installing, verify the release you download against the SHA-256 fingerprint certificate the README publishes for GitHub releases, and confirm the source you use, since the project has no homepage and the F-Droid, IzzyOnDroid and Play listings are separate distribution channels.

Frequently asked questions

Is Next Player free?

Yes. The README describes it as completely free and open source, without ads or excessive permissions, and the project is licensed under GPL-3.0.

What is Next Player?

Next Player is an Android native video player written in Kotlin, with phone and Android TV versions, local file and URL playback, and network storage support for SMB, FTP, SFTP and WebDAV.

How does Next Player compare with VLC on Android?

VLC carries its own decoding stack, while Next Player relies on ExoPlayer and the device's codecs, adding software decoders only for H.264 and HEVC. Next Player is GPL-3.0 and ad-free; VLC is the safer bet for formats your device's hardware cannot decode.

How does Next Player compare with Just Player?

The README credits Just (Video) Player among the open source projects it builds on, and both are Android-native players in the ExoPlayer family. Next Player's additions are network storage protocols, a media picker with tree, folder and file view modes, and an Android TV version.

How does Next Player compare with MX Player?

MX Player is a commercial product with proprietary components, while Next Player is GPL-3.0 and the README states it has no ads. The README does not compare the two players' format support directly.

What is the best Android media player in 2026?

The README makes no ranking claim, so this question cannot be answered from what the project documents. It describes Next Player as an Android native video player in Kotlin that is still in development and expected to have bugs.

Official sources

  1. Official README
  2. Project repository
  3. Release notes
For maintainers

Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/anilbeesetti-nextplayer.svg)](https://hysenlabs.com/projects/anilbeesetti-nextplayer)
Community notes

Community notes