一、音视频编解码流程图
二、一些基本名词解释
【帧率】:指的的视频每秒钟播放的图片数目,电影基本的帧率为24帧每秒(大于这个数时人眼就看到的是流畅的视频了)。帧率越小,人眼观察到的视频就越卡顿。
【分辨率】:就是视频的尺寸大小,如标准的720P视频就是每一横排有1280个像素,每一列有720个像素,总的像素就是1280x720个,这个乘积即是视频的分辨率。一般情况下,分辨率越大,视频就越清晰。但是关键要看你的视频的来源(码率高不高,拍摄设备的成像质量好不好)
【采样】:采样是把连续的时间信号,变成离散的数字信号。
【采样率】(也称为采样速度或者采样频率)定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。采样频率的倒数叫作采样周期或采样时间,它是采样之间的时间间隔。注意不要将采样率与比特率(bit rate,亦称“位速率”)相混淆。
【码率(比特率/取样率)】:表示经过编码(压缩)后的音频数据每秒钟需要用多少个比特来表示,单位常为kbps。单位时间内取样率越大,精度就越高,处理出来的文件就越接近原始文件,这个跟单帧图片的信息量有关 ,越大图片储存的信息量越大,图片就越清晰,还原的画质就越好。当然不是越大越好,这样只会增加数据量,浪费内存。(码率越高许多的细节就会越完整,但是人眼的辨别能力有限,许多细节的东西是分辨不出的)。计算:码率(kbps)=文件大小(字节)X8 /时间(秒)/1000
【编码】:所谓编码方式就是指通过特定的压缩技术,将某个格式的文件转换成另一种格式文件的方式。
【封装】:就是将已经编码压缩好的视频数据和音频数据照一定的格式放到一个文件中。
【解协议】:就是将流媒体协议的数据,解析为标准的相应的封装格式数据。视音频在网络上传播的时候,常常采用各种流媒体协议,例如HTTP,RTMP,或是MMS等等。这些协议在传输视音频数据的同时,也会传输一些信令数据。这些信令数据包括对播放的控制(播放,暂停,停止),或者对网络状态的描述等。解协议的过程中会去除掉信令数据而只保留视音频数据。例如,采用RTMP协议传输的数据,经过解协议操作后,输出FLV格式的数据。
【解封装】:就是将输入的封装格式的数据,分离成为音频流压缩编码数据和视频流压缩编码数据。封装格式种类很多,例如MP4,MKV,RMVB,TS,FLV,AVI等等,它的作用就是将已经压缩编码的视频数据和音频数据按照一定的格式放到一起。例如,FLV格式的数据,经过解封装操作后,输出H.264编码的视频码流和AAC编码的音频码流。
【解码】:就是将视频/音频压缩编码数据,解码成为非压缩的视频/音频原始数据。音频的压缩编码标准包含AAC,MP3,AC-3等等,视频的压缩编码标准则包含H.264,MPEG2,VC-1等等。解码是整个系统中最重要也是最复杂的一个环节。通过解码,压缩编码的视频数据输出成为非压缩的颜色数据,例如YUV420P,RGB等等;压缩编码的音频数据输出成为非压缩的音频抽样数据,例如PCM数据。
【参考原文】
https://blog.csdn.net/leixiaohua1020/article/details/18893769
https://jingyan.baidu.com/article/0eb457e5db368003f1a905f3.html