多くのAndroidデバイスは、H.264ビデオコーデックのハードウェアアクセラレーションをサポートしていますが、VP8/VP9コーデックはサポートしていません。より高品質のユーザーエクスペリエンスを提供するために、可能な限りハードウェアアクセラレーションされたコーデックを選択したいと考えています。したがって、特定のデバイスがH.264ハードウェアアクセラレーションをサポートしているかどうかをランタイム検出したい場合、これにより、webRTCピア接続のセッションネゴシエーションにSDPで使用される特定のコーデックが設定されます。すなわち、H.264がハードウェアでサポートされている場合、VP8/VP9とは対照的に、より高い優先順位のコーデックとして設定されます。これについてのいかなる考えも非常に高く評価されます。Android H.264ハードウェアアクセラレーション機能の検出方法
2
A
答えて
5
MediaCodecList APIを使用して、使用可能なエンコーダとデコーダを反復処理します。 OMX.google.
で始まるエンコーダーはSWコーデックです。他のコーデックは、HWコーデックと見なすことができます。最も簡単なのはおそらくfindEncoderForFormat
(およびfindDecoderForFormat
)を使用し、これがどのような名前を返すかを確認することです。詳細が必要な場合は、手動でリストを反復処理できます。デバイス上のHWエンコーダがある場合
+0
大変感謝しています! – SBG
0
はジャスティンUbertiさんのコメントhereによると、あなたはだけは、AndroidのWebRTCでH.264を取得します。したがって、WebRTCをH.264よりも優先するように設定することができます.HWエンコーダがある場合、HW H.264が使用されます。そうでなければ、VP8/VP9です。
関連する問題
- 1. Android MediaCodec h.264デコードサーフェスモードカラーバンディング
- 2. iOSのハードウェアアクセラレーションによるh.264デコードテクスチャ、オーバーレイなどへ
- 3. Android H.264 BaseProfileレベルのサポート
- 4. H.264デコーダ用AndroidのOpenmax?
- 5. モバイルプラットフォーム(android、ios、symbian)でh.264エンコーダを実装する方法
- 6. H.264 NALUバイトアライメント
- 7. H.264ビデオエンコーディング
- 8. Java - h.264ビデオエンコーディング
- 9. MP4 H.264 in Flash
- 10. h.264とmpegヘッダー
- 11. Android H.263またはH.264ファイルですか?
- 12. Android - 顔の検出機能
- 13. iOSのH.264エンコーダとデコーダ
- 14. H.264コーデックの説明
- 15. アンドロイドプラットフォームでハードウェアh.264ビデオエンコーディングを行う方法
- 16. H.264(over RTP) - ビデオフレーム/リファレンスフレーム
- 17. h.264ストリームを中継する方法は?
- 18. libx264とffmpegがH.264をエンコードしてデコードする方法
- 19. ストリーミング用のハードウェアアクセラレーションH.264エンコーディングとデコードを実行するにはどうすればよいですか?
- 20. H.264とOggのビデオエンコードのメリット
- 21. H.264ビデオを(疑似)ストリームする方法 - クロスブラウザとhtml5の方法で?
- 22. 自動トランスコードLinuxのH.264ビデオ
- 23. H.264からMPEG2への変換
- 24. H.264ファイルサイズ(HDビデオの1時間)
- 25. h 264 IOS(IPhone/Ipad)のハードウェアエンコード/デコード?
- 26. H.264トランスポートストリームのavcodec_decode_video2に渡す内容
- 27. H.264メディアファイルからmp4への変換
- 28. IPカメラ:録画用のオープンソースソフトウェアH.264
- 29. AndroidでH.264ライブストリームを受信してデコードする
- 30. 実行時にハードウェアアクセラレーションを検出する:Android
同様の方法で、VP8/VP9ハードウェアコーデック(http://wiki.webmproject.org/hardware/socsを参照)をサポートするデバイスが多数あります。実行時にこれをどのように検出しますか? – SBG