答案1
WebM 本質上是一種用於承載 VP8 或 VP9 視訊以及 Vorbis 或 Opus 音訊的容器格式。它沒有指定如何進行串流傳輸,而且通常與 MPEG-2 TS 或 MP4 等其他容器格式相比,它沒有對串流的廣泛支援。但它仍然可以用於串流媒體。
請注意,我所說的「串流」並不是指從網站下載單一文件,或在 HTML5<video>
標記中嵌入單一(長)剪輯。在過去的幾年裡,已經使用了幾種更先進的流技術:
RTMP 串流媒體(即時訊息傳遞協定),需要一個 RTMP 伺服器,例如Adobe Flash 媒體伺服器,它將 Flash 支援的檔案格式(MP4、FLV)串流傳輸到客戶端。這種技術仍然相當普遍,但就像所有基於快閃記憶體的技術一樣,它正在緩慢而肯定地消亡。
由於 Flash 不支援 WebM,因此您無法在 Flash 中使用它。
RTSP 串流媒體(即時串流協議)是串流媒體伺服器的控制協議,例如QuickTime 串流伺服器或者螺旋伺服器。客戶端和伺服器透過此協定交換控制訊息,而資料則透過即時傳輸協定(即時傳輸協定)有效負載。這在網上很少見,但是網路電視。
有關於如何進行的規範將WebM封裝在RTP中。
HTTP 直播和MPEG-DASH是自適應流技術,其中客戶端基於 M3U8 播放清單檔案(在 HLS 的情況下)或 MPD 清單(在 DASH 的情況下)透過簡單的 HTTP 請求從伺服器請求視訊區塊。該文件索引這些包含實際音訊和視訊資料的檔案區塊。
在 HLS 中,影片必須儲存在 MPEG-2 TS 中,或自 2017 年起,儲存在分段 MP4(ISO 基本媒體格式)檔案中。 MPEG-DASH 擁有更廣泛的支援;這裡,也可以使用分段WebM。