ExoPlayer2 の FFmpeg extension をビルドしたときのメモ

Sep 2, 2021 23:46 · 365 words · 1 minute read Android ExoPlayer

こんにちは。急に秋が来て戸惑っている geckour です。
今回はたまーに必要に駆られて作業するたびに詳細を忘れてつまづく ExoPlayer の FFmpeg extension のビルドについてメモしておこうと思います。

手順

基本は公式ドキュメントに従います。

その上で、NDK は最新バージョンだと駄目でした。
現状 21.0.6113669 で動かしてうまく行っています。

また、CMake をインストールしていない場合、うまく行かない可能性があるので入れておいたほうが良いかもしれません。 (SDK Manager 経由で入れられます)
さらに、Ninja というビルドツールに内部で依存しているようなのですが、依存をうまく解決できないのでパッケージマネージャ経由などでインストールしてください。

ビルドした extensions の追加方法はここ に書いてあります。

implementation project(':exoplayer-library-core')
implementation project(':exoplayer-extension-ffmpeg')

こんな感じで依存を入れれば OK です。

ExoPlayer への導入方法も一応言及しておくと、以下の要領です。

val renderersFactory = DefaultRenderersFactory(context)
    .setExtensionRendererMode(DefaultRenderersFactory.EXTENSION_RENDERER_MODE_PREFER)

SimpleExoPlayer.Builder(context, renderersFactory)
    ...
    .build()
tweet Share