封装格式和编码格式
- 封装格式(格式头)
MP4 FLV MOV AVI
MP4用box包含音视频信息(压缩方式,帧率,关键帧索引)
传输流媒体的时候也是先把封装格式传过去
ffmpeg能够解码没有格式头的音视频文件,因为它会去探测
录制时格式头一开始写进去,录制完后会把索引写进去,才能知道长度以及如何去SEEK - 视频编码帧 音频解码帧
音视频帧以接近交替出现的形式排列,但并不是一一对应
音频帧是根据采样率来定的,如采样率是44100Hz, 所以帧率是22.5,一帧寸1024个样本
视频帧率与音频帧率一般不一致
视频 H264 NAL VCL SPS PPS I B P 具体展开:https://zhuanlan.zhihu.com/p/27896239
解码为YUV->转换为RGB,数据量极大,谨慎拷贝和缓冲
硬解 固化好的电路程序,性能固定,消耗小
CPU软解 兼容性强,性能强,消耗大
音频 AAC APE FLAC无损压缩 PCM原始音频
解码为PCM,float 4个字节,声卡一般只支持16位,-> 重采样为16位 s16让声卡进行播放