Mises à jour multimédias dans Chrome 70

François Beaufort
François Beaufort

Regarder une vidéo en mode Picture-in-picture

Le Picture-in-picture (PIP) permet aux utilisateurs de regarder des vidéos dans une fenêtre flottante (toujours au-dessus des autres fenêtres) afin de garder un œil sur ce qu'ils regardent tout en interagissant avec d'autres sites ou applications. La nouvelle API Picture-in-picture Web vous permet d'activer et de contrôler les vidéos de votre site Web.

Lisez notre article pour tout savoir.

Décodeur AV1

AV1 est un codec nouvelle génération développé par Alliance for Open Media. AV1 améliore l'efficacité de la compression de plus de 30% par rapport au codec vidéo de pointe VP9. Chrome 70 ajoute un décodeur AV1 à Chrome Desktop x86-64 sur la base de la spécification Bitstream officielle. À l'heure actuelle, la prise en charge est limitée au profil 0 "principal" et n'inclut pas les fonctionnalités d'encodage. Le conteneur accepté est MP4 (ISO-BMFF). Pour obtenir une brève description des conteneurs, consultez la section Conteneurs et codecs.

Pour essayer AV1:

  1. Accédez à la page YouTube TestTube.
  2. Sélectionnez "Préférer AV1 pour la SD" ou "Toujours privilégier AV1" pour obtenir la résolution AV1 souhaitée. Notez qu'à des résolutions plus élevées, AV1 est plus susceptible de rencontrer des problèmes de performances de lecture sur certains appareils.
  3. Essayez de lire des clips YouTube à partir de la playlist de lancement de la version bêta d'AV1.
  4. Vérifiez le codec av01 dans "Stats for nerds" (Statistiques avancées).
Statistiques avancées concernant AV1 sur YouTube
Statistiques avancées sur YouTube concernant AV1.

Prise en charge du basculement entre codec et conteneurs dans MSE

Chrome ajoute la prise en charge des transitions entre codec et multioctets améliorées dans la lecture des extensions de source multimédia à l'aide d'une nouvelle méthode changeType() sur SourceBuffer. Elle permet de modifier par la suite le type d'octets multimédias ajoutés à SourceBuffer.

La version actuelle de MSE est compatible avec la lecture adaptative des contenus multimédias. Cependant, l'adaptation nécessite que tout contenu multimédia ajouté à un SourceBuffer soit conforme au type MIME fourni lors de la création initiale du SourceBuffer via MediaSource.addSourceBuffer(type). Les codecs de ce type et tous les segments d'initialisation analysés précédemment doivent rester les mêmes. Cela signifie que le site Web doit prendre des mesures explicites pour effectuer le basculement de codec ou de bytestream (en utilisant plusieurs éléments multimédias ou en suivant SourceBuffer et en basculant entre ces éléments), ce qui augmente la complexité de l'application et la latence visible par l'utilisateur. (De telles transitions nécessitent que l'application Web effectue une action synchrone sur le thread principal du moteur de rendu). Cette latence de transition affecte la fluidité de la lecture des contenus multimédias entre les transitions.

Avec sa nouvelle méthode changeType(), un SourceBuffer peut mettre en mémoire tampon et accepter la lecture sur différents formats bytestream et codecs. Cette nouvelle méthode conserve les médias précédemment mis en mémoire tampon, ainsi que l'éviction ou la suppression de trames codées par MSE modulo à venir, et exploite la logique d'assemblage et de mise en mémoire tampon de l'algorithme existant de traitement de trames codées par MSE.

Pour utiliser la méthode changeType(), procédez comme suit:

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

Comme prévu, si le type transmis n'est pas compatible avec le navigateur, cette méthode génère une exception NotSupportedError.

Consultez l'exemple pour utiliser la mise en mémoire tampon et la lecture d'un élément audio avec codec croisé et multi-octets.

Intention de livraison | Outil de suivi de l'état de Chrome | Bug Chromium

Opus au format MP4 pour MSE

Le codec audio ouvert et très polyvalent Opus est compatible avec les éléments <audio> et <video> depuis Chrome 33. La compatibilité avec Opus au format ISO-BMFF (également appelée "Opus" en MP4) a été ajoutée par la suite. Le format Opus au format MP4 est désormais disponible dans Chrome 70 pour les extensions Media Source.

Pour savoir si le format Opus au format MP4 est compatible avec MSE, procédez comme suit:

if (MediaSource.isTypeSupported('audio/mp4; codecs="opus"')) {
  // TODO: Fetch data and feed it to a media source.
}

Pour voir un exemple complet, découvrez notre extrait officiel.

En raison du manque d'outils pour mux Opus en MP4 avec des valeurs correctes pour le découpage de fin et le pré-ignorateur, si cette précision est importante pour vous, vous devez utiliser SourceBuffer.appendWindow{Start,End} et SourceBuffer.timestampOffset dans Chrome pour obtenir une lecture avec une précision de l'échantillon.

Intention de livraison | Outil de suivi de l'état de Chrome | Bug Chromium

Autoriser par défaut la lecture de contenus protégés sur Android

Dans Chrome 70 pour Android, la valeur par défaut du paramètre de site "contenu protégé" passe de "Demander d'abord" à "Autorisé", ce qui réduit les difficultés liées à la lecture de ces contenus multimédias. Ce changement est possible, en partie grâce à des mesures supplémentaires prises pour effacer les licences multimédias parallèlement aux cookies et aux données de site, garantissant que les licences multimédias ne sont pas utilisées par les sites pour suivre les utilisateurs qui ont effacé les données de navigation.

ALT_TEXT_HERE
Paramètre de contenu protégé sur Android