# anilbeesetti/nextplayer

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/anilbeesetti-nextplayer).**

3,614 stars · 215 forks · Kotlin · gpl-3.0

## Links

- GitHub: https://github.com/anilbeesetti/nextplayer
- awesome-repositories: https://awesome-repositories.com/repository/anilbeesetti-nextplayer.md

## Topics

`android` `exoplayer` `ffmpeg` `ffmpeg-android` `jetpack-compose` `jni-android` `kotlin` `kotlin-android` `kotlin-coroutines` `media3` `player` `room-database` `video-player`

## Description

Nextplayer is a cross-platform mobile media player designed for playing audio and video from local storage and remote URLs. It functions as a playback engine that supports various codecs and containers through software-based media decoding.

The application features a floating picture-in-picture window for multitasking and an external subtitle renderer that synchronizes and displays SRT, SSA, and VTT files as on-screen overlays. It includes a touch-based interface that maps specific swipe and pinch gestures to volume, brightness, and seeking controls.

The project covers multi-source media streaming, hierarchical local file browsing, and playback customization options such as speed adjustment and audio track selection. It also integrates with system-level document pickers for media access.

## Tags

### Graphics & Multimedia

- [Digital Media Playback](https://awesome-repositories.com/f/graphics-multimedia/digital-media-playback.md) — Provides the core capability of rendering digital audio and video files from local device storage.
- [Cross-Platform Media Players](https://awesome-repositories.com/f/graphics-multimedia/cross-platform-media-players.md) — Provides a consistent media playback experience across multiple operating systems for local and remote content.
- [Media Decoders](https://awesome-repositories.com/f/graphics-multimedia/media-processing-analysis/media-decoders.md) — Uses software-based media decoders to interpret and render a wide variety of audio and video streams. ([source](https://github.com/anilbeesetti/nextplayer/blob/main/README.md))
- [Multi-Source Playback Engines](https://awesome-repositories.com/f/graphics-multimedia/multi-source-playback-engines.md) — Enables streaming and playback of audio and video from local storage, system pickers, and remote URLs. ([source](https://github.com/anilbeesetti/nextplayer#readme))
- [Remote Media Streaming](https://awesome-repositories.com/f/graphics-multimedia/remote-media-streaming.md) — Implements capabilities for streaming audio and video content directly from remote network URLs.
- [Video Streaming](https://awesome-repositories.com/f/graphics-multimedia/streaming-distribution/streaming-broadcasting/media-streaming/video-streaming.md) — Implements video streaming capabilities to play content directly from network addresses without local downloads.
- [Software Media Decoders](https://awesome-repositories.com/f/graphics-multimedia/video-encoding-and-decoding/software-based-video-encoders/software-media-decoders.md) — Uses software codecs to decode various audio and video formats, ensuring compatibility across different device hardware.
- [File-Based Media Browsers](https://awesome-repositories.com/f/graphics-multimedia/file-based-media-browsers.md) — Includes a browser to organize and select image and video files based on their filesystem location. ([source](https://github.com/anilbeesetti/nextplayer#readme))
- [Media Playback Controls](https://awesome-repositories.com/f/graphics-multimedia/media-playback-controls.md) — Includes interfaces for controlling playback state, rate, and position through standard controls and screen gestures.

### Content Management & Publishing

- [Subtitle Rendering Layers](https://awesome-repositories.com/f/content-management-publishing/media-management/subtitle-management-systems/subtitle-rendering-layers.md) — Ships a rendering layer that displays synchronized SRT and VTT subtitles as visual overlays on the video stream.
- [Subtitle Processing](https://awesome-repositories.com/f/content-management-publishing/media-management/subtitle-management-systems/subtitle-synchronization/subtitle-processing.md) — Provides a comprehensive system for loading, synchronizing, and managing external subtitle files like SRT and VTT.

### Mobile Development

- [Mobile Video Players](https://awesome-repositories.com/f/mobile-development/mobile-video-players.md) — Designed as a dedicated video player application for mobile operating systems with touch-optimized controls.

### User Interface & Experience

- [Media Playback Gestures](https://awesome-repositories.com/f/user-interface-experience/drag-and-drop-libraries/gesture-navigation/media-playback-gestures.md) — Provides intuitive swipe gestures for seeking through timelines and adjusting brightness and volume. ([source](https://github.com/anilbeesetti/nextplayer#readme))
- [Gesture-to-Action Controllers](https://awesome-repositories.com/f/user-interface-experience/mouse-gesture-mapping/gesture-to-action-controllers.md) — Maps specific touch gestures like vertical swipes and pinches to playback actions, brightness, and volume. ([source](https://github.com/anilbeesetti/nextplayer/blob/main/README.md))
- [Picture-in-Picture Interfaces](https://awesome-repositories.com/f/user-interface-experience/picture-in-picture-interfaces.md) — Provides a floating picture-in-picture interface allowing video to be played in a detached window for multitasking.
- [Media Player Interfaces](https://awesome-repositories.com/f/user-interface-experience/picture-in-picture-interfaces/media-player-interfaces.md) — Implements a media player interface that supports picture-in-picture mode for multitasking.
- [Playback Controls](https://awesome-repositories.com/f/user-interface-experience/playback-controllers/playback-automation/playback-controls.md) — Provides user-facing controls for adjusting video playback speed and managing subtitle tracks. ([source](https://github.com/anilbeesetti/nextplayer/blob/main/README.md))
- [Playback Setting Toggles](https://awesome-repositories.com/f/user-interface-experience/playback-controllers/playback-automation/playback-controls/playback-setting-toggles.md) — Implements an interface to switch between audio and subtitle tracks and toggle picture-in-picture mode. ([source](https://github.com/anilbeesetti/nextplayer#readme))
- [Gesture-to-Action Mappings](https://awesome-repositories.com/f/user-interface-experience/touch-gesture-handlers/touch-event-processors/coordinate-to-translation-mapping/input-to-action-mappings/gesture-to-action-mappings.md) — Implements a system that maps touch and pinch gestures to specific playback operations like seeking and volume adjustment.

### Software Engineering & Architecture

- [Media File Hierarchies](https://awesome-repositories.com/f/software-engineering-architecture/tree-traversal-algorithms/tree-based-hierarchical-navigation/media-file-hierarchies.md) — Provides recursive tree-based navigation of local folders and files to facilitate media selection.

### Part of an Awesome List

- [Media Players](https://awesome-repositories.com/f/awesome-lists/media/media-players.md) — Modern video player with clean UI.
