web nginx hls 流媒体

旧城冷巷雨未停 提交于 2020-03-15 13:56:29
  1. HTTP Live Streaming;获取摄像机音视频获取到本地,进行HLS打包,H264+AAC的流媒体切片,提供给WEB服务器进行HLS流媒体发布,

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

实现hls直播:

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

  2. 对原始数据进行H264编码和AAC编码

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

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

  5. 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.
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!