本文主要介绍的是音视频的一些概念的东西,让大家对音视频大概有个了解。
原始数据表示的是,我们通过视频采集卡或者拾音器采集到的数据,播放的时候也是播放原始数据。变声、马赛克等处理的也是原始数据。
一秒钟内对声音信号的采样次数,采样频率越高声音的还原就越真实。
常见的采样率有 8K、16K、22.05K、32K、44.1K、48K
单声道、双声道(立体声)
决定了声音的动态范围
常见的有16bit、24bit、32bit
RGB8: 灰度图、调色板
RGB16(565):[rrrrr gggggg bbbbb]
RGB24:[R G B] [ R G B] [R G B]……
RGB32:[R G B A] [R G B A] [R G B A]……
占字节数:YUV420、YUV422、YUV444
打包方式:平面( YV12 )、半打包( NV12 )、打包格式(YUY2)等
[Y0 U0 V0] [Y1 U0 V0] [Y2 U1 V1] [Y3 U1 V1] [Y4 U2 V2]…..[Y8 U0 V0]......
[Y0 U0 V0] [Y1 U0 V0] [Y2 U1 V1] [Y3 U1 V1] [Y4 U2 V2]…..[Y8 U0 V0]......
[Y0 U0 V0] [Y1 U0 V0] [Y2 U1 V1] [Y3 U1 V1] [Y4 U2 V2]…..
以AAC编码为例,AAC编码包括头部分和数据部分,AAC的头有两种ADTS和ADIF,通常我们见到的都是ADTS,ADTS由两部分组成,固定头信息和可变头信息。下图位一帧AAC编码帧数据。
以H264编码为例,H264编码帧类型包括 SPS、PPS、IDR、P frame、B frame等。下图为一帧H264编码帧(包含了SPS、PPS、IDR)。
MP3、MOV、AVI、RMVB、MP4、FLV、TS、FMP4、MKV等。
以FLV文件为例,音视频是如何封装成FLV的。文件头后续跟着一帧帧的音视频数据。每帧数据以flvtag打包,这里就不具体详解了,有兴趣的可以网上查一下flv tag的结构。
这章节我们主要讲了三个内容,原始数据、音视频编码、文件格式,都是一些基本概念。其中原始数据格式要记住,变声马赛克等音视频的处理都是对原始数据处理的,编码过数据需要解码后才能处理。下一章节我们讲讲如何编码以及这些编码参数有什么作用。
作者:北京华宇信息技术有限公司-研究院-多媒体实验室
领取专属 10元无门槛券
私享最新 技术干货