WebM 有自己的传输方式吗?它与 RTMP 和 HTTP 直播流有何关系?

WebM 有自己的传输方式吗?它与 RTMP 和 HTTP 直播流有何关系?

当我阅读有关流媒体格式和打包方法的文章时,我对 WebM 被描述为与以下格式互斥的方式感到困惑:实时消息协议HTTP 直播流

据我了解,WebM 是一种视频格式,就像一种对视频文件进行编码的方式,带有扩展名.webm,而 RTMP 和 HLS 都是在网络上以实时流形式发送视频格式的方式(一种打包信息位并通过某些网络协议(如 HTTP TCP)发送它们的方式)。

WebM 是否有自己的专有方法通过网络发送自身?RTMP 和 HLS 是否无法发送 WebM 格式的视频?

答案1

WebM 本质上是一种用于承载 VP8 或 VP9 视频和 Vorbis 或 Opus 音频的容器格式。它没有指定应如何进行流式传输,并且与 MPEG-2 TS 或 MP4 等其他容器格式相比,它通常没有广泛的流式传输支持。但是它仍然可以用于流式传输。

请注意,我所说的“流媒体”并不是指从网站下载单个文件,也不是指在 HTML5<video>标签中嵌入单个(长)剪辑。过去几年,人们使用了几种更先进的流媒体技术:

  • RTMP 流式传输(实时消息协议),需要像Adobe Flash 媒体服务器,它将向客户端传输 Flash 支持的文件格式(MP4、FLV)。这种技术仍然非常流行,但正在慢慢消亡——就像所有基于 Flash 的技术一样。

    由于 Flash 不支持 WebM,因此您无法在那里使用它。

  • RTSP 流式传输(实时流协议)是用于流媒体服务器的控制协议,例如QuickTime 流媒体服务器或者Helix 服务器客户端和服务器将通过此协议交换控制消息,而数据则通过实时协议(实时传输协议)有效负载。这在网络上很少见,而是网络电视

    有关于如何将 WebM 封装在 RTP 中

  • HTTP 直播流MPEG-DASH是自适应流媒体技术,其中客户端通过简单的 HTTP 请求从服务器请求视频块,这些请求基于 M3U8 播放列表文件(对于 HLS)或 MPD 清单(对于 DASH)。此文件索引这些包含实际音频和视频数据的文件块。

    在 HLS 中,视频必须存储在 MPEG-2 TS 中,或者自 2017 年以来,存储在碎片化的 MP4(ISO 基础媒体格式)文件中。MPEG-DASH 有更广泛的支持;在这里,分段式 WebM 也可以使用

相关内容