- Programiści stron internetowych mogą kontrolować obraz w obrazie w filmach.
- Dekoder AV1 jest teraz obsługiwany w komputerach Chrome w wersjach x86-64.
- W MSE możliwe jest buforowanie i odtwarzanie z użyciem kodeków i transmisji między strumieniami bajtowymi.
- Chrome obsługuje teraz systemy operacyjne w formacie MP4 z MSE.
- Odtwarzanie treści chronionych jest domyślnie dozwolone na urządzeniach z Androidem.
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:
- Wejdź na stronę YouTube TestTube.
- 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.
- Spróbuj odtworzyć klipy z YouTube z playlisty AV1 Beta.
- Potwierdź kodek av01 w „Statystykach dla nerdów”.
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.