1. 播放器的数据处理流程
2. 封装格式
按照一定的格式,把音视频流和描述数据, 存储到文件中
3. 编码格式:
音频编码: G.711, G722, G726, AAC,MP1/MP2/MP3, AC-3, WMA...
视频编码: h265/H264/H263,MPEG1/2/3/4, WMV, MJPEG, VP8/VP9...
4. 视频编码原理
经典的IPB压缩:
Iframes: 节点图像, 保存一帧完整图像压缩后的数据,
编解码不涉及自己以外的任何图像
Pframes: 预测图像: 仅保存当前帧与前一帧的差值信息,
解码依赖于前一帧数据
Bframes: 前后预测图像: 保存当前帧与前一帧和后一帧的差值信息, 可双向单帧逐步播放
5. 视频编码原理
以H264为例
6. 图像群组(GOP)
图像群组就是一组连续的图像, GOP总是以I frame为起始点,
后面有若干P frame和Bframe, 下一个I frame则是新的GOP起点
7. 硬件编解码
硬件编解码是图形芯片厂家提出的用GPU资源解码视频流的方案
(软解是用CPU承担解码工作)
优点是编解码效率高,功耗低、热功耗低,缺点存在局限性,设置较为复杂, 一般需要使用图形芯片厂商提供的驱动和sdk程序
为什么GPU编解码速度快于CPU?
8. 音视频协议
HLS,RTSP/RTP/RTCP,H323,SIP, RTMP...
9. 开源框架
vlc, ffmpeg, gstreamer, directshow,live555, webRTC...