多くの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でのWebRTC H.264のサポート
- 6. H.264ビデオエンコーディング
- 7. Java - h.264ビデオエンコーディング
- 8. H.264 NALUバイトアライメント
- 9. モバイルプラットフォーム(android、ios、symbian)でh.264エンコーダを実装する方法
- 10. ビデオをH.264からH.265に変換する方法
- 11. ビデオをH.264からH.265に変換する方法#
- 12. MP4 H.264 in Flash
- 13. h.264とmpegヘッダー
- 14. Android H.263またはH.264ファイルですか?
- 15. Android - 顔の検出機能
- 16. H.264コーデックの説明
- 17. iOSのH.264エンコーダとデコーダ
- 18. リアルタイムビデオのFFMPEG H.264〜JPEG
- 19. アンドロイドプラットフォームでハードウェアh.264ビデオエンコーディングを行う方法
- 20. H.264(over RTP) - ビデオフレーム/リファレンスフレーム
- 21. H.264ビデオソースをWindows.Media.Captureのファイルに直接記録する方法
- 22. libx264とffmpegがH.264をエンコードしてデコードする方法
- 23. h.264ストリームを中継する方法は?
- 24. ストリーミング用のハードウェアアクセラレーションH.264エンコーディングとデコードを実行するにはどうすればよいですか?
- 25. H.264とOggのビデオエンコードのメリット
- 26. H.264ビデオを(疑似)ストリームする方法 - クロスブラウザとhtml5の方法で?
- 27. H.264からMPEG2への変換
- 28. H.264トランスポートストリームのavcodec_decode_video2に渡す内容
- 29. 自動トランスコードLinuxのH.264ビデオ
- 30. H.264ファイルサイズ(HDビデオの1時間)
同様の方法で、VP8/VP9ハードウェアコーデック(http://wiki.webmproject.org/hardware/socsを参照)をサポートするデバイスが多数あります。実行時にこれをどのように検出しますか? – SBG