HTTP Live Streaming;获取摄像机音视频获取到本地,进行HLS打包,H264+AAC的流媒体切片,提供给WEB服务器进行HLS流媒体发布,nginx
切片后: 一个M3U8文件 和 多个.ts文件,M3U8是一种可扩展的播放列表文件格式。它是一个包含UTF-8编码文字的m3u播放列表。m3u是包含媒体文件URL的一个事实上的播放列表标准,编码仍是h264。这种格式被用来做为HTTP Live 媒体流索引文件的格式。M3u8是一种视频列表格式,里面有真正的视频连接,在其中能够再嵌套一层m3u8。web
实现hls直播:缓存
采集视频源和音频源的数据服务器
对原始数据进行H264编码和AAC编码负载均衡
视频和音频数据封装为MPEG-TS包模块化
HLS分段生成策略及m3u8索引文件编码
HTTP传输协议spa
m3u8文件结构:代理
#EXTM3U m3u文件头,必须放在第一行 #EXT-X-MEDIA-SEQUENCE 第一个TS分片的序列号 #EXT-X-TARGETDURATION 每一个分片TS的最大的时长 #EXT-X-ALLOW-CACHE 是否容许cache #EXT-X-ENDLIST m3u8文件结束符 #EXTINF extra info,分片TS的信息,如时长,带宽等
二、nginx 服务器code
处理静态文件,索引文件以及自动索引;打开文件描述符缓冲
无缓存的反向代理加速,简单的负载均衡和容错.
FastCGI,简单的负载均衡和容错.
模块化的结构。包括gzipping, byte ranges, chunked responses,以及 SSI-filter等filter。若是由FastCGI或其它代理服务器处理单页中存在的多个SSI,则这项处理能够并行运行,而不须要相互等待。