https://github.com/anilbeesetti/nextlib
NextLib for Next Player
https://github.com/anilbeesetti/nextlib
exoplayer ffmpeg ffmpeg-android media3 video-decoder
Last synced: 4 months ago
JSON representation
NextLib for Next Player
- Host: GitHub
- URL: https://github.com/anilbeesetti/nextlib
- Owner: anilbeesetti
- License: gpl-3.0
- Created: 2023-07-20T05:07:20.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2026-01-30T03:28:48.000Z (4 months ago)
- Last Synced: 2026-01-30T18:57:55.782Z (4 months ago)
- Topics: exoplayer, ffmpeg, ffmpeg-android, media3, video-decoder
- Language: C++
- Homepage: https://github.com/anilbeesetti/nextplayer
- Size: 423 KB
- Stars: 125
- Watchers: 8
- Forks: 34
- Open Issues: 28
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# NextLib
[](https://github.com/anilbeesetti/nextlib/actions/workflows/build.yaml) [](https://central.sonatype.com/artifact/io.github.anilbeesetti/nextlib-media3ext)
NextLib is a library for adding ffmpeg codecs to [Media3](https://github.com/androidx/media).
## Currently supported decoders
- **Audio**: Vorbis, Opus, Flac, Alac, pcm_mulaw, pcm_alaw, MP3, Amrnb, Amrwb, AAC, AC3, EAC3, dca, mlp, truehd
- **Video**: H.264, HEVC, VP8, VP9
## Setup
Kotlin DSL:
```kotlin
dependencies {
implementation("io.github.anilbeesetti:nextlib-media3ext:INSERT_VERSION_HERE") // To add media3 software decoders and extensions
implementation("io.github.anilbeesetti:nextlib-mediainfo:INSERT_VERSION_HERE") // To get media info through ffmpeg
}
```
Groovy DSL:
```gradle
dependencies {
implementation "io.github.anilbeesetti:nextlib-media3ext:INSERT_VERSION_HERE" // To add media3 software decoders and extensions
implementation "io.github.anilbeesetti:nextlib-mediainfo:INSERT_VERSION_HERE" // To get media info through ffmpeg
}
```
## Usage
To use Ffmpeg decoders in your app, Add `NextRenderersFactory` (is one to one compatible with DefaultRenderersFactory) to `ExoPlayer`
```kotlin
val renderersFactory = NextRenderersFactory(applicationContext)
ExoPlayer.Builder(applicationContext)
.setRenderersFactory(renderersFactory)
.build()
```