2017-11-29 2 views
0

私のアプリケーションはRTPストリーム(H264またはVP8)を受信し、断片化されたMP4またはWebMに入れ、WebSocket経由でJavascript Appに送信します。 Chromeは両方のコーデックで正常に動作しますが、Firefoxは50%-60%のCPU使用率を示しています。 クロムのみ6%。Firefoxを使用したメディアソースエクステンション

JavascriptはmediaSource.updateBufferを呼び出し、updateendを待ってから、再度mediaSource.updateBufferを呼び出します。どのような例もありません。

誰でもFirefoxにこの問題がありますか?

答えて

0

もっと具体的な情報(コードのプロファイリング、ブラウザのフラグと機能の確認)がなくても、問題の内容を明確に示すことはできません。

クロムでは、あなたのコーデックはハードウェアアクセラレータであると思われますが、Firefoxではそうではありません。

+0

FirefoxはWebRTCで15%しか使用していないため、これについてはわかりません。 CPUが低レベルのビデオ要素でplay()を呼び出さないと、さらにテストを実行します。私はビデオデコードプロセスを引き起こすものは何かを正確には知らない。 – Sergio

+0

@Sergioそれはリンゴとバナナです。 WebRTCのビデオは、品質よりもレイテンシを最適化する方法でエンコードされています。結果のビデオは、*と*デコードを高速にエンコードします。さらに、FirefoxがWebRTC用のハードウェアアクセラレーションコーデックを使用しないという保証はなく、他のビデオの再生用のソフトウェアコーデックもありません。 – Brad

+0

りんごとバナナはあまりよくない例です。私が書いたように、私はデコードだけで、JavaScriptはエンコードしていません。エンコードはlibvpxライブラリを使用する私のC++アプリケーションで行われ、私のアプリケーションはエンコーディングにCPUの4%しか使用しません。あなたは、Firefoxが単一のVP8ストリームをデコードするために50%を必要とすると教えてくれるのですか?彼らはデコードプロセスを本当に最適化しています...そして、Chromeが私のアプリに近いところに5-6%しか必要としないという事実は、何かがFirefoxでうまくいかないことを私に伝えています... – Sergio

関連する問題