2016-04-17 18 views
7

WebRTC'yi test etmeye çalışıyorum ve kendi akışımı yanı sıra akışın akışını görüntülemek istiyorum. Şu anda kameranın akışını elde etmek için basit bir şime sahibim ve bunu video elemanına yönlendirdim, ancak kare hızı çok düşük. Bu konuda nadir bir şey, WebRTC sitesinden örnekler deneyebilirim ve kusursuz çalışıyorlar. Video düzgün ve problem yok. Ben konsola gidiyorum ve kodlarım onlarınkini andırıyor .. Ne olabilirdi? Hem fiddle'u oluşturmaya çalıştım hem de bu kodu parantez içinde çalıştırın ama yine de korkunç bir şekilde çalışıyor.Tarayıcı web kamera akışı son derece düşük bir performans/kare hızına sahiptir

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); 
    }); 

Yaptığım hemen hemen her şey. Bunun yerine navigator.getUserMedia() yeni navigator.mediaDevices() API kullanıyorum dikkate alın ama 1.I kendilerinin kullanmak adapter.js adlı WebRTC grup tarafından sağlanan bir dolgu kullanıyorum beri bunun bir önemi nasıl görmüyorum. 2. Video akışını nasıl elde edeceğinizi performansınızı nasıl etkileyeceğini düşünmüyorum.

cevap

16

Pekala, bunun için çok aptalım ... Video elemanının görüntüyü, görüntüyü herhangi bir şey yapmanıza gerek kalmadan, ancak çıkış akışını pipetlemeksizin güncelleyeceği gerçeğiyle aldattım. Sadece çok uzun aralıklarla güncellemek, videoyu gecikmiş gibi göstermek. Yapmayı unuttuğum şey aslında play() videosu veya autoplay özelliğini taşıyordu ... şimdi iyi çalışıyor.

+1

iyi yakalama ama bu biraz beklenmedik. Https://bugs.chromium.org/p/chromium/issues/list adresinden bir hata bildirebilir misiniz lütfen? –