音视频开发相关知识点

1、帧率

帧率是以帧称为单位的位图图像连续出现在显示器上的频率。也是每秒钟在屏幕上显示的帧数,简称fps。

2、分辨率

视频的分辨率是指视频在显示器上显示的图像的大小和尺寸,也就是我们常说的480p、720p、1080p等。

3、刷新率

刷新率指的是屏幕每秒画面刷新的次数,具体还分为水平刷新率和垂直刷新率,一般默认垂直刷新率。
这个表示屏幕上每秒重绘多少次图像。

4、编码格式

编码的目标是压缩数据,减少传输压力。常见的编码格式有MPEG、H264等

5、封装格式

编码完成后的音视频数据按照一定的规则放在一个容器中,封装的格式有MKV、AV1、VPx、MP4、WMV、FLV和MOV等 

6、码率

比特率,比特率是单位时间内播放连续的媒体,比特率越高则带宽消耗越多。

7、画质与码率

画质不是一个单一因素决定的,其和编码算法、码率都有关系。

8、YUV和RGB的区别

8.1 RGB:

RGB颜色空间以R(Red:红)、G(Green:绿)、B(Blue:蓝)三种基本色为基础,进行不同程度的叠加,产生丰富而广泛的颜色。
在图像显示中,假设有一张360* 480 ⼤小的图片,就代表着它有 360* 480个像素点。其中每一个像素点的颜色显示都采用 RGB 编码方法,将 RGB 分别取不同的值,就会展示不同的颜⾊。每个像素点都有红、绿、蓝三个原色,其中每种原色都占用 8 bit存储,也就是1个字节,那 么⼀个像素点也就占用 24 bit,对应着3个字节存储一个像素点数据。

一张360* 480⼤小的图⽚,就占⽤ 360* 480 * 3 / 1024 / 1024 = 0.494 MB 存储空间
RGB分类:

RGB555
每个像素用16bit标识,占用2个字节,RGB都用5位标识。

   R R R R R G G G G G B B B B B 低字节
   R = color & 0x7c00;
   G = color & 0x03e0;
   B = color & 0x001f;

RGB1555
RGBA(ARGB)中的一种,一位用于表示透明度。0完全透明,1完全不透明

  R R R R R G G G G G B B B B B 0|1(透明|不透明)

RGB565
每个像素用16比特位表示,占2个字节,RGB分量分别使用5位、6位、5位。

   R R R R R G G G G G G B B B B B 
   R = color & 0xf800;
   G = color & 0x07E0;
   B = color & 0x001f;

RGB24
RGB24图像每个像素用24比特位表示,占3个字节。

  R R R R R R R R G G G G G G G G B B B B B B B B

RGB32
RGB32图像每个像素用32比特位表示,占4个字节,R,G,B分量分别用8个bit表示,存储顺序为B,G,R,最后8个字节保留。

  高字节
  B B B B B B B B G G G G G G G G
  低字节
  R R R R R R R R 

8.2 YUV:

YUV是表示色彩颜色的模型。常说的YUV是 YCbCr,其中Y是指亮度分量,Cb指蓝色色度分量,而Cr指红色色度分量。常见的YUV格式又分为YUV420、YUV422和YUV444,具体的释义和分类如下:

YUV 420: 由 4 个 Y 分量共用一套 UV 分量.
YUV 422: 由 2 个 Y 分量共用一套 UV 分量.
YUV 444: 不共用,一个Y 分量使用一套 UV 分量.

在这里插入图片描述

8.3 RBG-YUV相互转换

我们显示器是根据RGB模型显示图像的,但是我们在传输数据的时候按照YUV进行传输的,所以我们就需要用到RGB和YUV的相互装换,下面我罗列了RGB和YUV转换的代码:
RGB -> YUV :

Y = 0.299  * R + 0.587 * G + 0.114 * B
U = -0.147 * R - 0.289 * G + 0.436 * B
V = 0.615  * R - 0.515 * G - 0.100 * B

YUV -> RGB:

R = Y + 1.14 * V
G = Y - 0.39 * U - 0.58 * V
B = Y + 2.03 * U

9、视频帧和音频帧

9.1视频帧:

I 帧、P 帧、B 帧:
I 帧(Intra coded frames)
I 帧图像采用帧内编码方式,即只利用了单帧图像内的空间相关性,而没有利用时间相关性。I 帧使用帧内压缩,不使用运动补偿,由于 I 帧不依赖其它帧,所以是随机存取的入点,同时是解码的基准帧。I 帧主要用于接收机的初始化和信道的获取,以及节目的切换和插入,I 帧图像的压缩倍数相对较低。I 帧图像是周期性出现在图像序列中的,出现频率可由编码器选择。

P 帧(Predicted frames)
P 帧和 B 帧图像采用帧间编码方式,即同时利用了空间和时间上的相关性。P 帧图像只采用前向时间预测,可以提高压缩效率和图像质量。P 帧图像中可以包含帧内编码的部分,即 P 帧中的每一个宏块可以是前向预测,也可以是帧内编码。

B 帧(Bi-directional predicted frames)
B 帧图像采用双向时间预测,可以大大提高压缩倍数。值得注意的是,由于 B 帧图像采用了未来帧作为参考,因此 MPEG-2 编码码流中图像帧的传输顺序和显示顺序是不同的。

也就是说,一个 I 帧可以不依赖其他帧就解码出一幅完整的图像,而 P 帧、B 帧不行。P 帧需要依赖视频流中排在它前面的帧才能解码出图像。B 帧则需要依赖视频流中排在它前面或后面的帧才能解码出图像。

9.2 音频帧

就是根据具体的编码格式定义的,PCM的就没有帧的概念,AMR帧是每20ms音频数据就是一帧,MP3比较复杂些,包含采样率、比特率等各种参数,每帧长度不固定,也可能固定,由比特位决定,每帧又由帧头和实体数据两部分决定。

10、DTS和PTS的区别

DTS:Decoder Time Stamp,主要是标识读取内存的比特流在什么时候进入解码器解码的时间戳。
PTS:Presentation Time Stamp,主要是度量解码后的视频帧什么时候显示的时间戳。
    具体就是图片在显示器上显示的时间。

11、量化精度

量化精度表示可以将模拟信号分成多少个等级,量化精度越高,则声音声压振幅也越接近原音乐。

12、采样率

采样率是指声音音频采集的个数,8k/44.1k Hz,采样率单位用Hz表示

13、声道

声道数是指声音在录制和播放的时候在不同的空间位置采集或者回放的相互独立的音频信号,
所以声道数是声音的音源数量或回放时的播声器的数量。

14、TS流 PS流 ES流区别

(1)ES流(Elementary Stream):
基本码流,包含视频、音频或数据的连续码流。
(2)PES流(Packet Elementary Stream):
打包的基本码流,是将基本的码流ES流根据需要分成长度不等的数据包,并加上包头就形成了打包的基本码流PES流。
(3)TS流:
传输流,是由固定长度为188字节的包组成,含有独立时基的一个或多个program, 一个program又可以包含多个视频、音频、和文字信息的ES流; 每个ES流会有不同的PID标示. 而又为了可以分析这些ES流, TS有一些固定的PID用来间隔发送program和ES流信息的表格: PAT和PMT表。适用于误码较多的环境。TS流(TransportStream)即在MPEG-2系统中,由视频,音频的ES流和辅助数据复接生成的用于实际传输的标准信息流称为MPEG-2传送流。信息复合/分离的过程称为系统复接/分接,据传输媒体的质量不同,MPEG-2中定义了两种复合信息流:传送流(TS)和节目流(PS:ProgramStream)。

TS流与PS流的区别在于TS流的包结构是固定长度的,而PS流的包结构是可变长度。 PS包与TS包在结构上的这种差异,导致了它们对传输误码具有不同的抵抗能力,因而应用的环境也有所不同。TS码流由于采用了固定长度的包结构,当传输误码破坏了某一TS包的同步信息时,接收机可在固定的位置检测它后面包中的同步信息,从而恢复同步,避免了信息丢失。而PS包由于长度是变化的,一旦某一PS包的同步信息丢失,接收机无法确定下一包的同步位置,就会造成失步,导致严重的信息丢失。因此,在信道环境较为恶劣,传输误码较高时,一般采用TS码流;而在信道环境较好,传输误码较低时,一般采用PS码流由于TS码流具有较强的抵抗传输误码的能力,因此目前在传输媒体中进行传输的MPEG-2码流基本上都采用了TS码流的包。

封装 : 就是捆绑打包, 将画面视频文件和音轨文件打包在一起, 并按照一定规则建立排序和索引, 便于播放器或播放软件来索引播放. 包括AVI / PS(Program Stream)/ TS(Transport Stream)/ MKV(Matroska)等。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

给大佬递杯卡布奇诺

你们的鼓励就是我传作的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值