摘要
本文描述常见的几种流媒体传输协议。
RTMP
RTMP全称是Real-Time Message Protocol。它是由 Adobe Systems 发布的一款视频流媒体网络传输协议,主要用于 Flash Player 和服务器端通信,支持直播、点播、实时音视频聊天,可承载高流量。但是,RTMP 是一种专有协议,不支持 P2P 分发,且易受防火墙限制。RTMP 是基于 TCP 的协议,可以提供稳定且连续的数据传输,适合实时播放。
RTSP/RTP/RTCP
RTSP全称是Real Time Streaming Protocol,RTSP 是一种应用层协议,用于建立和控制流媒体会话。它是一种双向协议,可以在客户端和服务器之间进行交互,支持暂停,快进,后退等控制操作。
RTP/RTCP全称是Real-Time Transport Protocol/Real-Time Transport Control Protocol。RTP 主要用于在 IP 网络中传输实时数据,如音频、视频或者模拟数据等,对数据包的排序、丢包重传以及同步具有良好的支持。RTCP 则提供与 RTP 流相关的统计和控制信息。但,RTP/RTCP 没有提供任何机制来保证传输的可靠性,即无法保证数据一定能够到达接收端。
HLS
HLS全称是HTTP Live Streaming ,是由 Apple 提出的基于 HTTP 的流媒体传输协议。它将视频流切成一段段,然后通过 HTTP 协议进行分发和播放,适应性强,而且由于 HTTP 能穿透大多数防火墙,使用 HLS 能适用于更广的场合。但是,HLS 的实时性相对较差,且不支持低延迟的场景。
MPEG-DASH
DASH全称是Dynamic Adaptive Streaming over HTTP,是一种自适应比特率流技术,能够使高质量视频在网络条件变化的情况下保持流畅播放,而且,DASH 是开源的,与 HLS 相比,提供了更好的跨平台兼容性。但是,由于 DASH 在视频质量切换时可能会有短暂的画面闪动或停顿,体验可能相对较差。

本文对比分析了多种流媒体传输协议,如RTMP适合实时播放但不支持P2P;RTSP/RTP/RTCP提供控制操作但不保证传输可靠性;HLS基于HTTP,适应性强但延迟较高;MPEG-DASH提供跨平台兼容性但切换可能导致画面问题;WebRTC适用于低延迟场景但存在浏览器兼容性问题;HTTP-FLV和HTTP-TS分别适用于直播和IPTV,而SRT则在低延迟和网络适应性方面表现出色,广泛应用于电视广播和电子竞技等场景。
最低0.47元/天 解锁文章
605

被折叠的 条评论
为什么被折叠?



