从CDN支持直播加速的协议说起

举报
SEASEA 发表于 2020/12/27 22:53:53 2020/12/27
【摘要】 最近在做一个CDN的直播加速业务测试,客户给出的直播网站的域名是一个xxx.m3ua地址,一开始有点奇怪,为什么直播业务给出的一个是m3ua媒体文件地址,而不是一个实时的数据流地址呢? 上网查了一下,原来是这样的,客户直播网站是基于 HLS (HTTP Live Streaming) 协议构建的,HLS是苹果公司基于http流媒体传输协议,它的特点是并不是一下请求完整...

最近在做一个CDN的直播加速业务测试,客户给出的直播网站的域名是一个xxx.m3ua地址,一开始有点奇怪,为什么直播业务给出的一个是m3ua媒体文件地址,而不是一个实时的数据流地址呢?

上网查了一下,原来是这样的,客户直播网站是基于 HLS (HTTP Live Streaming) 协议构建的,HLS是苹果公司基于http流媒体传输协议,它的特点是并不是一下请求完整的数据流,它在服务端讲媒体数据切割成持续的时长较短的ts小文件,并通过M3UA索引文件按序访问ts文件,客户端不停的从服务端获取文件,从而实现视频播放。
但是HLS的实时性差,时延在10s以上,大量的文件碎片会对存储和缓存都有一定的挑战,对CDN厂家要求更高。

目前主流的直播协议还有RTMP、HTTP-FLV,这两个都是Adobe公司推出的。
RTMP,全称 Real Time Messaging Protocol,即实时消息传送协议。基于TCP传输,默认使用1935端口。在传输过程中会把消息切割成小块,通过TCP传输,接收端收到后恢复成媒体数据。 RTMP 的延迟相对较低,一般延时在 1-3s 之间。
由于这是一个私有协议,很多终端无法播放特别是IOS设备,需要第三方播放器以及第三方解码特别支持才行。

FLV (Flash Video) ,其文件格式是.flv。 HTTP-FLV 即将流媒体数据封装成 FLV 格式,然后通过 HTTP 协议传输给客户端。其传输格式简单,速度快。HTTP-FLV 能够好的穿透防火墙,它是基于 HTTP/80 传输。HTTP-FLV会让流媒体资源缓存在本地客户端,网络流量也较大。

现在主流的CDN厂家都支持三种直播协议。

2020.6.11

文章来源: blog.csdn.net,作者:BONJOVISEA,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_42745586/article/details/106698499

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。