- Gli sviluppatori web possono controllare la funzionalità Picture in picture per i video.
- Il decoder AV1 è ora supportato in Chrome Desktop x86-64.
- La riproduzione e il buffering cross-codec e cross-bytestream sono possibili in MSE.
- Chrome ora supporta Opus in MP4 con MSE.
- La riproduzione di contenuti protetti è consentita per impostazione predefinita su Android.
Guardare il video utilizzando Picture in picture
La funzionalità Picture in picture (PIP) consente agli utenti di guardare i video in una finestra mobile (sempre sopra le altre finestre), in modo da poter tenere d'occhio ciò che stanno guardando mentre interagiscono con altri siti o applicazioni. Con la nuova API Picture in picture, puoi avviare e controllare la funzionalità Picture in picture per i video sul tuo sito web.
Leggi il nostro articolo per scoprire tutte le informazioni al riguardo.
Decodificatore AV1
AV1 è un codec di nuova generazione sviluppato da Alliance for Open Media. AV1 migliora l'efficienza di compressione di oltre il 30% rispetto all'attuale codec video all'avanguardia, VP9. Chrome 70 aggiunge un decodificatore AV1 a Chrome Desktop x86-64 in base alla specifica bitstream ufficiale. Al momento, il supporto è limitato al profilo 0 "principale" e non include funzionalità di codifica. Il container supportato è MP4 (ISO-BMFF) (consulta la sezione Dal video non elaborato al web ready per una breve spiegazione dei container).
Per provare AV1:
- Vai alla pagina di YouTube TestTube.
- Seleziona "Preferenza AV1 per SD" o "Preferenza AV1" per ottenere la risoluzione AV1 desiderata. Tieni presente che a risoluzioni più elevate, AV1 ha maggiori probabilità di riscontrare problemi di prestazioni di riproduzione su alcuni dispositivi.
- Prova a riprodurre i clip di YouTube dalla playlist per il lancio di AV1 Beta.
- Conferma il codec av01 in "Statistiche per nerd".
Supporto per il passaggio da codec e container in MSE
Chrome sta aggiungendo il supporto per migliorare le transizioni cross-codec o cross-byte nella riproduzione di Media Source Extensions utilizzando un nuovo metodo changeType()
su SourceBuffer
. Consente di modificare in seguito il tipo di byte multimediali aggiunti a SourceBuffer
.
La versione attuale di MSE supporta la riproduzione adattiva dei contenuti multimediali; tuttavia, l'adattamento richiede che tutti i contenuti multimediali aggiunti a SourceBuffer
siano conformi al tipo MIME fornito durante la creazione iniziale di SourceBuffer
tramite MediaSource.addSourceBuffer(type)
. I codec di questo tipo e tutti i segmenti di inizializzazione analizzati in precedenza devono rimanere invariati. Ciò significa che il sito web deve adottare misure esplicite per accelerare il passaggio a codec o bytestream (utilizzando più elementi multimediali o tracce SourceBuffer
e passando da uno all'altro), aumentando la complessità delle applicazioni e la latenza visibile agli utenti. Queste transizioni richiedono che l'app web
svolga un'azione sincrona sul thread principale del renderer. Questa latenza di transizione compromette l'uniformità della riproduzione dei contenuti multimediali tra le transizioni.
Con il nuovo metodo changeType()
, SourceBuffer
può eseguire il buffer e supportare la riproduzione su diversi formati bytestream e codec. Questo nuovo metodo conserva i media precedentemente bufferati, il modulo per l'eliminazione o la rimozione di frame codificati MSE futuri, e sfrutta la logica di splicing e buffering nell'algoritmo di elaborazione dei frame codificato MSE esistente.
Ecco come utilizzare il metodo changeType()
:
const sourceBuffer = myMediaSource.addSourceBuffer('video/webm; codecs="opus, vp09.00.10.08"');
sourceBuffer.appendBuffer(someWebmOpusVP9Data);
// Later on...
if ('changeType' in sourceBuffer) {
// Change source buffer type and append new data.
sourceBuffer.changeType('video/mp4; codecs="mp4a.40.5, avc1.4d001e"');
sourceBuffer.appendBuffer(someMp4AacAvcData);
}
Come previsto, se il tipo passato non è supportato dal browser, questo metodo genera un'eccezione NotSupportedError
.
Controlla il campione da riprodurre con il buffering cross-codec e cross-bytestream e la riproduzione di un elemento audio.
Intenzione di spedizione | Tracker di Chromestatus | Bug di Chromium
Opus in MP4 per MSE
Il codec audio aperto e molto versatile Opus è supportato negli elementi <audio>
e <video>
a partire da Chrome 33. Successivamente, è stato aggiunto il supporto di Opus in ISO-BMFF (ovvero Opus in MP4). Ora Opus in MP4 è disponibile in Chrome
70 per Media Source Extensions.
Per rilevare se Opus in MP4 è supportato per MSE, procedi nel seguente modo:
if (MediaSource.isTypeSupported('audio/mp4; codecs="opus"')) {
// TODO: Fetch data and feed it to a media source.
}
Se vuoi vedere un esempio completo, dai un'occhiata al nostro esempio ufficiale.
A causa della mancanza di strumenti per eseguire il mux Opus in MP4 con valori corretti di taglio finale e presaltamento, se per te questa precisione è importante, dovrai utilizzare
SourceBuffer.appendWindow{Start,End}
e SourceBuffer.timestampOffset
in
Chrome per ottenere una riproduzione accurata del campione.
Intenzione di spedizione | Tracker di Chromestatus | Bug di Chromium
Consentire la riproduzione dei contenuti protetti per impostazione predefinita su Android
In Chrome 70 per Android, il valore predefinito dell'impostazione del sito "Contenuti protetti" cambia da "Chiedi prima" ad "Consentiti", riducendo così gli ostacoli associati alla riproduzione di questi contenuti multimediali. Questo cambiamento è possibile, in parte, grazie alle ulteriori misure adottate per cancellare le licenze multimediali insieme a cookie e dati dei siti, assicurando che le licenze multimediali non vengano utilizzate dai siti per monitorare gli utenti che hanno cancellato i dati di navigazione.