- Programiści stron internetowych mogą teraz przewidywać, czy odtwarzanie będzie płynne i oszczędzające energię.
- Chrome obsługuje teraz odtwarzanie filmów HDR w systemie Windows 10.
- Odtwarzanie offline z trwałymi licencjami są teraz obsługiwane w systemach Windows i macOS.
- Domyślna wartość wstępnego wczytywania dla
<video>
i Elementy<audio>
mają teraz wartość"metadata"
. - Gdy plik multimedialny pojawia się, zgłaszany jest błąd. prędkość odtwarzania nie jest obsługiwana.
- Chrome wstrzymuje teraz wszystkie multimedia odtwarzane w tle.
- Dźwięk nie jest już wyciszony w: bardzo dużą szybkość odtwarzania.
Funkcje mediów – interfejs Decoding Info API
Obecnie deweloperzy stron internetowych niejednoznacznie polegają na isTypeSupported()
lub canPlayType()
czy niektóre multimedia można zdekodować. Prawdziwe pytanie powinno jednak brzmieć:
„jaką skuteczność będzie działać na tym urządzeniu?”
To jeden z celów proponowanych możliwości medialnych. rozwiązuj: interfejs API do wysyłania zapytań o możliwości dekodowania urządzenia. takich jak kodeki, profil, rozdzielczość, szybkość transmisji bitów itp., ujawni informacje takie jak to, czy odtwarzanie powinno być płynne, energooszczędności na podstawie statystyk odtwarzania zarejestrowanych przez przeglądarkę.
Oto w skrócie, jak obecnie działa interfejs Decoding Info API. Zobacz oficjalna wersja.
const mediaConfig = {
type: 'media-source', // or 'file'
audio: {
contentType: 'audio/webm; codecs=opus',
channels: '2', // audio channels used by the track
bitrate: 132266, // number of bits used to encode a second of audio
samplerate: 48000 // number of samples of audio carried per second
},
video: {
contentType: 'video/webm; codecs="vp09.00.10.08"',
width: 1920,
height: 1080,
bitrate: 2646242, // number of bits used to encode a second of video
framerate: '25' // number of frames used in one second
}
};
navigator.mediaCapabilities.decodingInfo(mediaConfig).then(result => {
console.log('This configuration is' +
(result.supported ? '' : ' NOT') + ' supported,' +
(result.smooth ? '' : ' NOT') + ' smooth and' +
(result.powerEfficient ? '' : ' NOT') + ' power efficient.');
});
Możesz wypróbować różne konfiguracje multimediów, aż znajdziesz najlepszą
(smooth
i powerEfficient
) i używaj ich do odtwarzania odpowiednich multimediów
. Przy okazji bieżąca implementacja Chrome opiera się
zapisane informacje o odtwarzaniu. Definiuje smooth
jako prawdziwe, gdy wartość procentowa
utraconych klatek wynosi mniej niż 10%, a powerEfficient
ma wartość prawda, jeśli więcej
niż 50% klatek jest dekodowanych przez sprzęt. Małe ramki są zawsze
uważanych za bardzo energooszczędne.
Zalecamy użycie fragmentu podobnego do podanego poniżej, aby wykryć lub wrócić do obecnej implementacji dla przeglądarek, które nie obsługują tego interfejsu API.
function isMediaConfigSupported(mediaConfig) {
const promise = new Promise((resolve, reject) => {
if (!('mediaCapabilities' in navigator)) {
return reject('MediaCapabilities API not available');
}
if (!('decodingInfo' in navigator.mediaCapabilities)) {
return reject('Decoding Info not available');
}
return resolve(navigator.mediaCapabilities.decodingInfo(mediaConfig));
});
return promise.catch(_ => {
let fallbackResult = {
supported: false,
smooth: false, // always false
powerEfficient: false // always false
};
if ('video' in mediaConfig) {
fallbackResult.supported = MediaSource.isTypeSupported(mediaConfig.video.contentType);
if (!fallbackResult.supported) {
return fallbackResult;
}
}
if ('audio' in mediaConfig) {
fallbackResult.supported = MediaSource.isTypeSupported(mediaConfig.audio.contentType);
}
return fallbackResult;
});
}
Dostępne w przypadku testowania origin
Chcąc uzyskać jak najwięcej opinii od deweloperów korzystających z narzędzia interfejsu API informacji (część funkcji medialnych). Dodaliśmy go jako wersję próbną origin w Chrome 64.
Okres próbny zakończył się w kwietniu 2018 roku.
Zamiar eksperymentowania | Zamiar wysyłki | Tracker Chromestatus | Błąd Chromium
Odtwarzanie filmów HDR w systemie Windows 10
Filmy High Dynamic Range (HDR) mają wyższy kontrast, jeszcze bardziej wyraziste cienie i oszałamiające podświetlenia. Poza tym obsługa szerokiej gamy kolorów sprawia, że kolory są bardziej żywe.
Ponieważ odtwarzanie 10-bitowe w profilu VP9 profilu 2 jest teraz obsługiwane w Chrome w systemie Windows 10 (jesienią) Aktualizacja dla twórców: Chrome dodatkowo obsługuje odtwarzanie filmów HDR w systemie Windows 10 jest w trybie HDR. Uwaga techniczna: Chrome 64 obsługuje teraz kolory scRGB. co z kolei umożliwia odtwarzanie multimediów w trybie HDR.
Możesz wypróbować tę funkcję, oglądając w YouTube The World in HDR in 4K (ULTRA HD). i zobacz, czy można ją odtwarzać w trybie HDR. W tym celu sprawdź ustawienie jakości odtwarzacza YouTube.
Na razie potrzebujesz tylko jesiennej aktualizacji dla twórców Windows 10, zgodnej z HDR karta graficzna i wyświetlacz (np. karta NVIDIA 10, telewizor lub monitor LG HDR), i włącz tryb HDR w ustawieniach wyświetlacza w systemie Windows.
Programiści stron internetowych mogą wykryć przybliżoną gamę kolorów obsługiwanych przez dane wyjściowe urządzenia z niedawnym zapytaniem o multimedia color-gamut i liczbą bitów użytych do pozwala wyświetlać kolor na ekranie za pomocą parametru screen.colorDepth. Oto jeden ze sposobów używania które pozwalają określić, czy standard HDR VP9 jest obsługiwany. Na przykład:
// Detect if display is in HDR mode and if browser supports VP9 HDR.
function canPlayVp9Hdr() {
// TODO: Adjust VP9 codec string based on your video encoding properties.
return (window.matchMedia('(color-gamut: p3)').matches &&
screen.colorDepth >= 48 &&
MediaSource.isTypeSupported('video/webm; codecs="vp09.02.10.10.01.09.16.09.01"'))
}
Ciąg kodeka VP9 z profilem 2 przekazany do isTypeSupported()
w funkcji
Powyższy przykład wymaga aktualizacji w zależności od właściwości kodowania wideo.
Pamiętaj, że nie można jeszcze zdefiniować kolorów HDR w arkuszach CSS, canvas, obrazów i treści chronionych. Zespół Chrome nad nim pracuje. Więcej informacji już wkrótce.
Licencje trwałe dla systemów Windows i Mac
Licencja trwała w rozszerzeniach zaszyfrowanych multimediów (EME) oznacza, że może muszą być zachowywane na urządzeniu, aby aplikacje mogły wczytać licencję bez wysyłania kolejnego żądania licencji do serwera. Jak to zrobić odtwarzanie offline jest obsługiwane w formacie EME.
Do tej pory ChromeOS i Android były jedynymi platformami, które obsługiwały trwałe licencji. To już nieprawda. Odtwarzaj treści chronione przez EME podczas urządzenie działa teraz w trybie offline również w Chrome 64 w systemach Windows i Mac.
const config = [{
sessionTypes: ['persistent-license'],
videoCapabilities: [{
contentType: 'video/webm; codecs="vp09.00.10.08"',
robustness: 'SW_SECURE_DECODE' // Widevine L3
}]
}];
navigator.requestMediaKeySystemAccess('com.widevine.alpha', config)
.then(access => {
// User will be able to watch encrypted content while being offline when
// license is stored locally on device and loaded later.
})
.catch(error => {
// Persistent licenses are not supported on this platform yet.
});
Możesz samodzielnie wypróbować licencje trwałe, sprawdzając Sample Media PWA. i wykonaj te czynności:
- Wejdź na https://biograf-155113.appspot.com/ttt/episode-2/.
- Kliknij „Udostępnij w trybie offline”. i poczekaj, aż film zostanie pobrany.
- Wyłącz połączenie z internetem.
- Kliknij przycisk „Odtwórz”. i ciesz się filmem!
Domyślne ustawienie wstępnego wczytywania multimediów to „metadane”.
Zgodność z adresami innych przeglądarek implementacji, Chrome na komputery ustawia teraz wartość domyślną
wstępnie wczytaj wartość elementów <video>
i <audio>
na "metadata"
, aby
zmniejszanie przepustowości i wykorzystania zasobów. Od wersji Chrome 64 to nowe zachowanie jest stosowane tylko
w przypadkach, gdy nie ustawiono wartości wstępnego wczytywania. Pamiętaj, że atrybut wstępnego wczytywania
podpowiedź jest odrzucana, gdy element MediaSource
zostanie dołączony do elementu multimedialnego jako
witryna obsługuje własne wstępne wczytywanie.
Oznacza to, że wartość wstępnego załadowania <video>
wynosi teraz "metadata"
, a wartość wstępnego wczytywania <video
preload="auto">
pozostaje na "auto"
. Wypróbuj oficjalną próbkę.
Zamiar wysyłki | Narzędzie do śledzenia stanu Chrome | Błąd Chromium
Nieobsługiwana wartość odtwarzania powoduje zgłoszenie wyjątku
Po zmianie specyfikacji HTML, gdy elementy multimedialne playbackRate
jest ustawiona na wartość nieobsługiwaną przez Chrome (np. ujemną),
"NotSupportedError"
DOMException
w Chrome 63.
const audio = document.querySelector('audio');
try {
audio.playbackRate = -1;
} catch(error) {
console.log(error.message); // Failed to set the playbackRate property
}
Przy okazji – obecna implementacja Chrome zgłasza ten wyjątek, gdy
Parametr playbackRate
jest liczbą ujemną, mniejszą niż 0, 0625 lub większą niż 16. Wypróbuj
do oficjalnego sampla,
aby zobaczyć, jak to działa.
Zamiar wysyłki | Narzędzie do śledzenia stanu Chrome | Błąd Chromium
Optymalizacje ścieżki wideo w tle
Zespół Chrome zawsze stara się znaleźć nowe sposoby na wydłużenie czasu pracy na baterii i Chrome 63 nie był wyjątkiem.
Jeśli film nie zawiera żadnych ścieżek audio, zostanie automatycznie wstrzymywane podczas odtwarzania w tle (np. na niewidocznej karcie) w Chrome na komputery (Windows, Mac, Linux i ChromeOS). To jest kontynuacja podobną zmianę, która miała zastosowanie tylko do filmów MSE w Chrome 62.
Usuń wyciszenie z powodu nadmiernych współczynników odtwarzania
Przed wersją Chrome 64 dźwięk był wyciszony, gdy poziom playbackRate
był niższy niż 0,5 lub powyżej 4
bo ich jakość znacznie się pogorszyła. Po przejściu Chrome na
Metoda WSOLA (fale-podobne połączenie nakładania się) poprawiająca jakość dźwięku
nie musi być już ignorowany. Oznacza to, że możesz odtwarzać dźwięk bardzo wolno,
bardzo szybko.