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的比较:https://blog.csdn.net/caoshangpa/article/details/79543916
  RTMP协议解释:http://mingyangshang.github.io/2016/03/06/RTMP协议/

RTSP

wiki介绍:https://zh.wikipedia.org/wiki/即時串流協定
英文原版协议:https://tools.ietf.org/html/rfc2326
大致介绍:https://github.com/babosa/Course/blob/master/流媒体传输控制协议(RTSP RTP SDP)详解/rtsp.md

RTCP/RTP

rtp与rtcp协议详解:http://www.mikewootc.com/wiki/net/protocol/rtp.html
RTP/RTSP/RTCP有什么区别:https://www.zhihu.com/question/20278635
Wireshark 抓包分析 RTSP/RTP/RTCP 基本工作过程:https://blog.csdn.net/tq08g2z/article/details/77773129

HLS

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

你可能感兴趣的:(Media)