QoS
简介
Quality of Service 服务质量,是网络的一种安全机制, 是用来解决网络延迟和阻塞等问题的一种技术。
当网络过载或拥塞时,QoS 能确保重要业务量不受延迟或丢弃,同时保证网络的高效运行。
ITU将服务质量定义为决定用户对服务的满意程度的一组服务性能指标。从另一角度来说,QoS参数也是流媒体媒体传输的性能指标。
主要的QoS参数有如下几项:传输带宽,传输时延和抖动,丢包率。
传输带宽
网络的两个节点之间特定应用业务流的平均速率,一般来说,带宽越高,就能允许更多的数据传输。
IP网络同时承载多种视频、语音和数据业务,具体包括VOIP、IPTV、即时通信、文件传输、网络游戏、BT、WEB、E-Mail等多种应用模式,不同应用模式的数据流量和突发性也有差别,导致音视频会议业务的带宽不平稳。
传输时延和抖动
时延
例如流媒体传输
- 信息源的媒体采样、压缩编码和打包的时延
- 传输时延
- 接收端的排队和播放缓冲时延
- 接收端的拆包、解码和输出时延
其中媒体相关延时相对固定,网络传输延时主要取决于网络的拓朴复杂性,及网络设备的处理时延等因素,对端到端的整体延时影响较。
抖动
抖动定义为网络传输延时的变化率。时延抖动对流媒体播放质量的影响非常大,一般会采用缓存排队的办法平滑数据报的抖动。但如果数据传输的抖动较大,则必须采用大的缓存,这将直接造成更大的时延,直接影响流媒体的体验效果。
IP网络抖动取决于网络的动态路由,以及网络设备由于拥塞造成的延时等因素
丢包率
UDP缺乏拥塞避免控制算法,会侵占大量的宽带,导致网络过载和高丢包率(丢包率直接影响视频会议的质量)
QoS保障技术
常用的QoS保障技术包括 IP优先级,速率调整,丢包重传(ARQ),前向纠错(FEC),后向纠错(PLC)等,这些QoS策略在一定程度上能控制数据包拥塞,消除传输中产生的差错,提高音视频质量。
-
IP优先级
IP优先级利用IP报文中的优先权部分,对音频、视频和RTCP数据流进行优先级划分。IP报文的包头中有一专用字节,称之为服务类型域“该字节前三个比特位用来定义数据报优先等级”IP优先是描述0-7等8个不同的优先等级。
音视频会议系统中,当网络带宽低于一定标准时,可及时调整包的优先级级别,这样可帮助路由器选择IP包的发送与接收的优先级。一般来说音频包对时间延迟最为敏感,当网络采用IP优先权进行流量匹配时,可通过视频设备发出的修改过IP优先权字段信息的视音频包进行入队列处理,以保证音视频会议码流的优先传送。
-
速率调整
在一些恶劣的网络环境下,如果使用的音视频会议数据传输率引起网络的饱和,从而造成数据包丢失和严重的网络抖动,则不如降低数据传输率,消除数据包丢失和网络抖动,这种情况下降低会议码率将有助于提高视音频的连贯性,获得更好的音频和视频效果。
如果视频设备支持动态速率调整技术,可以使终端和MCU能通过检测网络上有利和不利的因素来自动适应网络的容量和性能,通过动态调整音视频会议的码率,为终端用户提供尽可能好的视频质量。
音视频会议设备的自适应带宽调整功能主要是通过检测数据包丢失率来实现的,如果设备检测到数据包丢失率超过了指定的阀值,将自动降低音视频会议码率,提供一个具有最优视音频效果的会议码率。
-
丢包重传(ARQ)
自动请求重发
当网络拥塞严重时,网络设备(如路由器)会根据缓存大小并配合相关处理机制丢掉一些视频包,音视频会议系统中视频包是采用UDP协议进行传输的,而UDP本身没有重传机制,因此会导致接收端出现图像丢帧或马赛克现象。
支持丢包重传的视频设备可通过添加丢包检测和重传的机制来保证会议图像的连贯性。
ARQ是在网络丢包时自动重传差错的数据包,接收端需要缓冲和排序已收到的数据包,IP网络时延和抖动等因素对重传性能有很大影响,时延大时重传难以满足音视频会议业务实时性的需求。
ARQ重传在小丢包和较低网络延迟的网络情况下能够达到较理想的效果。
-
前向纠错(FEC)
Forward Error Correction。
FEC算法是在发送端发出的音频数据中增加冗余信息,接收端根据冗余信息检测和纠正丢包造成的错误,由于纠错时不需要等待发送端重传丢失的信息,适合解决音视频会议这类实时业务中的网络适应性问题。
FEC算法通过数据异或的方式生成校验包,同时设计播放缓冲区策略来降低延迟,网络上的延迟和抖动,减少丢包的出现。
在采用FEC 编码保证数据传输的可靠性的同时, 应注意选择编码方案的策略。一般来说FEC 编码的冗余度越大其纠错能力也越强, 但冗余度越大, 意味着冗余数据占用的带宽也越大, 带宽利用率越低。
-
后向纠错(PLC)
Packet Loss Concealment,丢包隐藏算法
IP网络中出现音频数据包丢失时会导致语音失真,为了减轻信包丢失对语音感知质量的影响,PLC算法利用丢失信包的前一信包或邻接信包(在后一信包可获得的情况下)预测丢失的数据包,尽可能地恢复出原来的语音信息。
PLC算法多数基于接收端处理,不需要发送端参与。
视频直播时QoS策略
判断当前网络状况
由于丢包和抖动,接收端接收超时触发发送端重传,占用网络带宽,导致发送缓冲区发送失败,缓冲区中数据越来越多,达到上溢。此时应用等待缓冲区达到低于警戒线。根据等待的时间长短可以判断当前网络是否拥堵。
当网络带宽变差时,推流端会迅速地逐级降低视频的帧率、码率、分辨率,以保证推流视频的流畅。而当网络恢复良好时,在确保流畅的前提下,推流端会逐渐提升视频的帧率、码率、分辨率,提升直播视频的清晰度。
策略
对于直播场景,采用qos策略,动态调整编码参数,包括帧率,码率,分辨率,缓冲区。
当直播出现卡顿,采用快降慢升的策略,当网络波动比较厉害,这样可以避免编码参数频繁的来回调整,造成恶性循环。当进行编码参数调整时,一般是根据分辨率把码率,帧率分成几个档次,然后在根据一定时间段内的统计数据,在这几组参数集合之间进行来回切换,确保音视频流畅的同时,尽量提高图像质量。
GOP的长度就是指2个I帧之间的帧数(通常也称为“关键帧间隔”)。GOP 长度越小,直播内容延时越小,GOP 长度越大,直播内容延时越大。GOP 越长,越有利于减少视频码率,降低其所需要消耗的存储和带宽。
弱网优化
- 根据网络状况动态调整视频的帧率、分辨率,使占用的网络带宽更低
- 当网络状况不好时,选择性的丢弃B、P非参考帧(不丢I帧和音频帧)
- 选择更高编码压缩率的编码格式(如H.265)