H.264 Codec が無い環境でのエラー

  • H.264 Codec が無いハードウェアでのエラー
    • connect option.video で"H264"を指定しているが、該当ハードウェアに H.264 の HW Codec が搭載されていない場合はエラーになります。
    • Codec を"VP8"にすれば、HW Codec がある環境では HW Codec が利用され、無い環境では SW Codec で動作します。

Android 10(Q)以降では、下記のコードで利用可能な HW Codec が搭載されているかを確認することができます。

import android.media.MediaCodecInfo;
import android.media.MediaCodecList;

// 返却値が trueなら利用可能なHW Codecが搭載されていると判断できる
static boolean haveHardwareAcceleratedEncoder() {
    MediaCodecList codecList = new MediaCodecList(MediaCodecList.ALL_CODECS);
    for (MediaCodecInfo codecInfo : codecList.getCodecInfos()) {
        if (codecInfo.isHardwareAccelerated() && codecInfo.isEncoder()) return true; 
    }
    return false;
}
  • H.264 Codec が無い Web 環境でのエラー
    • connect option.video で"H264"を指定しているが、該当 Web 環境に利用可能な H.264 Codec が搭載されていない場合はエラーになります。
    • サポート対象のブラウザを使うか別の Codec を使用してください。

この情報は役に立ちましたか?