Audio- und Video-Updates in Chrome 70

Beaufort
François Beaufort

Videos mit der Funktion „Bild im Bild“ ansehen

Mit Bild im Bild (BiB) können Nutzer Videos in einem unverankerten Fenster ansehen (immer über anderen Fenstern). So haben sie ein Auge darauf, was sie sich gerade ansehen, während sie mit anderen Websites oder Anwendungen interagieren. Mit der neuen Picture-in-Picture Web API kannst du die Funktion „Bild im Bild“ für Videos auf deiner Website initiieren und steuern.

Weitere Informationen

AV1-Decoder

AV1 ist ein Codec der nächsten Generation, der von der Alliance for Open Media entwickelt wurde. AV1 verbessert die Komprimierungseffizienz um mehr als 30% gegenüber dem aktuellen Video-Codec VP9. Chrome 70 fügt Chrome Desktop x86-64 einen AV1-Decoder auf Grundlage der offiziellen Bitstream-Spezifikation hinzu. Derzeit ist die Unterstützung auf Hauptprofil 0 beschränkt und umfasst keine Codierungsfunktionen. Als Container wird MP4 (ISO-BMFF) unterstützt. Eine kurze Erläuterung von Containern finden Sie unter Von Rohvideo zu Webversion.

So kannst du AV1 ausprobieren:

  • Rufe die TestTube-Seite von YouTube auf.
  • Wählen Sie „AV1 für SD vorziehen“ oder „AV1 immer bevorzugen“ aus, um die gewünschte AV1-Auflösung zu erhalten. Beachten Sie, dass AV1 bei höheren Auflösungen auf einigen Geräten mit höherer Wahrscheinlichkeit Probleme mit der Wiedergabeleistung verursacht.
  • Versuchen Sie, YouTube-Clips über die Playlist zur Einführung der AV1-Betaversion abzuspielen.
  • Bestätige den Codec av01 in „Statistiken für Interessierte“.
Statistiken für Interessierte mit AV1 auf YouTube.
Abbildung 1. Statistiken für Interessierte mit AV1 auf YouTube.

Unterstützung für den Codec- und Containerwechsel in MSE

Chrome unterstützt jetzt verbesserte Codec- oder bytestreamübergreifende Übergänge bei der Wiedergabe von Media Source Extensions. Dazu wird eine neue changeType()-Methode auf SourceBuffer verwendet. Damit kann der Typ der an SourceBuffer angehängten Medienbyte nachträglich geändert werden.

Die aktuelle Version von MSE unterstützt die adaptive Wiedergabe von Medien. Für die Anpassung müssen jedoch alle Medien, die an eine SourceBuffer angehängt werden, dem MIME-Typ entsprechen, der bei der anfänglichen Erstellung der SourceBuffer über MediaSource.addSourceBuffer(type) angegeben wurde. Codecs dieses Typs und alle zuvor geparsten Initialisierungssegmente müssen durchgehend gleich bleiben. Das bedeutet, dass die Website explizite Schritte ausführen muss, um den Codec- oder Bytestream-Wechsel durchzuführen (durch die Verwendung mehrerer Medienelemente oder SourceBuffer-Tracks und den Wechsel zwischen diesen), wodurch die Anwendungskomplexität und die für den Nutzer sichtbare Latenz erhöht werden. Bei solchen Übergängen muss die Webanwendung synchrone Aktionen im Hauptthread des Renderers ausführen. Diese Übergangslatenz beeinträchtigt die reibungslose Medienwiedergabe bei den Übergängen.

Mit der neuen changeType()-Methode kann ein SourceBuffer-Element zwischenspeichern und die Wiedergabe in verschiedenen Bytestream-Formaten und Codecs unterstützen. Diese neue Methode behält zuvor gepufferte Medien und das Entfernen oder Entfernen von modulo-zukünftigen MSE-codierten Frames bei und nutzt die Aufteilungs- und Pufferlogik im vorhandenen MSE-Algorithmus für die Verarbeitung codierter Frames.

So verwenden Sie die Methode 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);
    }

Wenn der übergebene Typ vom Browser nicht unterstützt wird, löst diese Methode wie erwartet die Ausnahme NotSupportedError aus.

Sehen Sie sich das Beispiel an, um mehr über die codec- und bytestreamübergreifende Zwischenspeicherung und Wiedergabe eines Audioelements zu erfahren.

Absendeabsicht | Chromestatus-Tracker | Chromium-Programmfehler

Opus in MP4 für MSE

Der offene und äußerst vielseitige Audio-Codec Opus wird seit Chrome 33 in den Elementen <audio> und <video> unterstützt. Danach wurden Opus in ISO-BMFF (auch Opus in MP4) unterstützt. Und jetzt ist Opus im MP4-Format in Chrome 70 für Medienquellenerweiterungen verfügbar.

So findest du heraus, ob Opus im MP4-Format für MSE unterstützt wird:

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

Ein vollständiges Beispiel finden Sie im offiziellen Beispiel.

Aufgrund fehlender Tools zum Mux von Opus in MP4 mit korrekten Werten für das Ende des Zuschneidens und das Vorüberspringen müssen Sie SourceBuffer.appendWindow{Start,End} und SourceBuffer.timestampOffset in Chrome verwenden, um eine stichpräzise Wiedergabe zu erzielen.

Absendeabsicht | Chromestatus-Tracker | Chromium-Programmfehler

Wiedergabe geschützter Inhalte auf Android-Geräten standardmäßig zulassen

In Chrome 70 für Android ändert sich der Standardwert für die Websiteeinstellung „geschützte Inhalte“ von „Zuerst fragen“ zu „Zulässig“. Dadurch wird die Wiedergabe solcher Medien vereinfacht. Diese Änderung ist zum Teil möglich, weil zusätzliche Schritte unternommen wurden, um neben Cookies und Websitedaten Medienlizenzen zu löschen, um dafür zu sorgen, dass Websites keine Medienlizenzen verwenden, um Nutzer zu verfolgen, die Browserdaten gelöscht haben.

Einstellung für geschützte Inhalte in Android.
Abbildung 2. Einstellung für geschützte Inhalte in Android.