HLS、HTTP+FLV、DASH

HLS、HTTP+FLV 和 DASH 是三种常见的流媒体传输协议,它们在技术实现、使用场景和优缺点方面都有显著的区别。以下是对它们的关系和区别的详细解释,以及当前最流行的流媒体传输协议的讨论。

HLS(HTTP Live Streaming)

  1. 开发者

    • 由 Apple 开发。
  2. 工作原理

    • 将视频切片成小的 TS 文件,并生成一个 m3u8 播放列表文件。播放器下载 m3u8 文件并解析各个片段的 URL 进行播放。
  3. 优点

    • 广泛支持:特别是在 Apple 设备和 Safari 浏览器中。
    • 自适应比特率流(ABR):可以根据网络状况动态调整流的质量。
    • 标准 HTTP 服务器支持:易于部署和使用 CDN。
  4. 缺点

    • 延迟较高:通常在 10-30 秒之间。
    • 切片和播放列表管理:实现较复杂。

HTTP+FLV

  1. 开发者

    • 基于 Flash Video (FLV) 格式,由 Adobe 推出。虽然 Flash 已经被淘汰,但 HTTP+FLV 仍然在某些场景中使用。
  2. 工作原理

    • 实时推送音视频数据到服务器,通过 HTTP 持久连接(如 Chunked Transfer Encoding)将数据流式传输到客户端。
  3. 优点

    • 低延迟:通常为 1-5 秒。
    • 实现简单:直接流式传输,不需要切片和播放列表管理。
  4. 缺点

    • 兼容性较差:原本依赖 Flash,现在需要其他技术方案替代。
    • 扩展性较差:长连接特性在大规模分发时压力较大。

DASH(Dynamic Adaptive Streaming over HTTP)

  1. 开发者

    • 由 MPEG 开发,作为国际标准。
  2. 工作原理

    • 类似于 HLS,将视频切片成小的文件,并生成一个 MPD(Media Presentation Description)文件。播放器解析 MPD 文件,动态选择合适的片段进行播放。
  3. 优点

    • 自适应比特率流(ABR):根据网络状况动态调整流的质量。
    • 广泛支持:跨平台支持,包括现代浏览器和设备。
    • 标准化:作为国际标准,具有广泛的适应性。
  4. 缺点

    • 延迟:比 HTTP+FLV 稍高,但通常低于 HLS,通常在 5-10 秒之间。
    • 实现复杂度:类似于 HLS,需要切片和播放列表管理。

当前最流行的流媒体传输协议

当前最流行的流媒体传输协议主要是 HLSDASH,原因如下:

  1. HLS

    • 广泛支持:尤其在 Apple 设备和 Safari 浏览器中,HLS 是默认支持的协议。
    • CDN 友好:通过 HTTP 服务器传输,易于使用 CDN 进行大规模分发。
    • 自适应比特率:提升用户体验,适应不同网络状况。
  2. DASH

    • 跨平台支持:作为国际标准,得到广泛支持,包括在现代浏览器中。
    • 自适应比特率:与 HLS 类似,可以动态调整流的质量以适应网络状况。
    • 灵活性:支持多种编解码器和传输格式。

虽然 HTTP+FLV 在某些低延迟场景(如在线教育和互动直播)仍然使用,但由于 Flash 的淘汰和兼容性问题,它的使用范围相对较小。

关系和总结

  • HLS 和 DASH

    • 都是基于 HTTP 的自适应流媒体协议,适用于大规模分发和跨平台支持。
    • HLS 在 Apple 设备中更为流行,而 DASH 作为国际标准在多种设备和平台中得到广泛支持。
  • HTTP+FLV

    • 主要用于低延迟直播场景,但因兼容性和扩展性问题,逐渐被其他协议取代。

最流行的协议

目前,HLSDASH 是最流行的流媒体传输协议,广泛用于视频点播、直播和大规模分发场景。选择使用哪种协议通常取决于目标设备、延迟要求和具体的应用场景。


补充:

MPEG-DASH 会将视频分解成更小的片段(通常为 2-4 秒,但可以配置,HLS 切片持续时间通常为 6-10 秒),并以不同的质量级别对这些片段进行编码。这使得有可能流式传输不同质量级别的视频,并在视频中间从一种质量级别切换到另一种质量级别

编码格式: MPEG-DASH 允许使用任何编码标准。另一方面,HLS 需要使用 H.264 或 H.265。

设备支持: HLS 是唯一受 Apple 设备支持的格式。iPhone、MacBook 和其他 Apple 产品无法播放通过 MPEG-DASH 传输的视频。

片段长度:这是 2016 年以前协议之间的较大差异,当时 HLS 的默认片段长度为 10 秒。今天,HLS 的默认长度为 6 秒,但可以调整。MPEG-DASH 片段的长度通常在 2 到 10 秒之间,但最佳长度是 2 到 4 秒。

  • 11
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你提到的是视频流传输协议和对应的视频封装格式,其中: - MMS(Microsoft Media Server)是微软开发的流媒体传输协议,可以传输音频、视频和其他多媒体数据。MMS流可以保存为WMV(Windows Media Video)或ASF(Advanced Systems Format)格式文件。 - RTSP(Real-Time Streaming Protocol)是一种实时流媒体传输协议,通常用于 IP 网络上的音频、视频和其他多媒体流传输。RTSP流可以保存为RMVB(RealMedia Variable Bitrate)或RM(RealMedia)格式文件。 - RTMP(Real-Time Messaging Protocol)是一种实时流媒体传输协议,通常用于通过 Flash 插件在 Web 上播放音频、视频和其他多媒体流。RTMP流可以保存为F4V(Flash Video)或FLV(Flash Video)格式文件,也可以以 SWF(Shockwave Flash)格式嵌入到网页中。 - HLSHTTP Live Streaming)是一种基于 HTTP 协议的流媒体传输协议,可以实现多码率自适应流媒体播放。HLS流可以保存为MP4(MPEG-4 Part 14)、MKV(Matroska Multimedia Container)或MOV(Apple QuickTime)格式文件。 - MPEG-DASH(Dynamic Adaptive Streaming over HTTP)是一种基于 HTTP 协议的自适应流媒体传输协议,可以实现多码率自适应流媒体播放。MPEG-DASH流可以保存为H.264(Advanced Video Coding)和AAC(Advanced Audio Coding)编码的MP4格式文件。 - WebRTC(Web Real-Time Communication)是一种实时通信技术标准,包括音频、视频、数据传输等。WebRTC可用于实现视频聊天软件和视频会议等功能,对应的视频格式取决于具体的实现方式。 需要注意的是,上述流传输协议和封装格式只是其中的一部分,实际上还有很多其他的协议和格式可供选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值