音视频相关名词、术语、概念

1.帧率

每秒中显示帧数,表示图形处理器处理场每秒能更新的次数。高帧率就会更流畅、逼真。一般来说30fps就可以接受了。注意:如果帧率超过屏幕的刷新率,就只会浪费图像处理器的能力,因为如果屏幕不能以那么快的速度更新,那么超过屏幕刷新率的帧率就会被浪费。

2.刷新率

指屏幕每秒画面被刷新的次数。刷新率分垂直刷新率和水平刷新率,一般都指垂直刷新率。垂直刷新率表示屏幕上图像每秒重绘的次数,即每秒屏幕刷新的次数。刷新率越高,图像就越稳定,图像显示也就越自然清晰,对眼睛影响也越小。相反如果刷新率低,图像闪烁和抖动就越历害,眼睛越容易疲劳。一般达到80Hz以上的刷新率就可以完全消除图像闪烁和抖动。

3.分辨率

视频分辨率是指视频成像产品(如显示器)所形成的图像的大小或尺寸。

4.编码格式

编码目的是为了压缩冗余数据。

视频编码方式

视频编码的作用,将视频像素数据(RGB,YUV 等)压缩成视频码流,从而降低视频的数据量;

名称 推出机构 推出时间 目前使用领域
H.264 MPEG/ITU-T 2003 各个领域
MPEG4 MPEG 2001 不温不火
MPEG2 MPEG 1994 数字电视
VP9 Google 2013 研发中
VP8 Google 2008 不普及
VC-1 Microsoft Inc. 2006 微软平台
HEVC(H.265) MPEG/ITU-T 2013

音频编码方式

音频数据的承载方式最常用的是脉冲编码调制,即 PCM;PCM 的采集步骤,模拟信号 -> 采样 -> 量化 -> 编码 -> 数字信号;

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

名称 推出机构 推出时间 目前使用领域
AAC MPEG 1997 各个领域(新)
MP3 MPEG 1993 各个领域(旧)
WMV Microsoft Inc. 1999 微软平台
AC-3 Dolby Inc. 1992 电影

硬解码和软解码
软解码,指利用 CPU 的计算能力来解码,通常若 CPU 的能力不是很强的时候,一则解码速度会比较慢,二则手机可能出现发热现象;但是, 由于使用统一的算法,兼容性会很好;
硬解码,指的是利用专门的解码芯片来加速解码,通常硬解码的解码速度会快很多,但是由于硬解码由各个厂家实现,质量参差不齐,非常容易出现兼容性问题;

5.封装格式

封装格式(容器)就是将已经编码压缩完毕的视频轨和音频轨按照一定的格式存放到一个文件中,即仅仅是一个外壳,或者可理解为存放视频轨和音频轨的文件夹;

视频文件格式 视频封装格式
.avi AVI(Audio Video Interleaved)
.wmv、 .asf WMV(Windows Media Video)
.mpg 、.mpeg、.vob、.dat、.3gp、.mp4 MPEG(Moving Picture Experts Group)
.mkv Matroska
.rm、.rmvb Real Video
.mov QuickTime File Format
.flv Flash Video

视频封装格式

6.码率

码率就是比特率,比特率就是单位时间播放连续的媒体(如压缩后的音频和视频)的比特数量,单位 bps(bit per second)。比特率越高,带宽消耗得越多,比特要么是0,要么是1。码率 = 采样率 * 采样位数 * 声道数;

7.画质与码率

画质与码率(比特率)、编码算法都有关系。

8.视频帧

视频帧有I、P、B帧:
I帧:表示关键帧,包含完整的画面。
P帧:表示差别帧,即当前帧与前一个关键帧(或P帧)的差别。解码时需要用之前缓存的画面叠加上本帧定义的差别生成最终画面。P帧没有完整的画面数据,只有与前一帧的画面差别的数据。
B帧:表示双向差别帧,记录本帧与前后帧的差别。要解码B帧,不仅要取得之前缓存画面,还要解码之后的画面,最终通过前后画面数据与本帧数据的叠加得到最终的画面。

9.时间戳

【9.1】时间戳单位

时间戳不是真实的时间是采样次数,比如时间戳是 160,则不能认为是 160 秒或者 160 毫秒,应该是 160 个采样;要换算真实时间,必须知道采样率,比如 8000,则说明1秒被划分成 8000 分之一,如果要明确 160 个采样占用的时间,则 160 * (1/8000) 即可,即20 毫秒;

【9.2】时间戳增量

即一帧图像和另外一帧图像之间的时间戳差值,或者一帧音频和一帧音频的时间戳差值;时间戳增量是采样个数的差值不是真实时间差值,需要根据采样率才能换算成真实时间;
针对视频,帧率 25,则对于 90000 的采样率,一帧占用的采样数就是 90000/25 即 3600,说明每帧图像的时间戳增量是 3600,换算成实际时间就是 3600 *(1/90000)= 0.04 秒 = 40 毫秒;
对于 AAC 音频,一帧 1024 个采样,采样频率是 44 kHz,则一帧的播放时间应该是 1024 *(1/44100)= 0.0232 秒 = 23.22 毫秒;

【9.3】同步方法

播放器本地需要建立一个系统时钟,该时钟一般是根据 CPU 时间计算得出,当播放开始时时钟时间为 0,时间戳决定了一帧解码和渲染的时刻;
当播放开始,时钟时间会进行增加,播放器会用系统时钟和当前视频和音频的时间戳进行比较,如果音视频的时间戳小于当前系统时钟,那么就要解码并播放;
播放能否准确进行需要编码器给定精确的时间戳,同时播放器端具有精准的系统时钟,因为播放时要基于时间戳和系统时钟才能对数据流进行控制,即对数据块要根据时间戳来采取不同的处理方法;实际无论编码器还是本地播放器都不能非常精确,为了解决累计误差问题,一般需要在播放端有一套反馈机制,能够消除这种误差;同步是一个动态的过程,是一个有等待、有追赶的过程;

【9.4】PTS 和 DTS

DTS,Decoding Time Stamp 即解码时间戳,表示压缩帧的解码时间,该时间戳的意义是告诉播放器该在什么时候解码这一帧的数据;
PTS,Presentation Time Stamp 即显示时间戳,表示压缩帧解码后得到的原始帧的显示时间,这个时间戳用来告诉播放器在什么时候显示这一帧的数据;

音频中 DTS 和 PTS 是相同的;视频中由于 B 帧需要双向预测,B 帧依赖于其前和其后的帧,因此含 B 帧的视频解码顺序与显示顺序不同,即 DTS 与 PTS 不同;不含 B 帧的视频,其 DTS 和 PTS 是相同的;

如果没有 B 帧,假设传输的视频帧是 I P P P,则根据每个帧的时间戳进行解码和显示即可,因为后面帧的时间戳总是大于前面的时间戳,使用一个时间戳即可;

存在 B 帧

  1. 实际应该展示帧的顺序是: I B B P 帧解码后的顺序;

  2. 实际上,这些帧到达后,根据 I 帧和 B 帧的特点,实际在缓存的顺序为: I P B B;

  3. 实际解码的顺序: 1 4 2 3;

  4. 最终展示的顺序是: 1 2 3 4;

  5. 即先播放 I 帧,然后第一个 B 帧,第二个 B 帧,最后是 P 帧;
    对于 I 帧则 PTS = DTS,P 帧的 PTS > DTS,B 帧 PTS < DTS;

采集顺序 : 指图像传感器采集原始信号得到图像帧的顺序
编码顺序 : 指编码器编码后图像帧的顺序;存储到磁盘的本地视频文件中图像帧的顺序与编码顺序相同;
传输顺序 : 指编码后的流在网络传输过程中图像帧的顺序
解码顺序 : 指解码器解码图像帧的顺序
显示顺序 : 指图像帧在显示器上显示的顺序
采集顺序与显示顺序相同,编码顺序、传输顺序和解码顺序相同;

10.音频帧

音频帧没有视频帧那么明确。
对PCM(未经编码的音频数据)来说,它不需要帧的概念,根据采样率和采样精度就可以播放。
AMR帧,则规定每20ms为一帧,每一帧都独立。
MP3的音频数据帧个数由文件大小和帧长决定,每一帧的长度都可能不固定,也可能固定。由比特率决定,每一帧又分为帧头和数据实体两部分。帧头记录MP3的比特率、采样率、版本等。

11.采样率和采样位数

采样率,即采样的频率,每秒音频采样点个数;采样率要大于原声波频率的 2 倍,人耳能听到的最高频率为 20kHz,因此为了满足人耳的听觉要求,采样率至少为 40kHz,通常为 44.1kHz,更高的通常为 48kHz;
注意 : 人耳听觉频率范围[20Hz, 20KHz];
采样位数,即振幅量化,波形振幅在模拟信号上也是连续的样本值,而在数字信号中,信号一般是不连续的,因此模拟信号量化以后,只能取一个近似的整数值,为了记录这些振幅值,采样器会采用一个固定的位数来记录这些振幅值,通常有 8 位、16 位、32 位;
注意 : 位数越多,记录的值越准确,还原度越高,但占用硬盘空间越大.

12.量化精度

表示可以将模拟信号分成多少个等级,量化精度越高,音乐的声压振幅越接近原音乐。量化精度单位是bit比特,CD标准的量化精度是16比特,DVD是24比特。

13.声道

声道数,指支持能不同发声(注意是不同声音)的音响的个数;单声道(1 个声道),双声道(2 个声道),立体声道(默认 2 个声道;4 声道);

是指声音在录制或播放时在不同空间位置采集或回放的相互独立的音频信号,所以声道数也是声音录制时的音源数量或回放时相应的扬声器数量。
单声道:设置一个扬声器
立体声道:左右对称的两个扬声器
4声道:分别在前左、前右、后左、后右放置扬声器,听众被包围在中间。再增加一个低音音箱,以加强对低频信号的回放处理,就是所谓的4.1声道。
5.1声道:来源于4.1声道,将环绕声道一分为二,分为左环绕和右环绕,中央位置增加重低音效果。
7.1声道:在5.1声道的基础上,增加中左和中右两个扬声器。

14.色彩空间

RGB,通过 RGB 三种基础色,可以混合出所有的颜色;
YUV (又称为 YCbCr),一种亮度与色度分离的色彩格式;

Y : 亮度,即灰度值,除了表示亮度信号外,还含有较多的绿色通道量;
U : 蓝色通道与亮度的差值;
V : 红色通道与亮度的差值;
YUV 的优势,人眼对亮度敏感,对色度不敏感,因此减少部分 UV 的数据量,人眼无法感知,从而可以通过压缩 UV 的分辨率, 在不影响观感的前提下,减小视频的体积;
RGB 和 YUV 的换算公式
Y = 0.299R + 0.587G + 0.114B
U = -0.147R - 0.289G + 0.436B
V = 0.615R - 0.515G - 0.100B
R = Y + 1.14V
G = Y - 0.39U - 0.58V
B = Y + 2.03U

视频文件播放流程示意图

音视频入门知识-- --相关名词、术语、概念相关推荐

  1. FFmpeg学习(音视频理论知识)

    文章目录 1. 音视频理论知识 1.1 基本概念 1.1.1 音视频必备的基本概念 常用的视频封装格式 常用的视频编码器 常用的音频编程器: 视频流 裸数据YUV 1.1.2 音视频常见处理 采集 处 ...

  2. 5G时代来临,前端开发工程师必须了解的音视频入门基础知识

    1. 音视频基础 本文将给大家进行音视频基础的常规知识点的梳理.当然,短短的一篇文章并不能让大家立即变成音视频领域的专家,但这些知识点已经基本涵盖了音视频的入门知识.我们将按照下面的内容给大家 音视频 ...

  3. 音视频入门系列-音视频基础知识篇(录播、点播、直播)

    在学习音视频技术前,笔者还是希望可以分享给小伙伴们一些音视频方便的基本概念,掌握这些概念,有助于大家对于音视频有一个更直观和清晰的了解. 话不多说,今天笔者给大家分享下:录播.点播和直播. 录播:录播 ...

  4. Android 音视频入门之音频采集、编码、播放

    今天我们学习音频的采集.编码.生成文件.转码等操作,我们生成三种格式的文件格式,pcm.wav.aac 三种格式,并且我们用 AudioStack 来播放音频,最后我们播放这个音频. 本篇文章你将学到 ...

  5. Android车载应用开发与分析(6)- 车载多媒体(一)- 音视频基础知识与MediaPlayer

    多媒体应用是车载信息娱乐系统的一个重要组成部分,一般包含音视频播放.收音机.相册等.车载应用多媒体系列初步计划分为六篇,这是第一篇. 参考资料 视频和视频帧:视频和帧基础知识整理 百度百科 - 声道 ...

  6. ffmpeg音视频基础知识

    ffmpeg音视频基础知识 前言 一.图像的基础知识 二.视频编码基础知识 1.视频和图片之间的关系 2.为什么要编码? 3.什么是编码? 视频相关专业术语 提示:文章写完后,目录可以自动生成,如何生 ...

  7. 吹爆系列:教科书级别的Android音视频入门进阶学习手册,学完我成功“挤进”了抖音音视频开发岗

    Android开发工作两年,真的是感觉Android应用层开发没什么前景了,于是打算在网络安全,智能硬件,音视频这几个方向发展,考虑了一段时间,最终决定选择音视频.理由就不说了,既然选择了就要好好深耕 ...

  8. 堪称教科书级别的Android音视频入门进阶学习手册,开源分享

    概述 随着整个互联网的崛起,数据传递的形式也在不断升级变化,总的流行趋势如下: 纯文本的短信,QQ -> 空间,微博,朋友圈的图片文字结合 -> 微信语音 -> 各大直播软件 -&g ...

  9. 音视频基础知识---音频编码格式

    音视频基础知识汇总: 音视频基础知识---协议相关RTSP RTMP HLS 音视频基础知识---封装格式 音视频基础知识---视频编码格式 音视频基础知识---音频编码格式 音视频基础知识---像素 ...

最新文章

  1. 【资源共享】RK3288 WiFiBT 开发配置参考说明
  2. 遇到bug心寒了?用Enter键即可解决!
  3. python编程解决排队问题_并行排队多处理池,python
  4. 既然他人的成功与自己无关,何必过于关注他人?
  5. CentOS7上Mongodb安装、卸载
  6. UVa 941 Permutations
  7. 基于特征的对抗迁移学习论文_lt;EYD与机器学习gt;迁移学习:PTL选择式对抗网络...
  8. 权益证明协议中的拜占庭容错
  9. C++中string、char *、char[]的转换
  10. Android Canvas和Paint
  11. Apple着手抛弃32位macOS应用程序
  12. mybatis insert 重复数据2条_Mybatis框架lt;增gt;:添加一条数据到数据库中,insert...
  13. Bootstrap 支持的设备类型
  14. [erlang] mnesia
  15. 【java】java 并发编程 LinkedBlockingDeque
  16. rdkitpython | 多个化合物中挑选最大片段
  17. 书单:《人人都是产品经理》附录书单
  18. HDOJ试水心酸总结
  19. ORA-01033问题解决
  20. Latex 图注设置(图1:改为图1-1)

热门文章

  1. xp系统查找哪台计算机,WinXP如何查看电脑使用记录?查看电脑使用痕迹的方法...
  2. 【VideoJs】初识videojs video.js 视频播放器的基本使用 videojs基础用法 videojs视频播放器 vue3中使用videojs
  3. python中数组(numpy.array)的基本操作【转载】
  4. uni-app中理解,区分,使用rpx单位和px单位及样式字体的导入
  5. 过拟合、正则化和损失函数
  6. 送你个情人节礼物:Python版抖音同款表白神器
  7. 常量池详解(含栈、堆、方法区简析)
  8. createDIB: CreateDIBSection failed (640x480, format: 6)
  9. 全志XR819 wifi芯片规格书/Datasheet完整资料
  10. 2022金属非金属矿山(露天矿山)主要负责人考试模拟100题及在线模拟考试