Aktualności multimedialne w Chrome 70

François Beaufort
François Beaufort

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ą 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 kontrolować Picture-in-Picture 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 dla komputerów PC z procesorami 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) (aby dowiedzieć się więcej o kontenerach, zapoznaj się z sekcją Kontenery i kodeki).

Aby wypróbować AV1:

  1. Otwórz stronę YouTube TestTube.
  2. 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.
  3. Spróbuj odtworzyć klipy z YouTube z playlisty z filmami w formacie AV1 w wersji beta.
  4. Sprawdź, czy kodek av01 jest widoczny w sekcji „Statystyki dla nerdów”.
Statystyki dla nerdów dotyczące AV1 w YouTube
Statystyki dla nerdów z udziałem AV1 w YouTube.

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 rozszerzeń źródła multimediów za pomocą 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łączenie kodeku lub strumienia bajtów (za pomocą wielu elementów multimedialnych lub SourceBuffer ścieżek i przełączania między nimi), zwiększając 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 oraz 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}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 ułatwi odtwarzanie 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.

ALT_TEXT_HERE
Ustawienie treści chronionych na Androidzie.