Aktualności multimedialne w Chrome 70

François Beaufort
François Beaufort

Oglądanie filmów przy użyciu funkcji obraz w obrazie

Funkcja obraz w obrazie umożliwia oglądanie filmów w pływającym oknie (zawsze nad innymi oknami), dzięki czemu mogą obserwować, co oglądają podczas korzystania z innych witryn lub aplikacji. Dzięki nowemu interfejsowi Picture-in-Picture Web API możesz inicjować funkcje obrazu w obrazie w filmach w swojej witrynie i nimi zarządzać.

Aby dowiedzieć się więcej na ten temat, przeczytaj nasz artykuł.

dekoder AV1

AV1 to kodek nowej generacji stworzony przez Alliance for Open Media. AV1 zwiększa efektywność kompresji o ponad 30% w porównaniu z najnowocześniejszym kodekiem wideo, VP9. Chrome 70 dodaje do Chrome X86-64 dekoder AV1 na podstawie oficjalnej specyfikacji strumienia bitów. Obecnie obsługa jest ograniczona do „Głównego” profilu 0 i nie obejmuje możliwości kodowania. Obsługiwany kontener to MP4 (ISO-BMFF) (krótkie omówienie kontenerów znajdziesz w sekcji Kontenery i kodeki).

Aby wypróbować AV1:

  1. Wejdź na stronę YouTube TestTube.
  2. Wybierz „Preferuj AV1 w przypadku jakości SD” lub „Zawsze preferuj AV1”, aby uzyskać odpowiednią rozdzielczość AV1. Pamiętaj, że przy wyższych rozdzielczościach na niektórych urządzeniach AV1 może częściej występować problemy z odtwarzaniem.
  3. Spróbuj odtworzyć klipy z YouTube z playlisty AV1 Beta.
  4. Potwierdź kodek av01 w „Statystykach dla nerdów”.
Statystyki dla nerdów korzystających z AV1 w YouTube
Statystyki dla nerdów korzystających z AV1 w YouTube.

Obsługa przełączania kodeka i kontenera w MSE

Chrome dodaje obsługę przesyłania między kodekami i strumieniami bajtowymi w rozszerzeniach źródeł multimediów za pomocą nowej metody changeType() w SourceBuffer. Umożliwia zmianę typu multimediów dołączanych do elementu SourceBuffer później.

Obecna wersja MSE obsługuje adaptacyjne odtwarzanie multimediów, jednak adaptacja wymaga, aby wszystkie multimedia dołączone do SourceBuffer muszą być zgodne z typem MIME określonym podczas początkowego tworzenia SourceBuffer za pomocą MediaSource.addSourceBuffer(type). Kodeki z tego typu oraz wszystkie wcześniej przeanalizowane segmenty inicjowania muszą pozostać takie same przez cały czas. Oznacza to, że witryna musi podjąć konkretne działania w celu wykonania przełączania kodeka lub strumienia bajtów (przez użycie wielu elementów multimedialnych lub ścieżek SourceBuffer i przełączanie się między nimi), co zwiększa złożoność aplikacji i zwraca widoczne dla użytkownika opóźnienia. (Takie przejścia wymagają wykonania przez aplikację internetową działania synchronicznego w głównym wątku mechanizmu renderowania). Takie opóźnienie ogranicza płynność odtwarzania multimediów między przejściami.

Dzięki nowej metodzie changeType() SourceBuffer może buforować i obsługiwać odtwarzanie w różnych formatach bytestream i kodekach. Ta nowa metoda zachowuje buforowane wcześniej multimedia oraz umożliwia modyfikowanie i usuwanie klatek w przyszłości z kodowaniem MSE oraz wykorzystuje logikę podziału i buforowania w obecnym algorytmie przetwarzania klatek zakodowanych przez MSE.

Aby użyć metody 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);
}

Zgodnie z oczekiwaniami, jeśli przekazywany typ nie jest obsługiwany przez przeglądarkę, ta metoda zgłasza wyjątek NotSupportedError.

Zapoznaj się z przykładem, aby pobawić się buforowaniem elementów audio między kodekiem i strumieniem bajtowym.

Zamiar wysyłki | Narzędzie do śledzenia stanu Chrome | Błąd Chromium

Opus w formacie MP4 dla MSE

Otwarty i bardzo uniwersalny kodek audio Opus jest obsługiwany w elementach <audio> i <video> od wersji Chrome 33. Później dodano obsługę Opus in ISO-BMFF (w formacie MP4 Opus). Teraz w Chrome 70 jest dostępny pakiet Opus w formacie MP4 w przypadku rozszerzeń źródeł multimediów.

Aby sprawdzić, czy format Opus w formacie MP4 jest obsługiwany przez MSE:

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

Aby zobaczyć pełny przykład, przeczytaj oficjalną próbkę.

Ze względu na brak narzędzi do muksowania Opus w formacie MP4 z poprawnymi wartościami przycinania końcowego i wstępnego pominięcia, jeśli taka precyzja jest dla Ciebie ważna, musisz użyć SourceBuffer.appendWindow{Start,End} i SourceBuffer.timestampOffset w Chrome, aby uzyskać dokładne odtwarzanie próbki.

Zamiar wysyłki | Narzędzie do śledzenia stanu Chrome | Błąd Chromium

Domyślne zezwalanie na odtwarzanie treści chronionych na Androidzie

W Chrome 70 na Androida domyślna wartość ustawienia witryny „Treść chroniona” zmienia się z „Najpierw zapytaj” na „Dozwolone”, co ułatwia odtwarzanie takich multimediów. Zmiana ta jest możliwa między innymi w związku z dodatkowymi czynnościami, które mają na celu wyczyszczenie licencji na multimedia razem z plikami cookie i danymi witryn, dzięki czemu witryny nie będą używać licencji na multimedia do śledzenia użytkowników, którzy wyczyścili dane przeglądania.

ALT_TEXT_HERE
Ustawienie Treści chronione na Androidzie.