LoginSignup
1
2

More than 3 years have passed since last update.

Android: VideoをBitmapに変換する

Posted at

はじめに

Android で、Video のデコードは、MediaCodecで、簡単に実装できる。
が、MediaCodecではデコード結果は、ImageByteBufferとして取得できる。
これをBitmapに変換する方法に苦労したので知見をここに残す。

開発環境

Android, Kotlin

コード

サンプルコードは https://github.com/kenmasumitsu/VideoToImages 参照

解説

一言で言うと、
Android CameraXのドキュメント で言及されている、YuvToRgbConverter.kt を使って、 ImageBitmap に変換のがポイント。

ググると、

など見つかるが、うまく動かない。

は、正しく動くが、処理時間が長い。YuvToRgbConverter.kt の 約6倍。 (Pixel 3)

補足

https://bigflake.com/mediacodec/ で紹介されている、https://bigflake.com/mediacodec/ExtractMpegFramesTest_egl14.java.txt でも、同程度高速に正しく動作する。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2