web nginx hls 流媒体

  1. HTTP Live Streaming;获取摄像机音视频获取到本地,进行HLS打包,H264+AAC的流媒体切片,提供给WEB服务器进行HLS流媒体发布,nginx

切片后: 一个M3U8文件 和 多个.ts文件,M3U8是一种可扩展的播放列表文件格式。它是一个包含UTF-8编码文字的m3u播放列表。m3u是包含媒体文件URL的一个事实上的播放列表标准,编码仍是h264。这种格式被用来做为HTTP Live 媒体流索引文件的格式。M3u8是一种视频列表格式,里面有真正的视频连接,在其中能够再嵌套一层m3u8。web

实现hls直播:缓存

  1. 采集视频源和音频源的数据服务器

  2. 对原始数据进行H264编码和AAC编码负载均衡

  3. 视频和音频数据封装为MPEG-TS包模块化

  4. HLS分段生成策略及m3u8索引文件编码

  5. 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,则这项处理能够并行运行,而不须要相互等待。

  • 支持SSL 和 TLSSNI.
相关文章
相关标签/搜索