直播原理及协议介绍
直播本质:直播软件将请求地址传送给流媒体服务器,然后流媒体服务器将响应数据返回给直播软件。
直播协议:
RTMP(real time message protocol,实时消息传输协议):
是一个互联网TCP/IP五层体系结构中的应用层协议;
可以用来推送又可以用来直播;
基本数据单元称为消息(Message);
rtmp协议在互联网中传输数据的时候,消息会被拆分成更小的单元,成为消息块(Chunk)。
FLV:
在大块的视频帧和音视频头部加入一些标记头信息。
在延迟方面和大规模并发方面很成熟。
非常适合手机端App直播协议;
HLS:
苹果推出的解决方案;
将视频分成5-10秒的小分片,然后用m3u8索引表进行管理。
常用于QQ和微信朋友圈的URL分享。
M3U8S是以utf-8编码格式的m3u文件,m3u记录了一个索引的纯文本文件,打开他时,播放软件播放的并不是它,而是
根据它里面的索引找到对应的音视频文件进行播放。