一、 HLS的架构
- AV input:采集数据的麦克风和摄像头
- Server:把采集到的多媒体数据进行编码、分隔,并生成播放列表
- Distribution:CDN根据不同的节点和网络情况,分发不同的内容
- Client:消费端,获取并解码观看视频
二、服务器的编码
2.1 视频
封装
- 封装格式可以是 fMP4或者MPEG-2 TS,如果使用H265的编码格式,则封装格式必须是fMP4。
编码
- 必须使用H264或者H265编码
- H264的编码配置必须低于High Profile@Level 5.2
- H265的编码配置必须低于Main 10 Profile@Level 5.1 High Tier
- HDR HEVC视频格式必须是HDR10、HLG或者Dolby Vision
- IDR帧应该两秒钟出现一次
IDR帧和I帧的区别是:IDR帧之后的P帧,不会参考IDR帧之前的帧;而I帧之后的P帧,可能会参考这个I帧之前的I帧
- NTSC的视频应该是60或者59.94fps;PAL视频应该为50fps
- 视频支持:23.976、24、25、29.97、30、50、59.94、60fps
- 流应该使用同一个色彩空间,Rec601、Rec709或者Rec2020
码率
- 对于WiFi环境,默认的视频码率应该为 2000kbps
- 对于移动网络环境,默认的视频码率应该为 730 kbps
2.2 音频
音频编码格式
双声道
- AAC-LC
- HE-AAC v1
- HE-AAC v2
- xHE-AAC
- Apple Lossless
- FLAC
- 只有双声道的多声道格式
如果码率在64kbit/s以上,就不应该用HE-AAC。
多声道