简述 RTMP/HLS/HTTP-FLV

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以上延迟;

你可能感兴趣的:(简述 RTMP/HLS/HTTP-FLV)