视频编码解码技术笔记20190708

参考:https://github.com/CarGuo/GSYVideoPlayer/blob/master/doc/DECODERS.md

mp4并不是视频编码,可以称为视频容器,而H264/H263等这样才是视频编码,AAC为音频编码等

主要参考文章:https://blog.csdn.net/leixiaohua1020/article/details/18893769(致敬博主)

视频后缀:avi,rmvb,mp4,flv,mkv,这些格式代表的是封装格式

何为封装格式?就是把视频数据和音频数据打包成一个文件的规范,仅仅靠看文件的后缀,很难能看出具体使用了什么视音频编码标准。

注:有些封装格式支持的视音频编码标准十分广泛,应该算比较优秀的封装格式,比如MKV;而有些封装格式支持的视音频编码标准很少,应该属于落后的封装格式,比如RMVB。

视音频技术主要包含以下几点:封装技术视频压缩编码技术以及音频压缩编码技术;如果考虑到网络传输的话,还包括流媒体协议技术

视频播放器播放一个互联网上的视频文件,需要经过以下几个步骤:解协议,解封装,解码视音频,视音频同步。如果播放本地文件则不需要解协议,为以下几个步骤:解封装,解码视音频,视音频同步。

解协议 :流媒体协议数据->封装格式数据;流媒体协议 HTTP,RTMP,MMS等

解封装:封装格式数据->音频流压缩编码数据/视频流压缩编码数据;封装格式MP4,MKV,RMVB,TS,FLV,AVI等

解码:视频/音频压缩编码数据,解码成为非压缩的视频/音频原始数据;音频的压缩编码标准包含AAC,MP3,AC-3;视频的压缩编码标准则包含H.264,MPEG2,VC-1;通过解码,压缩编码的视频数据输出成为非压缩的颜色数据,例如YUV420P,RGB等;压缩编码的音频数据输出成为非压缩的音频抽样数据,例如PCM数据。

视音频同步:同步解码出来的视频和音频数据,并将视频音频数据送至系统的显卡和声卡播放出来

视频编码:视频编码的主要作用是将视频像素数据(RGB,YUV等)压缩成为视频码流;不压缩编码的话,体积通常是非常大的

视频压缩编码和音频压缩编码的基本原理:https://blog.csdn.net/leixiaohua1020/article/details/28114081

主流视频编码标准:H.264 用于各个领域(2003年推出)

基于H.264标准的编码器 实际中使用最多的编码器就是x264了,性能强悍(超过了很多商业编码器),而且开源

我国还推出了自己的国产标准AVS

下一代标准:HEVC(H.265)和VP9

视频编码标准比较: HEVC > VP9 > H.264> VP8 > MPEG4 > H.263 > MPEG2

音频编码:主要作用是将音频采样数据(PCM等)压缩成为音频码流,从而降低音频的数据量

主要音频编码标准: AAC ,MP3(用于各个领域)、AC-3(电影)、WMA(微软平台)

音频编码标准比较:AAC+ > MP3PRO > AAC> RealAudio > WMA > MP3

现有的网络视音频服务主要包括两种方式:点播和直播;直播在网络电视台,社交视频网站较为常见。

直播服务普遍采用了RTMP作为流媒体协议,FLV作为封装格式,H.264作为视频编码格式,AAC作为音频编码格式,Flash播放器

点播服务普遍采用了HTTP作为流媒体协议,H.264作为视频编码格式,AAC作为音频编码格式,封装格式有多种:MP4,FLV,F4V等,Flash播放器

你可能感兴趣的:(视频编码解码技术笔记20190708)