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

Chrome 47 include diversi miglioramenti e aggiornamenti significativi di WebRTC.

Registrare video dalle app web

L'API MediaStreamRecorder è da tempo la richiesta più popolare su chromium.org, con oltre 2500 stelle. La registrazione dei contenuti multimediali è stata aggiunta a Chrome dietro il flag delle funzionalità sperimentali della piattaforma web, anche se al momento è disponibile solo per il computer. In questo modo puoi registrare, riprodurre o scaricare video. Nel repository di esempi WebRTC è disponibile una semplice demo e puoi scoprire di più dall'annuncio di discuss-webrtc. Un'app Chrome di esempio per la registrazione di video dall'acquisizione dello schermo è disponibile all'indirizzo github.com/niklasenbom/RecordingApp. Si tratta di implementazioni nuove di zecca e potrebbero esserci ancora bug da risolvere: segnala i problemi nei repository se ne riscontri.

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

Selezione del dispositivo di uscita audio

MediaDevices.enumerateDevices() è stato rilasciato. Per ulteriori dettagli, consulta il problema 504280 di Chromium. 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 per il dispositivo di comunicazione predefinito su Windows. Ciò significa che, quando vengono enumerati i dispositivi audio su Windows, verrà visualizzata un'ulteriore voce per il dispositivo di comunicazione il cui ID sarà "communications".

Gli ID dispositivo per il dispositivo audio predefinito (e le comunicazioni su Windows) non verranno più sottoposti ad hashing (Issue 535980). Al contrario, sono supportati due ID riservati, "default" e "communications", che sono gli stessi in tutte le origini di sicurezza. Le etichette dei dispositivi verranno tradotte nelle impostazioni internazionali del browser, pertanto gli sviluppatori non devono aspettarsi che le etichette abbiano un valore predeterminato. L'accuratezza del rendering video è stata migliorata propagando il timestamp di acquisizione fino all'algoritmo di rendering, dove è possibile scegliere la sincronizzazione verticale corretta in base a questo. Per la piattaforma Windows, il timestamp di acquisizione è anche più preciso in Chrome 47.

Gestione dei proxy

Chrome 47 aggiunge una nuova preferenza per forzare l'invio del traffico WebRTC tramite un server proxy locale, se ne è configurato uno, il che è 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 ciò influirà negativamente sulle prestazioni dell'applicazione e non funzionerà a meno che l'applicazione non supporti TURN/TCP o ICE-TCP. A breve sarà disponibile una nuova versione dell'estensione WebRTC Network Limiter che fornirà un'interfaccia utente per questa preferenza. Per ulteriori informazioni sulla "perdita" dell'indirizzo IP, consulta Novità di WebRTC.

Estensione di Chrome WebRTC Network Limiter

…e altro ancora

Il throughput del canale di dati è stato notevolmente migliorato per le connessioni a latenza elevata.

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

Sebbene in questa release non siano supportati VP9 e H.264, il lavoro su questi continua 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 di dati RTP è stato rimosso. Le applicazioni rimanenti che utilizzano ancora i canali di dati RTP devono utilizzare i canali di dati standard.

Come per tutte le release, invitiamo gli sviluppatori a provare Chrome sui canali Canary, Dev e beta e a segnalare eventuali problemi riscontrati. L'aiuto che riceviamo è preziosissimo. Per suggerimenti su come compilare una segnalazione di bug efficace, consulta la pagina dei bug di WebRTC.

Demo

Scopri di più