- Deweloperzy mogą kontrolować obraz w obrazie w przypadku filmów.
- Dekodowanie AV1 jest teraz obsługiwane w Chrome na komputerach z systemem x86-64.
- Buferowanie i odtwarzanie z wykorzystaniem różnych kodeków i różnych strumieni bajtów jest możliwe w MSE.
- Chrome obsługuje teraz Opus w formacie MP4 z MSE.
- Odtwarzanie treści chronionych jest domyślnie dozwolone na urządzeniach z Androidem.
Oglądanie filmów w trybie obrazu w obrazie
Funkcja obraz w obrazie (PiP) umożliwia użytkownikom oglądanie filmów w pływającym oknie (zawsze na wierzchu innych okien), dzięki czemu mogą oni mieć podgląd oglądanych treści, gdy korzystają z innych witryn lub aplikacji. Dzięki nowemu interfejsowi Picture-in-Picture Web API możesz inicjować i sterować trybem obrazu w obrazie w przypadku filmów w swojej witrynie.
Aby dowiedzieć się więcej, przeczytaj ten artykuł.
Dekoder AV1
AV1 to kodek nowej generacji opracowany przez Alliance for Open Media. AV1 poprawia kompresję o ponad 30% w porównaniu z obecnym kodekiem wideo VP9. Chrome 70 zawiera dekoder AV1 na komputery z systemem x86-64 na podstawie oficjalnej specyfikacji bitstreama. Obecnie pomoc jest ograniczona do „głównego” profilu 0 i nie obejmuje funkcji kodowania. Obsługiwany kontener to MP4 (ISO-BMFF) (patrz Od surowego filmu do gotowego do użycia w internecie, aby uzyskać krótkie wyjaśnienie dotyczące kontenerów).
Aby wypróbować AV1:
- Otwórz stronę YouTube TestTube.
- Aby uzyskać odpowiednią rozdzielczość AV1, wybierz „Preferuj AV1 w transmisjach SD” lub „Zawsze preferuj AV1”. Pamiętaj, że przy wyższych rozdzielczościach na niektórych urządzeniach odtwarzanie w formacie AV1 może być mniej wydajne.
- Spróbuj odtworzyć klipy z YouTube z playlisty z filmami w formacie AV1 w wersji beta.
- Sprawdź, czy kodek av01 jest widoczny w sekcji „Statystyki dla nerdów”.

Obsługa przełączania kodeków i kontenerów w MSE
Chrome dodaje obsługę ulepszonych przejść między kodekami lub strumieniami bajtów podczas odtwarzania za pomocą rozszerzeń źródła multimediów, korzystając z nowej metody changeType()
w SourceBuffer
. Umożliwia późniejszą zmianę typu bajtów multimediów dołączonych do SourceBuffer
.
Obecna wersja MSE obsługuje adaptacyjne odtwarzanie multimediów, ale adaptacja wymaga, aby wszystkie multimedia dołączone do SourceBuffer
były zgodne z typem MIME podanym podczas tworzenia SourceBuffer
za pomocą MediaSource.addSourceBuffer(type)
. Kodek tego typu i wszystkie wcześniej przeanalizowane segmenty inicjalizacji muszą być takie same. Oznacza to, że witryna musi wykonać określone czynności, aby przeprowadzić przełączanie kodeków lub strumieni bajtów (za pomocą wielu elementów multimedialnych lub SourceBuffer
ścieżek i przełączania między nimi), co zwiększa złożoność aplikacji i opóźnienie widoczne dla użytkownika. (takie przejścia wymagają synchronicznego działania aplikacji internetowej w wątku głównym procesora graficznego). Ten czas oczekiwania na przejście wpływa na płynność odtwarzania multimediów podczas przejść.
Dzięki nowej metodzie changeType()
urządzenie SourceBuffer
może buforować i obsługiwać odtwarzanie w różnych formatach strumienia bajtów i kodekach. Ta nowa metoda zachowuje wcześniej buforowane multimedia, z wyjątkiem usunięcia lub wyrzucenia ramek kodowanych w formacie MSE, i wykorzystuje logikę przeplatania i buforowania w dotychczasowym algorytmie przetwarzania ramek kodowanych w formacie MSE.
Oto jak używać 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 przekazany typ nie jest obsługiwany przez przeglądarkę, ta metoda zgłasza wyjątek NotSupportedError
.
Zapoznaj się z przykładem, aby odtworzyć element audio z buforowaniem i odtwarzaniem w różnych kodekach i różnych strumieni bajtów.
Intend to Ship | Chromestatus Tracker | Chromium Bug
Opus w formacie MP4 dla MSE
Od wersji 33 Chrome otwarty i bardzo wszechstronny kodek audio Opus jest obsługiwany w elementach <audio>
i <video>
. Dodano obsługę Opus w formacie ISO-BMFF (czyli Opus w MP4) Teraz format Opus w MP4 jest dostępny w Chrome 70 w rozszerzeniach źródła multimediów.
Aby sprawdzić, czy Opus w MP4 jest obsługiwany w MSE:
if (MediaSource.isTypeSupported('audio/mp4; codecs="opus"')) {
// TODO: Fetch data and feed it to a media source.
}
Jeśli chcesz zobaczyć pełny przykład, zapoznaj się z oficjalnym plikiem przykładowym.
Z powodu braku narzędzi do muxowania Opus w formacie MP4 z poprawnym przycięciem końcowym i wartościami preskip, jeśli taka dokładność jest dla Ciebie ważna, musisz użyć SourceBuffer.appendWindow{Start,End}
i SourceBuffer.timestampOffset
w Chrome, aby uzyskać odtwarzanie z dokładnością do próbki.
Intend to Ship | Chromestatus Tracker | Chromium Bug
Zezwalanie na odtwarzanie treści chronionych domyślnie na urządzeniach z Androidem
W Chrome 70 na Androida domyślna wartość ustawienia witryny „Zawartość chroniona” zmieni się z „Zapytaj najpierw” na „Dozwolone”, co zmniejszy trudności związane z odtwarzaniem takich multimediów. Ta zmiana jest możliwa częściowo dzięki dodatkowym działaniom podjętym w celu usunięcia licencji na treści wraz z plikami cookie i danymi stron, co zapewnia, że strony nie będą używać licencji na treści do śledzenia użytkowników, którzy wykasowali dane przeglądania.
