之前从事过一段时间的CDN相关工作,其实还是很不错的,目前CDN领域逐渐扩大,很多厂商也是倒的倒,赔的赔, 只有那几个独角兽苟延残喘,从最开始的蓝汛,网宿,帝联到现在的腾讯云, 阿里云也是经历了很多的时间,架构也是非常的精湛,下面给他家聊聊流媒体协议的一些优缺点,更多的是做一些直播、点播相关的事情
HLS
基于http协议;
以识别.m3u8文件索引为准 .ts文件播放;
动态列表: 实时更新ts文件,过期的会被删除;
静态列表: 原来的ts文件不会被删,列表不断的更新,大小逐渐增大;
全量列表: 将所有的ts文件都列在list当中,使用的话就跟整个视频没什么区别了.
缺点:
- 延迟性太高;
- m3u8文件下载以及ts文件下载;
- 需要先下载m3u8索引文件以及m3u8里面所有的ts文件;
- 不包括dns,tcp解析的情况下,如果每个m3u8的ts文件数为3~8,ts播放为5s,那么延迟为40;
- 10s以上延迟;
RTMP
Real-Time Messaging Protocol 实时消息传输协议 基于FLV格式进行开发;
基于应用层,底层为tcp协议传输;
做直播服务的首选;
TCP长连接协议传输相关数据,延时性较低,根据message stream ID或chunk stream ID传输;
三次建立连接 client => c0,c1,c2 server => s0,s1,s2块数据;
缺点:
- 量大的话,负载较高;
- 很多防火墙会强掉RTMP,但是不会强掉HTTP
- 1s以上延迟
- 不支持html5
HTTP-FLV
与RTMP类似;
基于HTTP;
RTMP直接将流的传输在RTMP协议之上,HTTP-FLV是在RTMP和客户端之间套了了一层;
相比RTMP,HTTP-FLV会生成一个非常大的http流,只能做主播,RTMP可以做推流/拉流.
缺点:
- 只能在手机app播放 2s以上延迟;
网友评论