AudioVideo/常见流媒体协议.md
流媒体协议是服务器与客户端之间通信遵循的规定。当前网络上主要的流媒体协议如表所示。
| 名称 | 推出机构 | 传输层协议 | 客户端 | 目前使用领域 |
|---|---|---|---|---|
| RTSP+RTP | IETF | TCP+UDP | VLC, WMP | IPTV |
| RTMP | Adobe Inc. | TCP | Flash | 互联网直播 |
| RTMFP | Adobe Inc. | UDP | Flash | 互联网直播 |
| MMS | Microsoft Inc. | TCP/UDP | WMP | 互联网直播+点播 |
| HTTP | WWW+IETF | TCP | Flash | 互联网点播 |
RTSP+RTP经常用于IPTV领域。因为其采用UDP传输视音频,支持组播,效率较高。但其缺点是网络不好的情况下可能会丢包,影响视频观看质量。因而围绕IPTV的视频质量的研究还是挺多的。
RTSP规范可参考:RTSP协议学习笔记
RTSP+RTP系统中衡量服务质量可参考:网络视频传输的服务质量(QoS)
上海IPTV码流分析结果可参考:IPTV视频码流分析
因为互联网网络环境的不稳定性,RTSP+RTP较少用于互联网视音频传输。互联网视频服务通常采用TCP作为其流媒体的传输层协议,因而像RTMP,MMS,HTTP这类的协议广泛用于互联网视音频服务之中。这类协议不会发生丢包,因而保证了视频的质量,但是传输的效率会相对低一些。
此外RTMFP是一种比较新的流媒体协议,特点是支持P2P。
RTMP我做的研究相对多一些:比如RTMP规范简单分析,或者RTMP流媒体播放过程
相关工具的源代码分析:[RTMPdump源代码分析 1: main()函数系列文章]
RTMP协议学习:RTMP流媒体技术零基础学习方法