|
|
万物互联的时代,音视频实时通讯的应用场景已随处可见,从“吃鸡”的语音对讲、直播连麦,到企业日常远程视频会议、与合作伙伴的远程会商,再到医院的远程会诊、智能银行VTM的远程视频开户等。对于解决方案服务商来讲,除了关注如何能快速实现不同应用场景的音视频通讯,另一个更需要关注的可能就是“低延时”。但是,到底实时音视频传输延时应该如何“低”,才能满足你的应用场景呢?小南将看到的专家剖析截取部分分享给大家。
/ |8 Q4 k% q4 I+ r; N- { ^9 p+ q在音视频传输过程中,在不同阶段都会产生延时。总体可以分为三类:" q) e' u: _) N3 b2 s5 t
V! g+ O. e5 N2 E# n* I
& p/ e( v+ q* F& x7 c% L1 Q
( F7 K5 f( q9 H. g
T1:设备端上的延时% e$ h) G) J$ d
音视频数据在设备端上产生延时还可以细分。设备端上的延时主要与硬件性能、采用的编解码算法、音视频数据量相关,设备端上的延时可达到 30~200ms,甚至更高。如上表所示,音频与视频分别在采集端或播放端产生延时的过程基本相同,但产生延时的原因不同。
' J( T/ W8 U9 t( m6 x——音频在设备端上的延时:
2 y8 T( Q* B, V& l音频采集延时:采集后的音频首先会经过声卡进行信号转换,声卡本身会产生延时,比如 M-Audio 声卡设备延迟 1ms,艾肯声卡设备延迟约为 37ms;
6 ^ |( A$ h5 P* Z% |编解码延时:随后音频进入前处理、编码的阶段,如果采用 OPUS 标准编码,最低算法延时大约需要 2.5~60ms;6 m6 ]: w0 M% s
音频播放延时:这部分延时与播放端硬件性能相关。: j+ E7 i; ]$ d7 B$ C/ I. l3 ~6 g& u
音频处理延时:前后处理,包括 AEC,ANS,AGC 等前后处理算法都会带来算法延时,通常这里的延时就是滤波器阶数。在 10ms 以内。
) q. k0 X5 j% j端网络延时:这部分延时主要出现在解码之前的 jitter buffer 内,如果在抗丢包处理中,增加了重传算法和前向纠错算法,这里的延时一般在 20ms 到 200ms 左右。但是受到 jitter buffer 影响,可能会更高。: K! H; M0 H7 v
——视频在设备端上的延时:6 a3 f, l% X( G3 n5 T6 h5 d1 ]
采集延时:采集时会遇到成像延迟,主要由 CCD 相关硬件产生,市面上较好的 CCD 一秒可达 50 帧,成像延时约为 20ms,如果是一秒 20~25 帧的 CCD,会产生 40~50ms 的延时;
: ~7 ?, y3 n# P+ i; \5 @编解码延时:以 H.264 为例,它包含 I、P、B 三种帧(下文会详细分析),如果是每秒 30 帧相连帧,且不包括 B 帧(由于 B 帧的解码依赖前后视频帧会增加延迟),采集的一帧数据可能直接进入编码器,没有 B 帧时,编码的帧延时可以忽略不计,但如果有 B 帧,会带来算法延时。
: I% i! K1 f& J( x. `4 n3 t视频渲染延时:一般情况下渲染延时非常小,但是它也会受到系统性能、音画同步的影响而增大。3 `9 N$ u/ c, l; f
端网络延时:与音频一样,视频也会遇到端网络延时。. N" M, m D" U+ @# }. x3 Q m5 c! s
另外,在设备端,CPU、缓存通常会同时处理来自多个应用、外接设备的请求,如果某个问题设备的请求占用了 CPU,会导致音视频的处理请求出现延时。以音频为例,当出现该状况时,CPU 可能无法及时填充音频缓冲区,音频会出现卡顿。所以设备整体的性能,也会影响音视频采集、编解码与播放的延时。
4 V* g, N6 b. `% {! H2 IT2:端与服务器间的延时* K, y: Z9 r( b" F
影响采集端与服务器、服务器与播放端的延时的有以下主几个因素:客户端同服务间的物理距离、客户端和服务器的网络运营商、终端网络的网速、负载和网络类型等。如果服务器就近部署在服务区域、服务器与客户端的网络运营商一致时,影响上下行网络延时的主要因素就是终端网络的负载和网络类型。一般来说,无线网络环境下的传输延时波动较大,传输延时通常在 10~100ms 不定。而有线宽带网络下,同城的传输延时能较稳定的低至 5ms~10ms。但是在国内有很多中小运营商,以及一些交叉的网络环境、跨国传输,那么延时会更高。
$ D: c( q, i0 X) S+ {T3:服务器间的延时# h8 |$ U8 F4 C$ q6 Q
在此我们要要考虑两种情况,第一种,两端都连接着同一个边缘节点,那么作为最优路径,数据直接通过边缘节点进行转发至播放端;第二种,采集端与播放端并不在同一个边缘节点覆盖范围内,那么数据会经由“靠近”采集端的边缘节点传输至主干网络,然后再发送至“靠近”播放端的边缘节点,但这时服务器之间的传输、排队还会产生延时。仅以骨干网络来讲,数据传输从黑龙江到广州大约需要 30ms,从上海到洛杉矶大约需要 110ms~130ms。8 ^* {& p3 c+ T6 _, F. M
在实际情况下,我们为了解决网络不佳、网络抖动,会在采集设备端、服务器、播放端增设缓冲策略。一旦触发缓冲策略就会产生延时。如果卡顿情况多,延时会慢慢积累。要解决卡顿、积累延时,就需要优化整个网络状况。- o% @" [# e5 |) b! [! E
综上所述,由于音视频在采集与播放端上的延时取决于硬件性能、编解码内核的优化,不同设备,表现不同。所以通常市面上常见的“端到端延时”指的是 T2+T3。, J' c& X/ b7 S7 i- g) E. }; z
延时低≠通话质量可靠1 Y5 ^) ~5 I b1 f7 y% f( H+ T
不论是教育、社交、金融,还是其它场景下,大家在开发产品时可能会认为“低延时”一定就是最好的选择。但有时,这种“追求极致”也是陷入误区的表现,低延时不一定意味着通讯质量可靠。由于音频与视频本质上的差异,我们需要分别来讲实时音频、视频的通讯质量与延时之间的关系。
& x4 D& K8 V9 A——音频质量与延时( ?, F3 Q( l6 Z9 k7 A/ U
+ \. R! n: O' m1 h3 g% \' b4 U4 o! G" e$ F; D5 ^5 p- Y
% c2 w! S& `& U9 p3 a
音频采样示意图
/ B2 `6 V+ V2 Z/ P) t& u2 F+ {4 [. b影响实时音频通讯质量的因素包括:音频采样率、码率、延时。音频信息其实就是一段以时间为横轴的正弦波,它是一段连续的信号(如上图)。
( X0 F; T- b5 k( Y( Z码率:它描述了单位时间长度的媒体内容需要空间。码率越高,意味着每个采样的信息量就越大,对这个采样的描述就越精确,音质越好。0 \; z- I9 A$ U, p
假设网络状态稳定不变,那么采样率越高、码率越高,音质就越好,但是相应单个采样信息量就越大,那么传输时间可能会相对更长。
, j8 F2 ^+ c4 `. ~4 f8 t对照我们之前的公式,如果想要达到低延时,那么可以提高网络传输效率,比如提高带宽、网络速度,这在实验室环境下可以轻易实现。但放到生活环境中,弱网、中小运营商等不可控的问题必定会影响网络传输效率,最后结果就是通讯质量没有保障。还有一种方法,就是降低码率,那么会损失音质。* z7 E3 Y: [$ o" [+ I3 e9 E) i9 U* A
——视频质量与延时* t+ c: ]' l8 k3 F! v
影响实时视频质量的因素包括:码率、帧率、分辨率、延时。其中视频的码率与音频码率相似,是指单位时间传输的数据位数。码率越大,画面细节信息越丰富,视频文件体积越大。
- g3 M- _5 s: b) s1 k/ ~9 L$ b% i. p% ~( g( E P" O
2 z6 d Q' a$ y' {, h, [% ^/ k

2 W! ^* I+ v! e# y( b帧:正如大家所知,视频由一帧帧图像组成,如上图所示为 H.264 标准下的视频帧。它以 I 帧、P 帧、B 帧组成的 GOP 分组来表示图像画面(如下图):I 帧是关键帧,带有图像全部信息;P 帧是预测编码帧,表示与当前与前一帧(I 或 P 帧)之间的差别;B 帧是双向预测编码帧,记录本帧与前后帧的差别。
7 ?7 l# ~8 q' t% N+ r: a帧率:它是指每秒钟刷新的图像帧数。它直接影响视频的流畅度,帧率越大,视频越流畅。由于人类眼睛与大脑处理图像信息非常快,当帧率高于 24fps 时,画面看起来是连贯的,但这只是一个起步值。在游戏场景下,帧率小于 30fps 就会让人感到画面不流畅,当提升到 60fps 时会带来更实时的交互感,但超过 75fps 后一般很难让人感到有什么区别了。" h1 ?7 ]6 H2 _3 p* W! ^* G; F
分辨率:是指单位英寸中所包含的像素点数,直接影响图像的清晰度。如果将一张 640 x 480 与 1024 x 768 的视频在同一设备上全屏播放,你会感到清晰度明显不同。; @( D& u) V, k! a' z& I: Q
在分辨率一定的情况下,码率与清晰度成正比关系,码率越高,图像越清晰;码率越低,图像越不清晰。
' r$ v0 @" T& k( n* I在实时视频通话情况下,会出现多种质量问题,比如:与编解码相关的画面糊、不清晰、画面跳跃等现象,因网络传输问题带来的延时、卡顿等。所以解决了低延时,只是解决了实时音频通讯的一小部分问题而已。
9 S7 p" A, \6 i% g7 F" b( \综上来看,如果在网络传输稳定的情况下,想获得越低的延时,就需要在流畅度、视频清晰度、音频质量等方面进行权衡。
1 ~" c# ~: U0 c$ H( T
$ E3 r4 o# _, D+ ^5 D# S* m) G
]! O, p' C0 g7 Q9 _* [. \0 N: ]5 O2 v6 K: a: s1 Q4 I
来源:http://mp.weixin.qq.com/s?src=11×tamp=1558778404&ver=1628&signature=rcNx1By1kwoTdFu2BVJ-F2NXmoBaZS4mAcYEbkxsc1hQBIzgL0Gm0uKPCJk96Nix*C2*bNnsK*KuDMKpETPY078ikxZGC2wwocvSqFr5bKr1pqvXQXH3Bnd1vHXEKNSa&new=1
$ n& ]5 S, w% ~+ B免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|