在音视频范畴,有许多的专业称号和概念,在学习之前,咱们首先要了解这些根本的概念和名词是什么意思
读懂根本概念
YUV
在一般的开发中,咱们接触到的颜色模型都是RGB,而音视频开发中所用的颜色模型是YUV。
视频原始(裸流)数据,解码终究显现便是一帧帧YUV数据 。
PCM
音频原始(裸流)数据,解码终究播映的便是PCM数据。
封装格局
封装格局也称多媒体容器,它仅仅为多媒体编码供给了一个“外壳”,也便是将一切的处理好的视频、音频或字幕都包装到一个文件容器内呈现给观众,这个包装的进程就叫封装。所以首要作用是将音频、视频、字幕等轨道封装成一个文件。
常见的封装格局首要有:
封装格局 | 特点 |
---|---|
AVI | 对应的文件格局为 .avi,英文全称 Audio Video Interleaved,是由 Microsoft 公司于 1992 年推出。这种视频格局的长处是图画质量好,无损 AVI 能够保存 alpha 通道。缺陷是体积过于巨大,而且紧缩规范不统一,存在较多的高低版别兼容问题。 |
MPEG | 对应的文件格局首要有 .mpeg 、.mpe 、.3gp 、.mp4 等等,英文全称 Moving Picture Experts Group,是由运动图画专家组拟定的视频格局,该专家组于 1988 年组建,专门担任视频和音频规范拟定,其成员都是视频、音频以及体系范畴的技能专家。MPEG 格局现在有三个紧缩规范,分别是 MPEG-1 、MPEG-2 、和 MPEG-4 。MPEG-4 是现在用的比较多的视频封装格局,它为了播映流式媒体的高质量视频而专门规划的,以求运用最少的数据获得最佳的图画质量。 |
QuickTime File Format | 对应的文件格局是 .mov ,是 Apple 公司开发的一种视频格局,默认的播映器是苹果的 QuickTime。这种封装格局具有较高的紧缩比率和较完美的视频明晰度等特点,并能够保存 alpha 通道。 |
Flash Video | 对应的文件格局是 .flv ,是由 Adobe Flash 延伸出来的一种网络视频封装格局。这种格局被许多视频网站所选用。 |
MPEG2-TS | 对应的文件格局是.ts ,是一种规范容器格局,传输与存储音视频。首要用于直播的码流结构,具有很好的容错能力。一般TS流的后缀是.ts、.mpg或者.mpeg,大都播映器直接支撑这种格局的播映。广泛运用于数字播送体系,咱们日常数字机顶盒接收到的便是 TS (Transport Stream ,传输流)流。 |
更多封装格局:AVI、MKV、MPE、MPG、MPEG,MP4、WMV、MOV、3GP、M2V、M1V、M4V、OGM、RM、RMS、RMM、RMVB、IFO、SWF、FLV、F4V、ASF、PMF、XMB、DIVX、PART、DAT、VOB、M2TS、TS、PS
编码格局
编码本质上来说便是把原始的很大的音视频数据通过不同算法紧缩的进程,这样便于存储或者是在网络上传输。
音频编码格局
音频编码指的是音频数据的编码方法,音频的原始数据巨细一般不适合直接传入,因为体积太大了,所以一般音频传输都会选用各种编码格局进行紧缩和去冗余。常见的有:MP3
、 OGG
、WAV
、AAC
、WMA
等。其间AAC是现在主流的音频编解码格局。:
编码格局 | 特点 |
---|---|
AAC | 英文全称 Advanced Audio Coding,是由 Fraunhofer IIS、杜比实验室、AT&T、Sony等公司共同开发,在 1997 年推出的依据 MPEG-2 的音频编码技能。2000 年,MPEG-4 规范呈现后,AAC 从头集成了其特性,加入了 SBR 技能和 PS 技能,为了差异于传统的 MPEG-2 AAC 又称为 MPEG-4 AAC。 |
MP3 | 英文全称 MPEG-1 or MPEG-2 Audio Layer III,是当曾经十分盛行的一种数字音频编码和有损紧缩格局,它被规划来大幅下降音频数据量。它是在 1991 年,由位于德国埃尔朗根的研讨组织 Fraunhofer-Gesellschaft 的一组工程师发明和规范化的。MP3 的普及,曾对音乐产业造成极大的冲击与影响。 |
OGG Vorbis | OGG Vorbis是一种开放源代码的音频编码格局,具有较高的音频质量和较低的比特率,常用于音乐和流媒体。 |
WMA | 英文全称 Windows Media Audio,由微软公司开发的一种数字音频紧缩格局,本身包括有损和无损紧缩格局。 |
WAV | WAV是一种无紧缩的音频文件格局,一般用于存储原始音频数据,具有较高的音频质量,但文件巨细较大 |
视频编码格局
视频编解码的进程是指对数字视频进行紧缩或解紧缩的一个进程,常见视频编码方法有MPEG
系列和H.26X
系列, 其间**H.264/AVC
** 是现在比较常见的编码方法。
编码格局 | 特点 | |
---|---|---|
H.26X 系列 | H.261 | 首要用于老的视频会议和视频电话体系。是榜首个运用的数字视频紧缩规范。实质上说,之后的一切的规范视频编解码器都是依据它规划的。 |
H.262 | 运用在 DVD、SVCD 和大大都数字视频播送体系和有线散布体系中。 | |
H.263 | 首要用于视频会议、视频电话和网络视频相关产品。在对逐行扫描的视频源进行紧缩的方面,H.263 比它之前的视频编码规范在功能上有了较大的进步。尤其是在低码率端,它能够在确保必定质量的前提下大大的节省码率。 | |
H.264 | 也被称为高级视频编码(Advanced Video Coding,简称 AVC),是一种视频紧缩规范,一种被广泛运用的高精度视频的录制、紧缩和发布格局。该规范引入了一系列新的能够大大进步紧缩功能的技能,并能够一起在高码率端和低码率端大大超越以前的诸规范。 | |
H.265 | 被称为高功率视频编码(High Efficiency Video Coding,简称 HEVC)是一种视频紧缩规范,是 H.264 的继任者。HEVC 被以为不仅进步图画质量,一起也能到达 H.264 两倍的紧缩率(等同于同样画面质量下比特率减少了 50%),可支撑 4K 分辨率乃至到超高画质电视,最高分辨率可到达 81924320(8K 分辨率),这是现在开展的趋势。 | |
MPEG | MPEG-1 | 首要运用在 VCD 上,有些在线视频也运用这种格局。该编解码器的质量大致上和原有的 VHS 录像带相当 |
MPEG-2 | 等同于 H.262 ,运用在 DVD、SVCD 和大大都数字视频播送体系和有线散布体系中。 |
|
MPEG-4第二部分 | 能够运用在网络传输、播送和媒体存储上。比起 MPEG-2 和 H.263 ,它的紧缩功能有所进步。 |
|
MPEG-4第十部分 | 等同于 H.264 ,两个编码组织协作诞生了H.264/AVC规范 |
H.264/AVC是一种视频编码规范,也被称为Advanced Video Coding(AVC)或H.264。它是由世界电信联盟(ITU)部属的视频编码专家组(VCEG)和世界规范化组织(ISO)部属的动态图画专家组(MPEG)协作开发的。
H.264/AVC于2003年发布,并敏捷成为其时广泛运用的视频编码规范之一。它供给了高紧缩率和超卓的视频质量,适用于各种运用范畴,包括流媒体、播送、视频通话、蓝光光盘等。
H.264/AVC通过选用一系列先进的编码技能,如帧间猜测、变换编码和熵编码等,完成了较高的紧缩功率。它能够将视频数据紧缩到较小的文件巨细,一起保持相对较高的视觉质量。这使得H.264/AVC成为许多在线视频渠道、视频存储媒体和传输规范的首选。
H.264/AVC还具有广泛的设备和渠道兼容性,因而在各种消费电子设备、移动设备和核算机体系上广泛运用。它支撑各种分辨率和比特率配置,能够适应不同的运用需求。
总归,H.264/AVC是一种盛行的视频编码规范,具有高紧缩率、优秀的视频质量和广泛的运用范畴。
比方这里从wwdc下载的一个mp4视频,
视频Video:运用了H264/AVC紧缩算法
音频Audio:运用了AAC紧缩算法,封装则运用MP4封装格局。
当时商场盛行的文件封装格局:H264+AAC封装为FLV或MP4
音视频同步
DTS(Decoding Time Stamp):即解码时刻戳,这个时刻戳的含义在于告知播映器该在什么时分解码这一帧的数据。 PTS(Presentation Time Stamp):即显现时刻戳,这个时刻戳用来告知播映器该在什么时分显现这一帧的数据。
当视频流中没有 B 帧时,一般 DTS 和 PTS 的次序是一致的。但存在B帧 的时分两者的次序就不一致了。
音视频同步方法
Audio Master:同步视频到音频 Video Master:同步音频到视频 External Clock Master:同步音频和视频到外部时钟。
一般情况下 Audio Master > External Clock Master > Video Master
编解码器
了解基础知识
音视频录制原理
音视频播映原理
如上图所示,视频播映器播映的视频文件,解封装(mkv,mp4,mpeg,ts,avi),解码音视频(h264,h256,mpeg,aac),音视频同步。假如播映本地的是一个互联网上的文件,那么还需求通过解协议(http, rtmp, file)这一过程。
所以总的是四层:
- 协议层(Protocol Layer):该层处理的数据为契合特定流媒体协议规范的数据,例如
http,rtmp,file,hls
等 - 封装层(Format Layer):该层处理的数据为契合特定封装格局规范的数据,例如
mkv,mp4,flv,mpegts,avi
等 - 编码层(Codec Layer):该层处理的数据为契合特定编码规范规范的数据,例如
h264,h265,mpeg2,mpeg4
等 - 像素层(Pixel Layer):该层处理的数据为契合特定像素格局规范的数据,例如
yuv420p,yuv422p,yuv444p,rgb24
等
音频相关基础知识
这一部分首要简略介绍一些基础的知识,在进阶篇就对这些基础知识做进一步的扩展
声响的物理性质
声响是一种由物体振荡引发的物理现象,如小提琴的弦声等。物体的振荡使其四周空气压强发生振荡,咱们称这种振荡的函数表现形式为波形,而这种忽强忽弱改变以波的形式向四周传播,当被人耳所接收时,咱们就听见了声响。声响有振幅,振幅的片面感觉是声响的巨细。声响的振幅巨细取决于空气压力波距平均值(也称平衡态)的最大偏移
量。
声响的频率是周期的倒数,它表明的是声响在1秒钟内的周期数,单位是赫兹(Hz)。千赫(kHz),即1000Hz,表明每秒振荡1000次。声响按频率可作如下划分:
次声波 | 0-20Hz |
---|---|
人耳能听见的声响 | 20Hz — 20KHz |
超声波 | 20KHz — 1GHz |
特超声波 | 1GHz — 10THz |
数字音频相关概念
核算机并不直接运用接连平滑的波形来表明声响,它是每隔固定的时刻对波形的幅值进行采样,用得到的一系列数字量来表明声响。 下面右图是通过数字采样的波形示意图。
PCM脉冲编码调制
PCM(Pulse Code Modulation),脉冲编码调制。人耳听到的是模拟信号,PCM是把声响从模拟信号转化为数字信号
的技能。
采样频率
采样频率:每秒钟采样的点的个数。
依据Nyguist采样规律,要从采样中彻底康复原始信号波形,采样频率有必要至少是信号中最高频率的两倍。 前面说到人耳能听到的频率规模是[20H~20kHz],所以采样频率一般为44.1Khz,这样就能确保声响到达20Khz也能被数字化,从而使得通过数字化处理之后,人耳听到的声响质量不会被下降。常用的采样频率有:
22000(22kHz) | 无线播送 |
---|---|
44100(44.1kHz) | CD音质 |
48000(48kHz) | 数字电视,DVD |
96000(96kHz) | 蓝光,高清DVD |
192000(192kHz) | 蓝光,高清DVD |
以下是CD以及VOIP采样频率比照
采样精度(采样深度/位深)
每个“样本点”的巨细,常用的巨细为8bit, 16bit,24bit。
通道数
单声道,双声道,四声道,5.1声道。
比特率
每秒传输的bit数,单位为:bps(Bit Per Second),直接衡量声响质量的一个规范。 没有紧缩的音频数据的比特率 = 采样频率 * 采样精度 * 通道数。
例如:
采样频率44100,采样精度16bit,2通道(声道),收集4分钟的数据
44100162460= 338688000bit
文件巨细:338688000/8/1024/1024 = 40M字节
比特率 = 采样频率 * 采样精度 * 通道数 = 44100162= 1411200 bit/s = 137.8kb/s
从上面的联系能够看出比特率=音频文件巨细/时长。
码率
紧缩后的音频数据的比特率。常见的码率:
96kbps | FM质量 |
---|---|
128-160kbps | 一般质量音频 |
192kbps | CD质量 |
256-320Kbps | 高质量音频 |
码率越大,紧缩功率越低,音质越好,紧缩后数据越大。
采样量化
采样是在离散的时刻点进步行的,而采样值本身在核算机中也是离散的。
量化的进程是先将整个起伏划分成有限个小起伏(量化阶距)的调集,把落入某个阶距内的样本值归为一类,并赋予相同的量化值。
采样精度是表明离散起伏的分辨率。它们在数字信号处理中一起作业,用于获取、表明和处理数字信号。
采样值的精度取决于它用多少位来表明,例如8位量化能够表明256个不同值,而CD质量的16位量化能够表明65 536个值,规模为[-32768, 32767]。下图是一个3位量化的示意图,能够看出3位量化只能表明8个值:0.75,0.5,0.25,0,-0.25,-0.5,-0.75和 -1,因而量化位数越少,波形就越难辨认,还原后的声响质量也就越差(或许除了一片嗡嗡声之外什么都没有),
16位的量化一般能够到达消除量化噪音的要求
帧
每次编码的采样单元数,比方MP3一般是1152个采样点作为一个编码单元,AAC一般是1024个采样点作为一个编码单元。
一般,一个媒体流是由许多的数据帧组成的,对于紧缩数据,帧对应着编解码器的最小处理单元。
采样点是在特定时刻距离内对声响信号进行丈量或记载的数据点。你能够将其幻想为在时刻轴上等距离散布的点,每个点记载了声响信号在特定时刻点上的振幅值。采样点的数量决议了数字音频的精密程度,也便是说,通过添加采样点的数量,咱们能够获得更多的声响细节。
采样率是指每秒钟进行采样的次数,一般以赫兹(Hz)为单位。也便是在一秒钟内收集的采样点数。采样率决议了数字音频的频率规模和还原质量。更高的采样率意味着更多的采样点被记载下来,能够表明更高频率的声响信号,因而能够供给更精确和真实的音频还原。
知道他们的联系就能够知道在必定时刻内的音频帧数
帧长
能够指每帧播映持续的时刻:
每帧持续时刻(秒) = 每帧采样点数 / 采样频率(HZ)比方:MP3 48k, 1152个采样点,
每帧则为 24毫秒: 1152/48000= 0.024 秒 = 24毫秒;
也能够指紧缩后每帧的数据长度。
所以要依据上下文来判别他适用的场合。
交织形式
数字音频信号存储的方法。数据以接连帧的方法寄存,即首先记载帧1的左声道样本和右声道样本,再开端帧2的记载…
非交织形式
首先记载的是一个周期内一切帧的左声道样本,再记载一切右声道样本
比方AAC 一帧是1024,那么在交织形式下记载一帧记载的便是【LRLRLR…】,而在非交织形式下一帧记载的便是1024【LLLL…】+ (1024)【RRRR….】
编码
编解码是指以帧为单位完成紧缩数据和原始数据之间的彼此转化
数字音频信号假如不加紧缩地直接进行传送,将会占用极大的带宽。例如,一套双声道数字音频若取样频率为44.1KHz,每样本值按16bit量化,则其码率为:244.1kHz16bit=1.411Mbit/s。如此大的带宽将给信号的传输和处理都带来许多困难和本钱(阿里云服务器带宽大于5M后,每M价格是100元/月)。因而有必要采纳音频紧缩技能对音频数据进行处理,才干有效地传输音频数据。
音频编码根本原理
数字音频紧缩编码是在确保信号在听觉方面不发生失真的前提下,对音频数据信号进行尽或许大的紧缩,下降数据量。
数字音频紧缩编码采纳去除声响信号中冗余成分的方法来完成。所谓冗余成分指的是音频中不能被人耳感知到的信
号,它们对确认声响的音色,音调等信息没有任何的帮助。
冗余信号包括人耳听觉规模外的音频信号以及被掩蔽掉的音频信号等。例如,人耳所能发觉的声响信号的频率规模为20Hz~20KHz,除此之外的其它频率人耳无法发觉,都可视为冗余信号。此外,依据人耳听觉的生理和心理声学现象,当一个强音信号与一个弱音信号一起存在时,弱音信号将被强音信号所掩蔽而听不见,这样弱音信号就能够视为冗余信号而不用传送。这便是人耳听觉的掩蔽效应,首要表现在频谱掩蔽效应和时域掩蔽效应。
频谱掩蔽效应
一个频率的声响能量小于某个阈值之后,人耳就会听不到。当有别的能量较大的声响呈现的时分,该声响频率邻近的阈值会进步许多,即所谓的掩蔽效应。如下图所示:
由图中咱们能够看出人耳对2KHz~5KHz的声响最灵敏,而对频率太低或太高的声响信号都很愚钝,当有一个频率为0.2KHz、强度为60dB的声响呈现时,其邻近的阈值进步了许多。由图中咱们能够看出在0.1KHz以下、1KHz以上的部分,因为离0.2KHz强信号较远,不受0.2KHz强信号影响,阈值不受影响;而在0.1KHz~1KHz规模,因为0.2KHz强音的呈现,阈值有较大的进步,人耳在此规模所能感觉到的最小声响强度大幅进步。假如0.1KHz~1KHz规模内的声响信号的强度在被进步的阈值曲线之下,因为它被0.2KHz强音信号所掩蔽,那么此刻咱们人耳只能听到0.2KHz的强音信号而底子听不见其它弱信号,这些与0.2KHz强音信号一起存在的弱音信号就可视为冗余信号而不必传送。当强音信号和弱音信号一起呈现时,还存在时域掩蔽效应。即两者发生时刻很接近的时分,也会发生掩蔽效应。时域掩蔽进程曲线如图所示,分为前掩蔽、一起掩蔽和后掩蔽三部分。
前掩蔽是指人耳在听到强信号之前的短暂时刻内,已经存在的弱信号会被掩蔽而听不到。一起掩蔽是指当强信号与弱信号一起存在时,弱信号会被强信号所掩蔽而听不到。后掩蔽是指当强信号消失后,需通过较长的一段时刻才干从头听见弱信号,称为后掩蔽。这些被掩蔽的弱信号即可视为冗余信号。
在大大都情况下,后掩蔽效应比前掩蔽效应更强,因为人耳对声响的反响需求必定的时刻,所以在一个响亮的声响发生之前的那一瞬间,较小的声响并不会被彻底遮蔽。可是,这个效应仍然存在,并在一些音频处理技能中得到运用。
音频编码–紧缩
当时数字音频编码范畴存在着不同的编码方案和完成方法, 但根本的编码思路迥然不同, 如图所示。
对每一个音频声道中的音频采样信号:
将它们映射到频域中,这种时域到频域的映射可通过子带滤波器完成。每个声道中的音频采样块首先要依据心理声学模型来核算掩蔽门限值;
由核算出的掩蔽门限值决议从公共比特池中分配给该声道的不同频率域中多少比特数,接着进行量化以及编码作业;将控制参数及辅佐数据加入数据之中,发生编码后的数据流。
常见音频编码器
OPUS MP3 AAC 其间,AC3和EAC3 杜比公司的方案
简略总结来说,音频信号的数字化过程是模拟信号-采样-量化-编码-数字信号
音频质量规范评价
- 采样率
直播场景和连麦场景下,音频采样率大于16k。依据采样规律,最小采样率是最高可采样频率的2倍,也便是说16kHz能够采样的声响频率规模是8kHz以下。依据频率表人声频率根本都在8kHz以下,特别是语音频率根本都是1kHz以下。因而16kHz的采样率彻底满足。
- 音质客观评分
此处介绍一种质量评价算法。POLQA (感知客观语音质量评价),是一种全参阅(FR)算法,可对与原始信号相关的降级或处理过的语音信号进行评级。它将参阅信号(说话者侧)的每个样本与劣化信号(收听者侧)的每个相应样本进行比较。两个信号之间的感知差异被评为差异。
POLQA 成果首要是模型平均定见得分(MOS),涵盖从 1(差)到 5(优秀)的规模。
- 音画同步
因为播映器在处理音视频的时分是分开进行解码烘托的,要做到音画同步则要给音画添加上时刻戳(PTS)的概念,时刻附近的音频帧和视频帧,咱们就认定为是同步的两个帧。一般音视频同步的做法有三种:视频同步到音频、音频同步到视频、音视频同步的外部时钟。
简略的测验方法便是观看直播进程中,片面判别视频画面中主播口型跟声响是否对得上
- 连麦-噪声抑制
噪声抑制技能用于消除背景噪声,改善语音信号的信噪比和可懂度,让人和机器听得更清楚。
- 连麦-回声抵消
主播和观众连麦形式下,单讲和双讲时,说话方听到的回声较小,不会影响交流。
单讲:观众端开启扬声器,主播端说话,片面听是否有自己的回声;反过来观众端说话,听是否有回声。
双讲:两边都开启扬声器,并一起说话,片面听是否有回声,或声响断续有剪切。
视频相关基础知识
图画表明 –RGB格局
红光(R)绿光(G)蓝光(B)每个像素用8bit表明 颜色:256256256=1677, 7216 对于一幅图画,一般运用整数表明方法来进行描述,比方核算一张1280720的RGB_888图画的巨细,可选用如下方法:1280720 * 3 = 2.637 MB。这也是位图(bitmap)在内存中所占的巨细 假如一部90分钟的电影,每秒25帧,则一部电影为2.637MB90分钟60秒*25FPS= 347.651GB
图画表明 –YUV格局
数字图画表明:YUV格局
用途:首要用于视频信号的紧缩、传输和存储,和向后兼容老式黑白电视。其间“Y”表明明亮度(Luminance或Luma),也称灰阶值;“U”和“V”表明的则是色度(Chrominance或Chroma),作用是描述印象颜色及饱和度,用于指定像素的颜色。
YUV格局:有两大类:planar和packed。
对于planar的YUV格局,先接连存储一切像素点的Y,紧接着存储一切像素点的U,随后是一切像素点的V。
对于packed的YUV格局,每个像素点的Y,U,V是接连交织存储的。
libyuv,Google开源的完成各种YUV与RGB间彼此转化、旋转、缩放的库。
YUV存在多种格局,比方YUV444,YUV422,YUV420p,YUV420sp等,不同的YUV格局的数据在存储时的排列次序是不一样的,在开发的进程中有必要十分注意,否则画面会显现不正常。比方花屏,绿屏等现象。
YUV 4:4:4采样,每一个Y对应一组UV重量。表明没有进行子采样,每个像素的Y、U、V值都被独自存储。这供给了最高的颜色精度,但需求最多的数据存储。其每个像素需求8+8+8 = 24bits,共3个字节。(4+4+4)字节/ (2*2)像素 = 3个字节
YUV 4:2:2采样,每两个Y共用一组UV重量。表明在水平方向进步行了2:1的子采样,即每两个水平相邻的像素同享同一组U和V值。其每个像素占8+4+4 = 16bits 2个字节
YUV 4:2:0采样,每四个Y共用一组UV重量。表明在水平和笔直方向上都进行了2:1的子采样,即每一个2×2像素块同享同一组U和V值。这是一种常用的子采样方法,尤其在需求许多数据紧缩的情况下,例如在网络视频流和一些消费级视频设备中。其每个像素占8+2+2 = 12bits 1.5个字节
更多参阅文档 YUV颜色格局总结(转) – 青山牧云人 – 博客园
视频存储格局YUV420 NV12 NV21 i420 YV12
相较于RGB,咱们能够核算一帧为1280720的视频帧,用YUV420P的格局来表明,其数据量的巨细如下:
每四个像素都需求四个 luma 值,即 4y。那么一共需求 1280 * 720 / 4 * 4 = 921600 bytes。
每四个像素需求一个 chroma u 值,那么一共需求 1280 * 720 / 4 = 230400 bytes。
每四个像素需求一个 chroma v 值,那么一共需求 1280 * 720 / 4 = 230400 bytes。
921600 + 230400 + 230400 = 1382400 bytes = 1280 * 720 * 1.5 = 1.3824MB
假如fps(1秒的视频帧数目)是25,按照一般电影的长度90分钟来核算,那么这部电影用YUV420P的数据格局来表明的话,其数据量的巨细便是: 1.3824MB * 25fps * 90min * 60s = 173.8GB
视频码率
视频码率:kb/s,是指视频文件在单位时刻内运用的数据流量,也叫码流率。码率越大,阐明单位时刻内取样率越大,数据流精度就越高。
视频帧率
视频帧率:fps,一般说一个视频的25帧,指的便是这个视频帧率,即1秒中会显现25帧。帧率越高,给人的视觉就越流通。
视频分辨率
分辨率便是咱们常说的640×480分辨率、1920×1080分辨率,分辨率影响视频图画的巨细。
视频首要概念 — I帧
I 帧(Intra coded frames):I帧不需求参阅其他画面而生成,解码时仅靠自己就重构完整图画;I帧图画选用帧内编码方法;
I帧所占数据的信息量比较大;
I帧图画是周期性呈现在图画序列中的,呈现频率可由编码器挑选;
I帧是P帧和B帧的参阅帧(其质量直接影响到同组中今后各帧的质量);
I帧是帧组GOP的基础帧(榜首帧),在一组中只有一个I帧;
I帧不需求考虑运动矢量;
视频首要概念 — P帧
P 帧(Predicted frames):依据本帧与相邻的前一帧(I帧或P帧)的不同点来紧缩本帧数据,一起运用了空间和时刻上的相关性。
P帧归于前向猜测的帧间编码。它需求参阅前面最靠近它的I帧或P帧来解码
视频首要概念 — B帧
B 帧(Bi-directional predicted frames):B 帧图画选用双向时刻猜测,能够大大进步紧缩倍数。
常用视频编码算法
MPEG2 | MPEG阵营 |
---|---|
H264 | MPEG阵营 |
H265 | MPEG阵营 |
AVS | 中国阵营 |
VP8 | Google阵营 |
VP9 | Google阵营 |
视频质量规范评价(此处只列出常规的几个):
- 首屏耗时
榜首次点击播映后,肉眼看到画面所等候的时刻。技能上指播映器解码榜首帧烘托显现画面所花的耗时。一般说的 “秒开”,指点击播映后,一秒内即可看到播映画面。首屏翻开越快,阐明用户体会越好。
- 明晰度
明晰度受视频分辨率和码率影响较大,发送码率越大且分辨率越高,则视频明晰度越好。需求注意的是:分辨率码率太高,会导致运营本钱太高,用户端加载的速度也比较慢。分辨率码率偏低,则容易呈现不明晰的问题,影响用户体会。
- 帧率
因为人类眼睛的特殊生理结构,假如所看画面帧率高于16的时分,就会以为是连接的,因而帧率主张不低于16帧。而帧率低于5帧时,人眼能明显感觉到画面不连接,发生卡的感觉。帧率对视频质量的影响远远大于分辨率和QP。QP:量化参数,反映了空间细节紧缩情况。值越小,量化越精密,图画质量越高,发生的码流也越长。
- 卡顿(流通度)
指视频播映进程中呈现画面滞帧,让人们明显感觉到“卡”。单位时刻内的播映卡顿次数计算称之为卡顿率。流通度一般以卡顿率来反映,卡顿的信息首要包括卡顿次数与卡顿时刻;直播场景业界一般的卡顿界说是帧烘托距离大于1s则为卡顿发生;但通过片面实验,一般这个值到达200ms,观众即可感受到卡顿。
- 稳定性
在各种损害改变场景下,接连长时刻直播未呈现花屏、黑屏、主动中断等现象。
- 推迟
推迟是数据从信息源发送到目的地所需的时刻。推迟越低,则用户体会越好。
流媒体协议相关知识
一般音视频数据体积比较大,所以在网络传输进程中都是接连不断的多媒体流量,在网络中传输音视频数据的技能叫流媒体技能,传输使 用的协议便是流媒体协议。
一般运用的流媒体协议有以下几种:
协议称号 | 全称 |
---|---|
RTMP | 依据TCP七层协议,性价比高,是现在直播推流的规范运用协议 |
HTTP-FLV | 依据TCP,运用HTTP传输FLV流,分发功能强,适用于CDN分发 |
HLS | 依据TCP,被HTML5写入规范支撑,延时大,可是兼容H5 |
RTP | 依据UDP四层协议,界说简略且功能好,可是需求额外的信令协议 |
其4种协议比照方下:
文献资料:
en.wikipedia.org/wiki/YUV
en.wikipedia.org/wiki/Chroma…
dougkerr.net/Pumpkin/art…
zhuanlan.zhihu.com/p/85620611
blog.csdn.net/mandagod/ar…
github.com/xhunmon/VAB…
blog.csdn.net/leixiaohua1…
github.com/0voice/audi…