2016-04-17 9 views
7

WebRTCをテストしようとしていて、自分自身のストリームとピアのストリームを表示したいとします。私は現在、カメラのストリームとパイプをビデオ要素に取得するシンプルなシムを持っていますが、フレームレートは極端に低くなっています。これについての珍しいことは、私がWebRTCサイトからの例を試すことができ、彼らは完璧に動作することです。ビデオはスムーズで問題はありません。私はコンソールに行き、私のコードはそれらのものに似ています。何が起きているのでしょうか?私はfiddleの両方を作成しようとし、そのコードを角括弧内で実行しようとしましたが、それでも恐ろしく実行されます。ブラウザのWebカムストリームのパフォーマンス/フレームレートが極端に低い

video = document.getElementById('usr-cam'); 

    navigator.mediaDevices.getUserMedia({video : { 
     width : {exact : 320}, 
     height : {exact: 240} 
    }}) 
    .then(function(stream){ 


     if(navigator.mozGetUserMedia) 
     { 
     video.mozSrcObject = stream; 
     } 
     else 
     { 
     video.srcObject = stream; 
     } 



    }) 
    .catch(function(e){ 
     alert(e); 
    }); 

私はほとんどすべてをしています。私がnavigator.getUserMedia()の代わりに新しいnavigator.mediaDevices() APIを使用していることを考慮してください。しかし、私はそれがどのように重要なのかわかりません1.私はadapter.jsという名前のWebRTCグループによって提供されるシムを使用しています。 2.私はあなたがどのようにビデオストリームを保留にするかがパフォーマンスに影響するとは思わない。

答えて

16

申し訳ありませんが、私は非常にばかげています...私はビデオ要素が出力ストリームをパイプ処理する以外に表示された画像を更新するという事実に惑わされていました。ビデオが遅れているかのように見せかけます。私がすることを忘れたのは、実際にはplay()ビデオでした、またはそのプロパティとしてautoplayを追加してください...今はうまくいきます。

+1

良いキャッチですが、やや予期しないことです。 https://bugs.chromium.org/p/chromium/issues/list pleaseにバグを報告できますか? –

関連する問題