全部产品

支持哪些直播流播放协议

更新时间:2017-11-09 10:32:11

视频直播服务支持输出 RTMP、FLV、HLS 三种协议

  • RTMP 协议比较全能,既可以用来推送,又可以用来直播。其核心理念是将大块的视频帧和音频帧“剁碎”,然后以小数据包的形式在互联网上进行传输,且支持加密,因此隐私性相对比较理想,但拆包组包的过程比较复杂,所以在海量并发时容易出现一些不可预期的稳定性问题。

  • HTTP-FLV 协议由 Adobe 公司主推,格式极其简单,只是在大块的视频帧和音视频头部加入一些标记头信息,由于这种极致的简洁,在延迟表现和大规模并发方面都很成熟。唯一的不足就是在手机浏览器上的支持非常有限,但是用作手机端 APP 直播协议却异常合适。

  • HLS 协议:苹果推出的解决方案,将视频分成 5-10 秒的视频小分片,然后用 m3u8 索引表进行管理。由于客户端下载到的视频都是 5-10 秒的完整数据,故视频的流畅性很好,但也同样引入了很大的延迟(HLS 的一般延迟在 10-30s 左右)。相比于 FLV,HLS 在iPhone 和大部分 Android 手机浏览器上的支持非常给力,所以常用于 QQ 和微信朋友圈的 URL 分享。

RTMP、HLS、HTTP-FLV 协议对比

优点 缺点 延时 特点 适合端
RTMP 延时低 高并发下不稳定
iOS 平台要开发支持相关协议的播放器
使用非标准 TCP 端口
1S~3S TCP 长连接 PC 端
HLS 跨平台
可通过 html5 解封包播放
延时高 > 10S HTTP 短连接 PC端、移动端
HTTP-FLV 延时低
可通过 html5 解封包播放
需要集成 SDK 才能播放
1S~3S TCP 长连接 PC 端