音视频基础知识整理

本文详细介绍了音视频的基础知识,包括图像颜色模式如RGB和YUV,音视频基础概念如帧率、刷新率和分辨率,视频编解码中的I帧、P帧和B帧,以及编码协议H.264和H.265的比较。此外,还探讨了视频封装格式和常见的音频格式如MP3和AAC。
摘要由CSDN通过智能技术生成
一 图像颜色模式:
  • RGB:
    图像存储格式,红、绿、蓝三原色的亮度来定量表示颜色,RGB

  • YUV:
    图像存储格式,一种颜色编码方法
    Y:表示明亮度(Luminance或Luma),也就是灰阶值。
    U:表示色度(描述影像色彩及饱和度,用于指定像素的颜色)Cb,蓝色通道与亮度的差值。
    V:表示色度,Cr,红色通道与亮度的差值。

    常用YUV格式:YCbCr4:2:0、YCbCr4:2:2、YCbCr4:1:1和YCbCr4:4:4

    4:4:4表示完全取样。
    4:2:2表示2:1的水平取样,垂直完全采样。
    4:2:0表示2:1的水平取样,垂直2:1采样。
    4:1:1表示4:1的水平取样,垂直完全采样。

    RGB与YUV转换公式 (RGB取值范围均为0~255)

    Y=0.299R+0.587G+0.114B ⁄ R=Y+1.14V
    U=-0.147R-0.289G+0.436B ⁄G=Y-0.39U-0.58V
    V=0.615R-0.515G-0.100B ⁄ B=Y+2.03U

  • HSV:
    面向用户的颜色,HSV颜色检测

    色调H:
    用角度度量,取值范围为0°~360°,从红色开始按逆时针方向计算,红色为0°,绿色为120°,蓝色为240°。它们的补色是:黄色为60°,青色为180°,品红为300°;
    饱和度S:
    饱和度S表示颜色接近光谱色的程度。一种颜色,可以看成是某种光谱色与白色混合的结果。其中光谱色所占的比例愈大,颜色接近光谱色的程度就愈高,颜色的饱和度也就愈高。饱和度高,颜色则深而艳。光谱色的白光成分为0,饱和度达到最高。通常取值范围为0%~100%,值越大,颜色越饱和。
    明度V:
    明度表示颜色明亮的程度,对于光源色,明度值与发光体的光亮度有关;对于物体色,此值和物体的透射比或反射比有关。通常取值范围为0%(黑)到100%(白)。

二 音视频基础概念
  • 帧(Frame)
    简单的理解帧就是视频或者动画中的每一张画面,帧代表一幅静止的图像,分为I帧,P帧,B帧。
  • 帧率
    帧率(Frame rate) = 帧数(Frames)/时间(Time),单位为帧每秒(f/s, frames per second, fps)。
  • 刷新率
    屏幕每秒画面被刷新的次数,分为垂直刷新率和水平刷新率,一般我们提到的都是指垂直刷新率,以赫兹(Hz)为单位,刷新率越高,图像就越稳定,图像显示就越自然清晰。
    最常见的刷新频率是 60 Hz。
    10~12 FPS:由于人类眼睛的特殊生理结构,如果所看画面之帧率高于每秒约10至12帧的时候,就会认为是连贯的,此现象称之为视觉暂留。
    24 FPS:一般电影的拍摄及播放帧数是每秒24帧。
    60 FPS:这个帧率对人眼识别来说已经具备较高的平滑度。(基准帧率,每帧16ms)
    85 FPS:人类大脑处理视频的极限,人眼无法分辨更高频率的差异。
  • 分辨率
    视频、图片的画面大小或尺寸。
  • 码率/比特率
    单位时间播放连续的媒体如压缩后的音频或视频的比特数量。常用单位“比特每秒”,缩写是“bit/s”。比特率越高,带宽消耗得越多。
  • 容器(Container)
    容器就是一种文件格式,比如flv,mkv等
  • 流(Stream)
    是一种视频数据信息的传输方式,5种流:音频,视频,字幕,附件,数据
  • 编解码器(Codec)
    是对视频进行压缩或者解压缩的工具
  • 复用(mux)
    把不同的流按照某种容器的规则放入容器。
  • 解复用(demux):
    把不同的流从某种容器中解析出来。
三 视频编解码
  • 编码的流程
    采集–> 获取到视频帧–> 对视频帧进行编码 --> 获取到视频帧信息 --> 将编码后的数据以NALU方式写入到文件
  • 硬编码
    使用非CPU进行编码,如显卡GPU、专用的DSP、FPGA、ASIC芯片等
  • 软编码
    使用CPU进行编码,软编码通常使用:ffmpeg+x264
  • 视频编码协议:
    • H. 264:低码率,高质量,高容错 。(编码单位固定16*16)开源实现:ffmpeg、openh264、x264。
    • H. 265:能达到H.264两倍之压缩率,可支持4k分辨率,最高到8k。(编码单位88-6464)开源实现:ffmpeg、libde265、x265。
      二者比较:H.265更为先进,同样画质的情况下,265理论存储空间节省50%,同样码率下,265理论画质提高30%-40%。
    • MPEG
  • DTS和PTS:
    DTS(Decoding Time Stamp):即解码时间戳,这个时间戳的意义在于告诉播放器该在什么时候解码这一帧的数据。
    PTS(Presentation Time Stamp):即显示时间戳,这个时间戳用来告诉播放器该在什么时候显示这一帧的数据。
  • 硬件加速
    利用硬件模块来替代软件算法以充分利用硬件所固有的快速特性。硬件加速通常比软件算法的效率要高。
    将2D、3D图形计算相关工作交给GPU处理,从而释放CPU的压力,也是属于硬件加速的一种。
  • 硬解
    使用硬件模块来解析视频、音频文件等
  • 软解
    用CPU去计算解析。
  • 视频编码中的帧
    • I帧:表示关键帧,你可以理解为这一帧画面的完整保留;解码时只需要本帧数据就可以完成(因为包含完整画面)
    • P帧:表示的是这一帧跟之前的一个关键帧(或P帧)的差别,解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面。(也就是差别帧,P帧没有完整画面数据,只有与前一帧的画面差别的数据)
    • B帧:是双向差别帧,也就是B帧记录的是本帧与前后帧的差别(具体比较复杂,有4种情况),换言之,要解码B帧,不仅要取得之前的缓存画面,还要解码之后的画面,通过前后画面的与本帧数据的叠加取得最终的画面。B帧压缩率高,但是解码时CPU会比较累~。
  • GOP
    Group of picture(图像组),指两个I帧之间的距离,Reference(参考周期)指两个P帧之间的距离。
    一个I帧所占用的字节数大于一个P帧,一个P帧所占用的字节数大于一个B帧。所以在码率不变的前提下,GOP值越大,P、B帧的数量会越多,平均每个I、P、B帧所占用的字节数就越多,也就更容易获取较好的图像质量;Reference越大,B帧的数量越多,同理也更容易获得较好的图像质量。
    简而言之:
    • 字节大小:I > P > B
    • 解码顺序:I -> P -> B
      GOP解码
四 视频封装格式(Container format)
格式全名开发商初版年限特点
MP4MP4Moving Picture Experts Group,即 MPEG(动态图像专家组)1998常用有损压缩格式,通用性强
AVIAudio Video Interleaved(音频视频交错格式)微软1992体积大算法简单
MOVQuickTime 影片格式Apple1991苹果专属格式对很多其他的播放器支持不是很友好
WMVWindows Media Video微软2003微软的专业视频格式,兼容性并不是很好
FLVAdobe Flash 网络流媒体格式Adobe2002被淘汰的早期网络视频格式
MKVMatroska 多媒体容器Matroska.org2002最有包容性的视频格式,能容纳无限量、多种不同类型编码的视频、音频及字幕流
WebMWebMGoogle2010谷歌推出的 HTML5 标准的网络视频标准,以MKV容器格式为基础开发
RMVBRMVBReal Networks1997根据不同的网络传输速率,而制定出不同的压缩比率,从而实现在低速率的网络上进行影像数据实时传送和播放,具有体积小,画质不错的优点。已过时。
五 音频格式
  • WAV:因其文件扩展名为wav,微软和IBM联合开发的标准,数据本身的格式为PCM或压缩型,属于无损格式。
  • MP3 : MP3是一种音频压缩技术,其全称是动态影像专家压缩标准音频层面3(Moving Picture Experts Group Audio Layer III),简称为MP3。压缩比4:1~10:1之间。
  • AAC:Advanced Audio Coding, 出现于1997年,由Fraunhofer IIS、杜比实验室、AT&T、Sony、Nokia等公司共同开发。AAC压缩比通常为18:1。相比MP3,采用更高效的编码算法,音质更佳,文件更小。
  • Opus:Opus格式是一个开放格式,使用上没有任何专利或限制,比MP3、AAC、HE-AAC等常见格式,有更低的延迟和更好的声音压缩率。2012年7月2日,Opus被IETF批准用于标准化。
本文内容收集于网络
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值