NextLib is a library for adding ffmpeg codecs to Media3.
- Audio: Vorbis, Opus, Flac, Alac, pcm_mulaw, pcm_alaw, MP3, Amrnb, Amrwb, AAC, AC3, EAC3, dca, mlp, truehd
- Video: H.264, HEVC, VP8, VP9
NextLib is available at JitPack's Maven repo.
First, you have to add the jitpack's maven repo to your build.gradle
Kotlin DSL:
repositories {
maven { url = uri("https://jitpack.io") }
}
Groovy DSL:
repositories {
maven { url 'https://jitpack.io' }
}
Now, you have to add the dependency to nextlib in your build.gradle
Kotlin DSL:
dependencies {
implementation("com.github.anilbeesetti.nextlib:nextlib-media3ext:INSERT_VERSION_HERE") // To add media3 software decoders and extensions
implementation("com.github.anilbeesetti.nextlib:nextlib-mediainfo:INSERT_VERSION_HERE") // To get media info through ffmpeg
}
Groovy DSL:
dependencies {
implementation "com.github.anilbeesetti.nextlib:nextlib-media3ext:INSERT_VERSION_HERE" // To add media3 software decoders and extensions
implementation "com.github.anilbeesetti.nextlib:nextlib-mediainfo:INSERT_VERSION_HERE" // To get media info through ffmpeg
}
To use Ffmpeg decoders in your app, Add NextRenderersFactory
(is one to one compatible with DefaultRenderersFactory) to ExoPlayer
val renderersFactory = NextRenderersFactory(applicationContext)
ExoPlayer.Builder(applicationContext)
.setRenderersFactory(renderersFactory)
.build()