2

ここに示すように、メディアプレーヤーサービスとバインドすることにより、IOMX を使用して Android デバイスでサポートされているすべてのコーデックを一覧表示しようとしています。コードが機能し、コンポーネントのリストを取得しました。しかし、エンコーダ コンポーネントがないことがわかりました。すべてのデコーダ コンポーネントのみがリストされました。次に、Android が提供する組み込みのカメラ アプリケーションに移動し、mp4 ファイル形式で保存されたビデオの録画を開始しました。VLCプレーヤーからmp4ファイルのコーデック情報を確認すると、「H264 mpeg4 part10 avc」と表示されていました。ここで私の疑問が生じます。h264/avc エンコーディング用のコンポーネントがリストされていない場合、Android はどのようにフレームを h264 形式でエンコードできますか?

なにか提案を?ありがとう。

4

1 に答える 1

0

Androidディストリビューションには、一般に「プレーンバニラコーデック」と呼ばれるGoogleによってバンドルされているコーデックのスイートがあります。H.264の場合、ソースがにあるエンコーダーがバンドルされていframeworks/av/media/libstagefright/codecs/avc/enc/ます。したがって、カメラからエンコードする場合、このデフォルトのコーデックを使用してフレームをエンコードします。同じことを確認するには、ログインを有効にするOMXCodecACodec、エンコーダコンポーネントの名前が。であることを確認しますOMX.google.h264.encoder

コーデックの完全なリストは、で入手できますSoftOMXPlugin.cppframeworks/av/media/libstagefright/omx/

于 2013-02-26T00:25:51.580 に答える