2016-04-17 14 views
7

Sto provando a testare WebRTC e voglio visualizzare il mio stream e il flusso del peer. Al momento ho uno spessore semplice per ottenere il flusso della videocamera e collegarlo a un elemento video, tuttavia il frame rate è estremamente basso. La cosa rara di questo è che posso provare esempi dal sito WebRTC e funzionano perfettamente ... Il video è scorrevole e non ci sono problemi. Vado alla console e il mio codice è simile al loro .. Cosa potrebbe accadere? Ho provato a creare sia un fiddle che a eseguire il codice tra parentesi ma funziona ancora in modo orribile.Lo streaming web cam del browser ha prestazioni/frame rate estremamente bassi

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

Praticamente tutto quello che faccio. Tieni presente che sto utilizzando la nuova API navigator.mediaDevices() anziché navigator.getUserMedia() ma non vedo come sarebbe importante dal 1. Sto usando uno spessore fornito dal gruppo WebRTC chiamato adapter.js che loro stessi usano. 2. Non penso che il modo in cui ottieni il flusso video influenzi le prestazioni.

risposta

16

OK, mi sento molto stupido per questo ... Sono stato un po 'ingannato dal fatto che l'elemento video aggiorna l'immagine visualizzata senza che tu debba fare altro che canalizzare il flusso di output, il che significa che l'immagine sarà aggiornamento ma solo a intervalli molto lunghi, facendo sembrare che il video sia in ritardo. Quello che ho dimenticato di fare era in realtà play() il video o aggiungere autoplay come sua proprietà ... funziona bene ora.

+1

buona cattura ma che è un po 'inaspettato. Puoi presentare un bug su https://bugs.chromium.org/p/chromium/issues/list per favore? –

Problemi correlati