RTMP、RTSP、HTTP这三个协议都属于互联网 TCP/IP 五层体系结构中应用层协议,都可以用来做视频直播或点播,直播一般用 RTMP、RTSP,点播用 HTTP,下面来介绍
RTSP协议
1、 RTSP协议是流媒体协议
2、 RTSP协议是共有协议,并有专门机构做维护
3、 RTSP协议一般传输的是ts、mp4格式的流
4、 RTSP协议传输一般需要2-3个通道,命令和数据通道分离
RTMP协议
1、 RTMP协议是流媒体协议
2、 RTMP协议是Adobe的私有协议,未完全公开
3、 RTMP协议一般传输的是flv或f4v格式流
4、 RTMP协议一般在TCP一个通道上传输命令和数据
HTTP协议
1、 HTTP协议不是流媒体协议
2、 HTTP协议是共有协议,并有专门机构做维护
3、 HTTP协议没有特定的传输流
4、 HTTP协议一般需要2-3个通道,命令和数据通道分离
HLS(Http Live Streaming)协议
1、 HLS协议是由Apple公司定义的用于实时流传输的协议
2、 HLS基于HTTP协议实现
3、 HLS协议包括两部分,M3U8描述文件和TS媒体文件
HLS协议是组态工具中常用的协议
优点:
- HLS协议一旦分TS片段完成,之后的分发过程完全不需要额外使用任何专门软件,普通的网络服务器即可,大大降低了 CDN 边缘服务器的配置要求
- 分发使用的协议是最常见 HTTP,代理服务器对这个协议的缓存优化相当成熟,而很少有代理服务器对 RTSP 的进行缓存优化,这对播放(软)实时视频有相当大的优势,因为这样分发后,对源服务器的负载压力小得多
- HLS支持自适应码率流播(adaptive streaming)。效果就是客户端会根据网络状况自动选择不同码率的视频流,并且自动在二者间随意切换。实现方法是服务器端提供多码率视频流,并且在列表文件中注明
- HLS协议用 TS 而不是 MP4,因为两个 TS 片段可以无缝拼接,播放器能连续播放,而 MP4 文件由于编码方式的原因,两段 MP4 不能无缝拼接
- iOS、Android、HTML5原生支持
缺点:
- 直播应用中,相比于RTMP延时长,基本在10秒以上