WebRTC di Chrome 47: registrazione di contenuti multimediali, origini sicure e gestione dei proxy

Chrome 47 include diversi miglioramenti e aggiornamenti significativi di WebRTC.

Registra video dalle tue app web

L'API MediaStreamRecorder è da tempo la principale richiesta di chromium.org, con oltre 2500 stelle. La registrazione multimediale è stata ora aggiunta a Chrome grazie al flag delle funzionalità sperimentali della piattaforma web, anche se per il momento è disponibile solo su computer. In questo modo puoi registrare e riprodurre o scaricare video. È disponibile una semplice demo sul repo di esempio WebRTC e puoi scoprire di più nell'annuncio di discussione su Webrtc. Un'app Chrome di esempio per la registrazione di video dall'acquisizione schermo è disponibile all'indirizzo github.com/niklasenbom/RecordingApp. Si tratta di nuove implementazioni e potrebbero essere ancora presenti bug da risolvere: in caso di problemi, segnalali negli repository.

Screenshot della demo di MediaRecorder nel repository di esempi GitHub di WebRTC

Selezione del dispositivo di output audio

MediaDevices.enumerateDevices() è stato rilasciato. Per ulteriori dettagli, consulta il problema di Chromium 504280. Ora puoi enumerare i dispositivi di output audio oltre a quelli di input audio e video già forniti da MediaStreamTrack.getSources(). Puoi scoprire di più su come utilizzarlo in questo aggiornamento.

Supporto dei dispositivi su Windows

È stato aggiunto il supporto dei dispositivi di comunicazione predefiniti su Windows. Ciò significa che durante l'enumerazione dei dispositivi audio su Windows, sarà presente una voce aggiuntiva per il dispositivo di comunicazione il cui ID sarà "comunicazioni".

Gli ID dispositivo per il dispositivo audio predefinito (e le comunicazioni su Windows) non saranno più sottoposti ad hashing (Problema 535980). Al contrario, sono supportati due ID riservati, "predefiniti" e "comunicazioni", che sono uguali in tutte le origini di sicurezza. Le etichette del dispositivo verranno tradotte nell'area geografica del browser, in modo che gli sviluppatori non debbano aspettarsi che le etichette abbiano un valore predeterminato. La precisione del rendering video è stata migliorata propagando il timestamp di acquisizione fino all'algoritmo di rendering, dove è possibile scegliere il vsync corretto in base a questo. Per la piattaforma Windows, il timestamp di acquisizione è più preciso anche in Chrome 47.

Gestione del proxy

Chrome 47 aggiunge una nuova preferenza per forzare l'invio del traffico WebRTC tramite un server proxy locale, se configurato. Si tratta di un aspetto importante per alcuni utenti che navigano tramite una VPN. Ciò significa che l'applicazione WebRTC vedrà solo l'indirizzo IP del proxy. Tieni presente che questa operazione comprometterà le prestazioni dell'applicazione e non funzionerà affatto, a meno che l'applicazione non supporti turn/TCP o ICE-TCP. Cerca una nuova versione dell'estensione WebRTC Network Limiter per fornire una UI per questa preferenza. Leggi ulteriori informazioni sulla "fuga" dell'indirizzo IP in What's Next for WebRTC.

Estensione di Chrome WebRTC Network Limiter

...E altro ancora

La velocità effettiva del canale dati è stata notevolmente migliorata per le connessioni ad alta latenza.

Implementeremo gradualmente il supporto per DTLS 1.2 nel periodo di tempo di Chrome 47.

Anche se in questa release non sono supportati né i VP9 né l'H.264, continueremo a lavorare a questi progetti e speriamo di implementare il supporto per VP9 e una versione iniziale di H.264 (dietro un flag) in Chrome 48.

Annunci di servizio pubblico

  • A partire da Chrome 47, le richieste getUserMedia() sono consentite solo da origini sicure: HTTPS o localhost.
  • Il supporto del canale dati RTP è stato rimosso. Eventuali applicazioni rimanenti che utilizzano ancora canali di dati RTP dovrebbero utilizzare i canali dati standard.

Come per tutte le release, invitiamo gli sviluppatori a provare Chrome sui canali Canary, Dev e Beta e segnalare eventuali problemi rilevati. L'assistenza che riceviamo è inestimabile. Per indicazioni su come inviare una segnalazione di bug valida, visita la pagina WebRTC sui bug.

Demo

Scopri di più