HTTP Live Streaming;获取摄像机音视频获取到本地,进行HLS打包,H264+AAC的流媒体切片,提供给WEB服务器进行HLS流媒体发布,
切片后: 一个M3U8文件 和 多个.ts文件,M3U8是一种可扩展的播放列表文件格式。它是一个包含UTF-8编码文字的m3u播放列表。m3u是包含媒体文件URL的一个事实上的播放列表标准,编码还是h264。这种格式被用来作为HTTP Live 媒体流索引文件的格式。M3u8是一种视频列表格式,里面有真正的视频链接,在其中可以再嵌套一层m3u8。
实现hls直播:
采集视频源和音频源的数据
对原始数据进行H264编码和AAC编码
视频和音频数据封装为MPEG-TS包
HLS分段生成策略及m3u8索引文件
HTTP传输协议
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的信息,如时长,带宽等
2、nginx 服务器
处理静态文件,索引文件以及自动索引;打开文件描述符缓冲
无缓存的反向代理加速,简单的负载均衡和容错.
FastCGI,简单的负载均衡和容错.
模块化的结构。包括gzipping, byte ranges, chunked responses,以及 SSI-filter等filter。如果由FastCGI或其它代理服务器处理单页中存在的多个SSI,则这项处理可以并行运行,而不需要相互等待。
- 支持SSL 和 TLSSNI.
来源:oschina
链接:https://my.oschina.net/u/727148/blog/516131