Advertisement

RTMP、RTSP(RTP、RTCP)、HLS介绍和协议

阅读量:

互联网上常用的两种主要的分发方式:RTMP、HLS
UDP :譬如YY的实时应用,视频会议等等,或者RTSP之类。这类应用的特点就是实时性要求特别高,以毫秒计算。TCP家族协议根本就满足不了要求,所以HTTP/TCP都不靠谱。这类应用没有通用的方案,必须自己实现分发(服务端)和播放(客户端)。
P2P :譬如RTMFP或者各家自己的协议。这类应用的特点是节省带宽。目前PC/flash上的RTMFP比较成熟,Android上的P2P属于起步群雄纷争标准不一,IOS上P2P应该没有听说过。
RTSP :这种不是互联网上的主要应用,在其他领域譬如安防等有广泛应用。

RTMP,Real-Time Messaging Protocol,实时消息传输协议

RTMP是最初由Macromedia为通过互联网在Flash播放器与一个服务器之间传输流媒体音频、视频和数据而开发的一个专有协议。Macromedia后被Adobe Systems收购,该协议也已发布了不完整的规范
RTMP协议有许多变种:
默认使用TCP端口1935的纯粹(plain)协议。
RTMPS,通过一个TLS/SSL连接传输RTMP。
RTMPE,使用Adobe自有安全机制加密的RTMP。虽然实现的细节为专有,但该机制使用行业标准的密码学原函数。
RTMPT,用HTTP封装以穿透防火墙。RTMPT通常在TCP通讯埠80和443上使用明文请求来绕过大多数的公司流量过滤。封装的会话中可能携带纯粹的RTMP、RTMPS或RTMPE数据包。
RTMFP, 使用UDP而非TCP的RTMP,取代RTMP Chunk Stream。Adobe Systems开发了安全的实时媒体流协议(英语:Real-Time Media Flow Protocol)套件,可以让最终用户直接地相互连接(P2P)。
虽然RTMP的主要动机是成为一个播放Flash视频的协议,但它也用于其他一些应用程序,如Adobe LiveCycle Data Services ES(英语:Adobe LiveCycle Data Services ES)。供公众使用。
Adobe’s Real Time Messaging Protocol:
http://wwwimages.adobe.com/www.adobe.com/content/dam/acom/en/devnet/rtmp/pdf/rtmp_specification_1.0.pdf
流媒体系统的RTMP协议:https://zhuanlan.zhihu.com/p/27368329
RTMP、HLS和HTTP的比较:<>
RTMP协议解释:http://mingyangshang.github.io/2016/03/06/RTMP协议/

RTSP

中文维基百科上对即時串流協定的技术细节进行了详细介绍;维基百科条目《即時串流協定》提供了该协议的技术规范;英文 RFC 标准https://tools.ietf.org/html/rfc2326为该协议提供了官方规范;GitHub存储库<babosa/Course>中有一份深入解析RTSP RTP SDP协议技术文档

RTCP/RTP

该资源详细介绍了RTP与相关协议的实现机制。http://www.mikewootc.com/wiki/net/protocol/rtp.html
探讨RTP、RTSP及RTCP之间的对比分析:https://www.zhihu.com/question/20278635
基于Wireshark工具解析的网络通信协议对比研究:<>

HLS

HLS 协议详解:https://www.jianshu.com/p/dc4e5d55758a
HLS 协议详解及 HLS 速度优化:https://tech.upyun.com/article/201/HLS 协议详解及 HLS 速度优化.html
hls协议(最清晰的讲解):<>

全部评论 (0)

还没有任何评论哟~