- Chrome, AV1 video kodu çözmeyi destekler.
- Hangi şifreleme şemalarının desteklendiğini sorgulama. EME artık kullanılabilir.
- Web geliştiricileri, belirli bir HDCP politikasının zorunlu kılınıp uygulanamayacağını sorgulama konusunda denemeler yapabilir.
- Medya Kaynağı Uzantıları, artık arabellekteki aralıklar ve süre değerleri için PTS'yi kullanmaktadır.
- Android Go kullanıcıları Chrome'da indirilen ses, video ve resimleri açabilir.
- MSE kullanan medya öğelerinin durdurulmuş etkinlikler kaldırılır.
AV1 video kod çözücü
ChromeDurum İzleyici | Chromium Hatası
EME: Şifreleme şeması desteğini sorgulama
Bazı platformlar veya anahtar sistemler yalnızca CENC modunu destekler, bazıları ise yalnızca destekler CBCS moduna girer. Bazıları ise her ikisini de destekleyebilir. Bu iki şifreleme şeması uyumlu olmadığı için web geliştiricilerinin akıllı seçimler yapabilmesi gerekir. daha çok ayrıntı içerir.
"Bilinen" olup olmadığını kontrol etmek için hangi platformda olduklarını belirlemek zorunda kalmamak amacıyla
şifreleme şeması desteğini kullandığınızda, tarayıcıya yeni bir encryptionScheme
anahtarı eklenir
Web sitelerinin belirtilmesine izin vermek için MediaKeySystemMediaCapability
sözlük
Şifrelenmiş Medya Uzantıları'nda (EME) hangi şifreleme şemasının kullanılabileceğini gösterir.
Yeni encryptionScheme
anahtarı şu iki değerden biri olabilir:
'cenc'
AES-CTR modu tam örnek ve video NAL alt örnek şifrelemesi.'cbcs'
AES-CBC modu kısmi video NAL kalıbı şifrelemesi.
Belirtilmezse herhangi bir şifreleme şemasının kabul edilebilir olduğunu belirtir. Not
Anahtarı Temizle'nin her zaman 'cenc'
şemasını desteklediğini doğrulayın.
Aşağıdaki örnekte, farklı ayarlara sahip iki yapılandırmanın nasıl sorgulanacağı gösterilmektedir şifreleme şemalarını kullanır. Bu durumda yalnızca bir tanesi seçilir.
await navigator.requestMediaKeySystemAccess('org.w3.clearkey', [
{
label: 'configuration using the "cenc" encryption scheme',
videoCapabilities: [{
contentType: 'video/mp4; codecs="avc1.640028"',
encryptionScheme: 'cenc'
}],
audioCapabilities: [{
contentType: 'audio/mp4; codecs="mp4a.40.2"',
encryptionScheme: 'cenc'
}],
initDataTypes: ['keyids']
},
{
label: 'configuration using the "cbcs" encryption scheme',
videoCapabilities: [{
contentType: 'video/mp4; codecs="avc1.640028"',
encryptionScheme: 'cbcs'
}],
audioCapabilities: [{
contentType: 'audio/mp4; codecs="mp4a.40.2"',
encryptionScheme: 'cbcs'
}],
initDataTypes: ['keyids']
},
]);
Aşağıdaki örnekte yalnızca iki farklı şifrelemeye sahip bir yapılandırma emin olun. Bu durumda, Chrome tüm özellikler nesnesini siler destekleyemediği için biriken yapılandırma tek bir şifreleme içerebilir ya da her ikisini birden seçebilirsiniz.
await navigator.requestMediaKeySystemAccess('org.w3.clearkey', [{
videoCapabilities: [
{ // A video capability using the "cenc" encryption scheme
contentType: 'video/mp4; codecs="avc1.640028"',
encryptionScheme: 'cenc'
},
{ // A video capability using the "cbcs" encryption scheme
contentType: 'video/mp4; codecs="avc1.640028"',
encryptionScheme: 'cbcs'
},
],
audioCapabilities: [
{ // An audio capability using the "cenc" encryption scheme
contentType: 'audio/mp4; codecs="mp4a.40.2"',
encryptionScheme: 'cenc'
},
{ // An audio capability using the "cbcs" encryption scheme
contentType: 'audio/mp4; codecs="mp4a.40.2"',
encryptionScheme: 'cbcs'
},
],
initDataTypes: ['keyids']
}]);
Uygulama Amacı | ChromeDurum İzleyici | Chromium Hatası
EME: HDCP politika kontrolü
HDCP günümüzde yüksek çözünürlüklü akışlar için yaygın politika gereksinimidir korunan içerik kapsamında değerlendirilebilir. Bir HDCP politikasını uygulamak isteyen web geliştiricileri lisans değişiminin tamamlanmasını beklemeli veya canlı yayın başlatmalıdır daha yüksek çözünürlüğe sahip olmalıdır. Bu, HDCP Politikası'nın Check API'nin amacı şudur.
Önerilen bu API, web geliştiricilerinin belirli bir HDCP politikasının geçerli olup olmadığını sorgulamalarına olanak tanır.
videodaki ekran görüntüsünde optimum çözünürlükte başlatılabilmesi için
en iyi kullanıcı deneyimini sunmak. Projenin durumunu sorgulamak için kullanılan basit bir
bir HDCP politikasıyla ilişkilendirilmiş varsayımsal bir anahtar,
MediaKeySession
veya gerçek bir lisans getirin. MediaKeys
değerinin olması gerekmez
ekleyebilirsiniz.
HDCP Policy Check API yalnızca şunu çağırarak çalışır:
minHdcpVersion
anahtarına sahip bir nesneyle mediaKeys.getStatusForPolicy()
ve geçerli bir değer girin. HDCP belirtilen sürümde kullanılabiliyorsa döndürülen
taahhüt 'usable'
tutarında MediaKeyStatus
ile sonuçlandırılır. Aksi takdirde
MediaKeyStatus
gibi diğer hata değerleriyle çözümlenir.
'output-restricted'
veya 'output-downscaled'
. Anahtar sistemi
HDCP Politika Kontrolü'nü desteklemez (ör. Anahtar Sistemini Temizle) ise taahhüt reddedilir.
API'nin şimdilik nasıl çalıştığı aşağıda kısaca açıklanmıştır. Resmi örneğe göz atın tüm sürümlerini denemek için.
const config = [{
videoCapabilities: [{
contentType: 'video/webm; codecs="vp09.00.10.08"',
robustness: 'SW_SECURE_DECODE' // Widevine L3
}]
}];
navigator.requestMediaKeySystemAccess('com.widevine.alpha', config)
.then(mediaKeySystemAccess => mediaKeySystemAccess.createMediaKeys())
.then(mediaKeys => {
// Get status for HDCP 2.2
return mediaKeys.getStatusForPolicy({ minHdcpVersion: '2.2' })
.then(status => {
if (status !== 'usable')
return Promise.reject(status);
console.log('HDCP 2.2 can be enforced.');
// TODO: Fetch high resolution protected content...
});
})
.catch(error => {
// TODO: Fallback to fetch license or stream low-resolution content...
});
Kaynak denemeleri için kullanılabilir
Web geliştiricilerinden geri bildirim almak için HDCP Politikası'nı önceden ekledik Masaüstü için Chrome 69'da (ChromeOS, Linux, Mac ve Windows) API özelliğini kontrol edin.
Deneme sürümü Kasım 2018'de başarıyla sona erdi.
Deneme Amacı | ChromeDurum İzleyici | Chromium Hatası
MSE PTS/DTS uygunluğu
Arabelleğe alınan aralıklar ve süre değerleri artık Sunu Zaman Damgası ile raporlanıyor Medya'daki Kod Çözme Zaman Damgası (DTS) aralıkları yerine PTS) aralıkları Kaynak Uzantıları (MSE).
MSE yeni olduğunda, Chrome'un uygulaması WebM ve MP3'e göre test edildi. medya akışı biçimleridir. Ve ISO BMFF (MP4) eklenene kadar sorunsuz çalışıyordu. Bu kapsayıcı çoğu zaman sıralı sunum yerine zaman akışlarının H.264 gibi codec bileşenleri) DTS ve PTS'nin farklı olmasına neden olur. Bu durum, Chrome'un farklı arabellekteki aralıkları ve süreleri (genellikle sadece çok az) bildirmesi için görebilirsiniz. Bu yeni davranış Chrome 69'da kademeli olarak kullanıma sunulacaktır ve MSE uygulamasını MSE spesifikasyonu ile uyumlu hale getirin.
Bu değişiklik MediaSource.duration
öğeyi etkiler (ve bunun sonucunda
HTMLMediaElement.duration
), SourceBuffer.buffered
(ve sonuç olarak)
HTMLMediaElement.buffered)
ve SourceBuffer.remove(start, end)
.
Arabellekteki aralıkları ve süreyi raporlamak için hangi yöntemin kullanıldığından emin değilseniz
değerleri varsa dahili chrome://media-internals
sayfasına gidip
"ChunkDemuxer: PTS tarafından arabelleğe alınıyor" veya "ChunkDemuxer: DTS tarafından arabelleğe alınıyor"
günlükler.
Uygulama Amacı | Chromium Hatası
Android Go'da medya görüntüleme amaçlarının yönetimi
Android Go, Android'in giriş düzeyi için tasarlanmış hafif bir sürümüdür akıllı telefonlar. Bu bağlamda, bazı medya görüntülemeleriyle birlikte ile geliyor. Örneğin bir kullanıcı, indirilmiş bir videoyu açmaya çalıştığında bu amacı gerçekleştirecek bir uygulamaya sahip olmaz.
Android Go'daki Chrome 69 bu sorunu düzeltmek için artık medya görüntüleme amaçlarını dinliyor. Kullanıcılar indirilen ses, video ve resimleri görüntüleyebilir. Başka bir deyişle, yerine koyduk.
Bu Chrome özelliğinin, Android çalıştıran tüm Android cihazlarda etkin olduğunu unutmayın. En fazla 1 GB RAM ile O ve sonraki sürümlerde.
"Durdurulan" içeriğin kaldırılması MSE kullanan medya öğeleri için etkinlikler
Bir "durmuş" indirme işlemi medya öğesinde gerçekleşirse etkinlik
yaklaşık 3 saniyedir başarısız oldu. Medya Kaynağı Uzantıları kullanırken
(MSE) kullanıyorsanız indirme işlemini web uygulaması yönetir ve medya öğesi bunun farkında değildir.
takip edebiliyorsunuz. Bu durum, Chrome'un "durduruldu" değerini yükseltmesine neden oldu uygunsuz yerlerdeki etkinlikler
yeni medya veri parçalarını eklememesiyle elde edilen
Son 3 saniye içinde SourceBuffer.appendBuffer()
.
Web siteleri düşük sıklıkta büyük veri grupları eklemeye karar verebileceğinden arabelleğe alma durumu hakkında yararlı bir işaret değildir. "Durduruldu" durumunu kaldırma etkinlik MSE'yi kullanan medya öğeleri karışıklığı ortadan kaldırır ve Chrome'u daha uyumlu hale getirir uyumlu bir şekilde çalışır. MSE kullanmayan medya öğelerinin "durduruldu" durumunu yükseltmeye devam edin bugün olduğu gibi takip edebilirler.
Kullanımdan Kaldırma ve Kaldırma Amacı | ChromeDurum İzleyici | Chromium Hatası