- La lecture hors connexion avec des licences persistantes et Widevine L1 sont désormais compatibles avec Android.
- Chrome désactive désormais les pistes vidéo lorsqu'une vidéo MSE est lue en arrière-plan pour optimiser les performances.
- Les développeurs Web peuvent personnaliser la plage pouvant être recherchée. sur les diffusions MSE en direct.
- Chrome est désormais compatible avec FLAC au format MP4 avec MSE.
- La vidéo passe en plein écran lorsque l'utilisateur fait pivoter l'appareil.
Licences persistantes pour Android
Une licence persistante dans Encrypted Media Extensions (EME) signifie que la licence peut sont conservées sur l'appareil afin que les applications puissent charger la licence mémoire sans envoyer d'autre demande de licence au serveur. Voici comment la lecture hors connexion est prise en charge en EME.
Jusqu'à présent, ChromeOS était la seule plate-forme compatible avec les licences persistantes. Il n'est plus vrai. Lecture de contenu protégé via EME lorsque l'appareil est le mode hors connexion est désormais également possible sur Android.
const config = [{
sessionTypes: ['persistent-license'],
videoCapabilities: [{
contentType: 'video/webm; codecs="vp09.00.10.08"',
robustness: 'SW_SECURE_DECODE' // Widevine L3
}]
}];
// Chrome will prompt user if website is allowed to uniquely identify
// user's device to play protected content.
navigator.requestMediaKeySystemAccess('com.widevine.alpha', config)
.then(access => {
// User will be able to watch encrypted content while being offline when
// license is stored locally on device and loaded later.
})
.catch(error => {
// Persistent licenses are not supported on this platform yet.
});
Vous pouvez essayer les licences persistantes par vous-même en consultant l'exemple de PWA Media. et procédez comme suit:
- Accédez à https://biograf-155113.appspot.com/ttt/episode-2/.
- Cliquez sur "Rendre disponible hors connexion". et attendez que la vidéo soit téléchargée.
- Activez le mode Avion.
- Cliquez sur le bouton de lecture et profitez de la vidéo !
Widevine L1 pour Android
Comme vous le savez peut-être déjà, tous les appareils Android doivent être compatibles avec Widevine Niveau de sécurité 3 (Widevine L3). Cependant, il existe de nombreux appareils compatible avec le plus haut niveau de sécurité: Widevine Security Level 1, qui inclut l'ensemble du traitement, de la cryptographie et du contrôle du contenu. dans l'environnement d'exécution sécurisé (TEE).
Bonne nouvelle ! Widevine L1 est désormais compatible avec Chrome pour Android, ce qui permet de la manière la plus sécurisée. Notez qu'elle était déjà prise en charge par Chrome OS.
const config = [{
videoCapabilities: [{
contentType: 'video/webm; codecs="vp09.00.10.08"',
robustness: 'HW_SECURE_ALL' // Widevine L1
}]
}];
// Chrome will prompt user if website is allowed to uniquely identify
// user's device to play protected content.
navigator.requestMediaKeySystemAccess('com.widevine.alpha', config)
.then(access => {
// User will be able to watch encrypted content in the most secure way.
})
.catch(error => {
// Widevine L1 is not supported on this platform yet.
});
Shaka Player, la bibliothèque JavaScript pour les formats multimédias adaptatifs (DASH et HLS) propose une démonstration pour vous permettre d'essayer Widevine L1:
- Accédez à https://shaka-player-demo.appspot.com/demo/, puis cliquez sur "Autoriser". lorsque vous y êtes invité.
- Choisissez "Angel One (multicodec, multilingual, Widevine)".
- Dans "Video Robustness" (Fiabilité de la vidéo), saisissez
HW_SECURE_ALL
. de la section "Configuration" . - Cliquez sur le bouton "Charger" et profitez de la vidéo !
Optimisations de la piste vidéo en arrière-plan (MSE uniquement)
L'équipe Chrome s'efforce en permanence de trouver de nouvelles façons d'améliorer l'autonomie de la batterie et Chrome 62 ne fait pas exception.
Chrome désactive désormais les pistes vidéo lorsque la vidéo est lue en arrière-plan (dans un onglet non visible, par exemple) si la vidéo utilise des extensions de source multimédia (MSE). Pour en savoir plus, consultez notre article précédent.
Personnaliser la plage pouvant être recherchée dans les flux MSE en direct
Comme vous le savez peut-être déjà, l'attribut seekable
contient les plages
de la ressource multimédia que le navigateur peut rechercher. Il contient généralement
période unique commençant à 0 et se terminant à la durée de la ressource multimédia. Si
la durée n'est pas disponible, par exemple pour une diffusion en direct, la période peut
en constante évolution.
La bonne nouvelle, c'est que vous pouvez désormais personnaliser plus efficacement
Logique de la plage seekable
avec des Media Source Extensions (MSE) par
en fournissant ou en supprimant une seule plage pouvant être recherchée qui est unie avec la
plages mises en mémoire tampon. Il en résulte une seule plage
recherche qui convient aux deux, lorsque
la durée de la source multimédia est de +Infinity
.
Dans le code ci-dessous, la source multimédia a déjà été associée à un support. et ne contient que son segment init:
const mediaSource = new MediaSource();
...
mediaSource.duration = +Infinity;
// Seekable time ranges: { }
// Buffered time ranges: { }
mediaSource.setLiveSeekableRange(1 /* start */, 4 /* end */);
// Seekable time ranges: { [1.000, 4.000) }
// Buffered time ranges: { }
// Let's append a media segment that starts at 3 seconds and ends at 6.
mediaSource.sourceBuffers[0].appendBuffer(someData);
// Seekable time ranges: { [1.000, 6.000) }
// Buffered time ranges: { [3.000, 6.000) }
mediaSource.clearLiveSeekableRange();
// Seekable time ranges: { [0.000, 6.000) }
// Buffered time ranges: { [3.000, 6.000) }
Il existe de nombreux cas que je n'ai pas abordés ci-dessus, je vous suggère donc d'essayer à l'échantillon officiel pour voir comment les périodes mises en mémoire tampon et pouvant être recherchées réagissent aux différentes les événements MSE.
Projet de livraison | Chromestatus Tracker | Bug Chromium
FLAC au format MP4 pour MSE
Le format de codage audio sans perte FLAC est compatible avec les médias standards. depuis la version 56 de Chrome. Ajout de FLAC compatible avec ISO-BMFF (aussi appelé FLAC en MP4) peu de temps après. Les fichiers FLAC au format MP4 sont désormais disponibles dans Chrome 62 pour les sources multimédias Extensions (MSE).
Pour information, les utilisateurs de Firefox sont ceux qui ont développé et implémenté la prise en charge de un format d'encapsulation FLAC en MP4, que la BBC a expérimenté l'utiliser avec MSE. Vous pouvez lire l'épisode "Delivering Radio 3 Concert" de la BBC "Son" pour en savoir plus.
Pour vérifier si le format FLAC au format MP4 est compatible avec MSE:
if (MediaSource.isTypeSupported('audio/mp4; codecs="flac"')) {
// TODO: Fetch data and feed it to a media source.
}
Pour voir un exemple dans son intégralité, consultez notre extrait officiel.
Projet de livraison | Chromestatus Tracker | Bug Chromium
La vidéo passe automatiquement en plein écran lors de la rotation de l'appareil
Si vous faites pivoter un appareil en mode paysage alors qu'une vidéo est en cours de lecture dans la fenêtre d'affichage, la lecture passe automatiquement en mode plein écran. Faire pivoter l'appareil pour repasse la vidéo en mode fenêtre. Consultez notre précédent article pour plus de détails.