- Deweloperzy stron internetowych mogą kontrolować tryb obrazu w obrazie w przypadku filmów.
- Dekoder AV1 jest teraz obsługiwany w Chrome na komputery z architekturą x86-64.
- W MSE możliwe jest buforowanie i odtwarzanie w różnych kodekach i strumieniach bajtów.
- Chrome obsługuje teraz Opus w MP4 z MSE.
- Odtwarzanie treści chronionych jest domyślnie dozwolone na urządzeniach z Androidem.
Oglądanie filmu w trybie obrazu w obrazie
Obraz w obrazie (PIP) umożliwia oglądanie filmów w pływającym oknie (zawsze na wierzchu innych okien), dzięki czemu użytkownicy mogą śledzić oglądane treści podczas korzystania z innych witryn lub aplikacji. Dzięki nowemu interfejsowi Picture-in-Picture Web API możesz inicjować i kontrolować tryb obrazu w obrazie w przypadku filmów na swojej stronie.
Więcej informacji znajdziesz w naszym artykule.
Dekoder AV1
AV1 to kodek nowej generacji opracowany przez Alliance for Open Media. AV1 poprawia kompresję o ponad 30% w stosunku do kodeka wideo VP9. W Chrome 70 dodaliśmy dekoder AV1 do Chrome na komputery stacjonarne x86-64 na podstawie oficjalnej specyfikacji strumienia bitów. Obecnie obsługa jest ograniczona do profilu 0 „Głównego” i nie obejmuje możliwości kodowania. Obsługiwany kontener to MP4 (ISO-BMFF) (krótkie wyjaśnienie kontenerów znajdziesz w artykule Od surowego wideo do formatu gotowego do publikacji w internecie).
Aby wypróbować AV1:
- Otwórz stronę YouTube TestTube.
- Wybierz „Preferuj AV1 w transmisjach SD” lub „Zawsze preferuj AV1”, aby uzyskać żądaną rozdzielczość AV1. Pamiętaj, że przy wyższych rozdzielczościach odtwarzanie w formacie AV1 może powodować problemy z wydajnością na niektórych urządzeniach.
- Spróbuj odtworzyć klipy z YouTube z playlisty wprowadzającej AV1 w wersji beta.
- Sprawdź kodek av01 w „Statystykach 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 w Media Source Extensions za pomocą nowej metody changeType() w SourceBuffer. Umożliwia to późniejszą zmianę typu bajtów multimediów dołączonych do parametru SourceBuffer.
Obecna wersja MSE obsługuje adaptacyjne odtwarzanie multimediów, ale adaptacja wymaga, aby wszystkie multimedia dołączane do elementu SourceBuffer były zgodne z typem MIME podanym podczas początkowego tworzenia elementu SourceBuffer za pomocą interfejsu MediaSource.addSourceBuffer(type). Kodeki tego typu i wszystkie wcześniej przeanalizowane segmenty inicjujące muszą pozostać takie same. Oznacza to, że witryna musi podjąć wyraźne kroki, aby przełączyć kodek lub strumień bajtów (używając wielu elementów multimedialnych lub SourceBufferścieżek i przełączając się między nimi), co zwiększa złożoność aplikacji i opóźnienie widoczne dla użytkownika. (Takie przejścia wymagają od aplikacji internetowej podjęcia synchronicznego działania w głównym wątku renderowania). Ten czas oczekiwania na przejście
pogarsza płynność odtwarzania multimediów podczas przejść.
Dzięki nowej changeType() metodzie SourceBuffer może buforować i obsługiwać odtwarzanie w różnych formatach strumieni bajtów i kodekach. Ta nowa metoda zachowuje wcześniej buforowane multimedia, z wyjątkiem przyszłego usuwania lub usunięcia zakodowanych klatek MSE, i wykorzystuje logikę łączenia i buforowania w istniejącym algorytmie przetwarzania zakodowanych klatek 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ładowym kodem, aby poeksperymentować z buforowaniem i odtwarzaniem elementu audio w różnych kodekach i strumieniach bajtów.
Intent to Ship | Chromestatus Tracker | Chromium Bug
Opus w MP4 dla MSE
Otwarty i wszechstronny kodek audio Opus jest obsługiwany w elementach
<audio> i <video> od Chrome 33. Później dodaliśmy obsługę Opus w ISO-BMFF (czyli Opus w MP4). Od wersji 70 przeglądarki Chrome format Opus w MP4 jest dostępny w Media Source Extensions.
Aby sprawdzić, czy Opus w MP4 jest obsługiwany w przypadku 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 naszym oficjalnym przykładem.
Ze względu na brak narzędzi do multipleksowania Opus w MP4 z prawidłowym przycinaniem końcowym i wartościami preskip, jeśli taka precyzja 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.
Intent to Ship | Chromestatus Tracker | Chromium Bug
Domyślne zezwalanie na odtwarzanie treści chronionych na Androidzie
W Chrome 70 na Androida domyślna wartość ustawienia witryny „treści chronione” zmienia się z „Najpierw pytaj” na „Dozwolone”, co zmniejsza trudności związane z odtwarzaniem takich multimediów. Ta zmiana jest możliwa m.in. dzięki dodatkowym działaniom podjętym w celu usuwania licencji na multimedia wraz z plikami cookie i danymi witryn. Dzięki temu witryny nie mogą używać licencji na multimedia do śledzenia użytkowników, którzy usunęli dane przeglądania.