常用直播协议的比较

近两年,游戏、教育等直播类产品层出不穷,全方位满足人们的知识、休闲、游戏等需求。在直播中,我们经常发现,不同类型的直播延时有所不同,像与主播实时互动的一般延迟比较短,而相对的,在线教育这一类就比较长了。

造成延时不同的原因,除了网络环境以外,对延时影响较大的就是直播架构中选择的直播协议。接下来,我就给大家简单介绍下常见的直播协议吧。

RTMP协议

目前cdn厂商推流多用rtmp协议,实时性比HLS好,所以一般使用这种协议来上传视频流,即推动视频流到服务器。

HTTP-FLV协议

HTTP-FLV 和 RTMP 类似,都是针对于 FLV 视频格式做的直播分发流。但,两者有着很大的区别。

[if !supportLists]u [endif]直接发起长链接,下载对应的FLV文件

[if !supportLists]u [endif]头部信息简单

现在市面上,比较常用的就是HTTP-FLV 进行播放。但,由于手机端上不支持,所以,H5 的 HTTP-FLV 也是一个痛点。

HLS协议

HLS 协议本质还是一个个的 HTTP 请求 / 响应,所以适应性很好,在多数cdn厂商放在点播平台运行,不会受到防火墙影响。但它也有一个致命的弱点:延迟现象非常明显。如果每个ts 按照 5 秒来切分,一个 m3u8 放 6 个 ts 索引,那么至少就会带来 30 秒的延迟。如果减少每个 ts 的长度,减少 m3u8 中的索引数,延时确实会减少,但会带来更频繁的缓冲,对服务端的请求压力也会成倍增加。因此在延迟和实时性上需要作出平衡。



说明:

目前国内cdn厂商支持的多为rtmp推流,flv和hls拉流,客户端分发具体用哪种协议,根据客户端特性自适应选择。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容