封装:从文件中把音视频读出来
解码:将音视频解压出来
重采样:将音视频转换成声卡显卡支持的格式,视频需要做像素格式的转换
MPEG(或叫MPEG-4)是一套用于音频﹑视频信息压缩的编码标准。
MPEG-4 Part 14 MPEG-4文件格式 Part 15 AVC文件格式
压缩算法:H264(AVC Part10)
常用封装格式:AVI(当中可以存放任意压缩标准的音视频文件,甚至不压缩)
FLV ts(电视) 等流媒体格式
ASF(微软支持的点播格式)
mp4
常见编码格式:视频 H264(AVC Part10), wmv(H264与wmv编码有上下帧的关系,有关键帧), XviD(Part2), mjpeg(摄像机,每一帧都是独立的,seek时不用算关键帧,很快,坏处就是压缩比例低) 几乎都是有损压缩
音频 aac MP3(aac与mp3都是有损压缩) ape(无损压缩) flac
解封和解码过程:
NAL:网络提取层,包含信息比如是否为关键帧﹑SPS﹑PPS,视频帧包含 I帧(关键帧) B帧(是相对于前一帧于后一帧的变化) P帧(是相对于前一关键帧的变化),使用 AVFrame->pict_type 判断其类型,使用 (AVPacket->flags & AV_PKT_FLAG_KEY)==1 判断是否关键帧
VCL:视频编码层
硬解码速度比软解快,但硬解的帧率都是固定的比如60帧,软解码可以控制帧率,在性能好的C