- 網頁開發人員可以控制影片的子母畫面功能。
- Chrome 電腦版 x86-64 現在支援 AV1 解碼器。
- MSE 中可以跨轉碼器和跨位元組串流緩衝處理及播放。
- Chrome 現在支援搭配 MSE 使用 MP4 的 Opus。
- 根據預設,Android 裝置允許播放受保護的內容。
使用子母畫面觀看影片
子母畫面 (PiP) 可讓使用者在浮動視窗 (永遠位於其他視窗上方) 中觀看影片,以便在與其他網站或應用程式互動時,隨時掌握正在觀看的影片。透過全新的子母畫面 Web API,您可以啟動及控制網站中影片的子母畫面。
請參閱我們的文章瞭解詳細資訊。
AV1 解碼器
AV1 是由開放式媒體聯盟開發的新一代轉碼器。相較於目前最先進的影片轉碼器 VP9,AV1 將壓縮效率提高超過 30%。Chrome 70 會根據官方位元串流規格,為 Chrome 電腦版 x86-64 新增 AV1 解碼器。目前支援僅使用「主要」設定檔 0,且不包含編碼功能。支援的容器為 MP4 (ISO-BMFF) (如需容器的簡短說明,請參閱從原始影片到網路)。
如何試用 AV1:
- 前往 YouTube TestTube 頁面。
- 選取「偏好 SD 使用 AV1」或「一律偏好 AV1」,以取得所需的 AV1 解析度。請注意,如果使用較高的解析度,AV1 在某些裝置上較有可能發生播放效能問題。
- 請嘗試透過 AV1 Beta 版發布播放清單播放 YouTube 短片。
- 確認「統計資料」中的轉碼器 av01。
支援 MSE 中的轉碼器和容器切換功能
Chrome 現正新增支援,協助在 Media Source Extensions 中使用新的 changeType()
方法播放,改善播放中的跨轉碼器或跨位元組串流轉換。SourceBuffer
可讓附加至 SourceBuffer
的媒體位元組類型之後變更。
目前的 MSE 版本支援媒體自動調整播放;不過,適應性規定,附加至 SourceBuffer
的任何媒體都必須符合最初透過 MediaSource.addSourceBuffer(type)
建立 SourceBuffer
時提供的 MIME 類型。該類型的轉碼器和先前剖析的所有初始化片段都必須保持不變。這表示網站必須採取明確步驟,才能完成轉碼器或位元組流的切換作業 (使用多個媒體元素或 SourceBuffer
追蹤及切換),從而增加應用程式複雜度,並讓使用者察覺的延遲。(這類轉場效果需要網頁應用程式在轉譯器主執行緒中進行同步動作)。這種轉場延遲會影響媒體在轉場間播放媒體的流暢度。
SourceBuffer
採用新的 changeType()
方法,可以緩衝及支援不同位元組串流格式和轉碼器的播放。這個新方法會保留先前經過緩衝處理的媒體,並模組化未來的 MSE 編碼影格清除或移除,並在現有的 MSE 編碼影格處理演算法中,運用剪接和緩衝邏輯。
以下說明如何使用 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);
}
如預期,如果瀏覽器不支援傳遞的類型,此方法就會擲回 NotSupportedError
例外狀況。
請參閱範例,瞭解如何執行跨轉碼器和跨位元組串流緩衝處理及播放音訊元素。
Intent to Ship | Chromestatus Tracker | Chromium 錯誤
MSE 專用 MP4 的 Opus
自 Chrome 33 版起,<audio>
和 <video>
元素均支援開放且用途廣泛的音訊轉碼器 Opus。之後已新增 ISO-BMFF 中的 Opu (又稱為 MP4 中的 Opus)。現在,Chrome 70 開始提供 Media Source Extensions 的 MP4 Opus。
如何偵測 MSE 是否支援 MP4 中的 Opus:
if (MediaSource.isTypeSupported('audio/mp4; codecs="opus"')) {
// TODO: Fetch data and feed it to a media source.
}
如要查看完整範例,請參閱我們的官方範例。
由於缺少 MP4 的 mux Opus 工具及正確的結束脩剪和預先略過值,因此如果這類精確度對您來說十分重要,您必須在 Chrome 中使用 SourceBuffer.appendWindow{Start,End}
和 SourceBuffer.timestampOffset
,才能取得取樣準確度播放內容。
Intent to Ship | Chromestatus Tracker | Chromium 錯誤
允許在 Android 裝置上預設播放受保護的內容
在 Android 版 Chrome 70 中,「受保護內容」網站設定的預設值從「先詢問」變更為「允許」,降低播放這類媒體的阻礙。這部分可行的改變,部分原因在於除了 Cookie 和網站資料以外,採取了額外的步驟來清除媒體授權,確保網站不會使用媒體授權來追蹤已經清除瀏覽資料的使用者。