一、封装 解码 重采样 像素格式
封装 : 将数据读取出来
解码 : 将音频、视频转换成显卡和声卡支持的格式。 音频(acc) 视频(yuv 或者rgb,一般选择yuv,因为它的压缩性价比rgb更好)
重采样 : 将音频冲重采样成声卡支持的格式
像素格式 : 将视频通过像素格式的转换成显卡支持的格式
二、MPEG-4
1.MPEG-4是一套基于用于音频、视频信息的压缩编码标准
MPEG-4标准的编码将码率范围规定为每声道2kbit/s~64 kbit/s。在如此宽的范围内定义了三种类型的编码器或叫编码工具。在最低的码率范围2~6 kbit/s之间使用的是参数编码(parametric coding),最适合于采样率为8kHz的语言信号;在6~24 kbit/s的码率范围内使用的是编码激励的线型预测编码(code excited linear predictive coding)简称CELP,支持采样率为8kHz和16 kHz的语言和音频信号;在最高的16~64 kbit/s的码率范围内使用的是时间/频率编码(time/frequency
coding)技术,比如MPEG-2 AAC标准,支持采样率为8~96 kHz的任意音频信号。
2.Part 14 MPEG-4 文件格式 Part 15是AVC的文件格式 H264(AVC Part 10)
3.常用的封装格式
(1)、AVI : 压缩标准可任意选择
(2)、FLV 、 ts的流媒体的格式
(3)、mp4
(4) 、mov
4.常用的编码格式
(1)视频格式:H264、wmv、mav (大部分都是有损压缩 ,H264采用是帧内编码又名空域数据冗余,压缩数据变得很小,这也是采用它的原因)
(2)音频格式: mp3 、AAC、flac、ape
1)mp3 AAC(有损压缩)有损压缩是我们能接受的范围
2)ape、flac (无损压缩)和原始数据一模一样,就相当于zip那样的操作
5.封装格式
1.封装格式(格式头): box音视频的信息 、编码和格式关键帧的索引
2.视频编码帧和音频编码帧
三、视频像素的格式
1.像素格式
2.像素的存放
像素存放有一个坑:为什么存放都是4的倍数或者8的倍数呢?
原因:存放的时候,如果不是四的倍数或者不是8的倍数,它的后面会自动补齐0,保证为4的倍数或者8的倍数,拷贝的时候会出现错误。如果不想出现错误,应该一个一个去拷贝。
所以是4的倍数或者8的倍数就可以一次性拷贝,省时间和节省CPU。
3.视频的原始数据
视频的原始数据格式YUV
1).plannar(平面) : 分着存储U和V
I420 : YYYYYYYY UU VV ------------> YUV420P
YV12 : YYYYYYYY VV UU ----------->YUV420P
2).packed (打包) : 混合存储U和V
NV12 : YYYYYYYY UVUV --------------> YUV420SP
NV21 : YYYYYYYY VUVU -------------> YUV420SP
四、音频的一些参数
1.音频的一些参数
采样率:一秒钟采集多少次
通道 :有几个声道进行采样率
单声道:一个声道去采集频率
双声道:两个声道去采集频率
样本大小 (格式):存储声音用的格式 -------> 8bit 、16bit 、 24bit 、32bit
重采样 :音频的采样率、通道数等并不能满足我们播放得需求,这就需要我们对音频进行重采样得到能满足播放器的需求
五、MP4的格式内容
1. I帧 : 关键帧,采用的帧内技术压缩 (首帧为SPS 、PPS,然后再解压关键帧)
2. P帧 : 向前参考帧,压缩时候只参考前一帧,存数据只存两个帧之间的差异,属于帧间压缩技术
3. B帧 : 前后参考帧,压缩前参考前一项和后一项帧,属于帧间压缩技术(不适合网络实施互动传输数据)
解压之后将视频缓存后,然后可以进行正确的顺序显示