Internet环境下视频互动直播的性能优化研究

2019-04-18 03:18杨炳华李丽娜
云南开放大学学报 2019年1期
关键词:音视频架构传输

杨炳华,李丽娜

(云南开放大学 信息技术与资源建设中心,云南 昆明650500)

互联网技术的进步,推动了网络视频行业的蓬勃发展,2016年以来,视频直播应用系统呈井喷式增长,被广泛应用到娱乐、教育、体育等各行各业。由于视频互动直播具有更好的交互性和参与感,受到各行业广大用户的欢迎,市场潜力巨大。但是,受Internet网络传输和音视频技术的限制,视频互动直播应用过程中难以避免延时、卡顿等现象,严重影响用户体验,制约视频互动行业的发展。本文总结当下互动直播技术的现状,分析Internet环境下对视频互动直播进行性能优化的方法。

一、视频互动直播技术现状

(一)视频互动直播的传输架构

视频互动直播的典型传输架构主要有点对点传输和多点集中转发两种,如图1所示。

在点对点的传输架构中,服务器端与用户端之间只传输控制和会话信息,流媒体信息直接在用户端之间进行点对点传输。该架构的优点是避免了大量音视频信息通过服务器中转,实现用户间直接转发,减少网络延迟。缺点是:第一,参与互动直播的用户必须有公网IP,以实现用户间通信,或者系统支持通过NAT 穿透技术[1]实现用户间端对端的直接通信,但这种穿透技术受网络防火墙隔离等的影响较大,WebRTC[2]就是一种通过NAT穿透技术实现点对点通信的应用技术;第二,不适用于大规模用户数的场景,仅适用于一对一或少量用户之间互动的场景,例如一对一远程培训教学;第三,服务器端无法对音视频内容进行审查、录制。

多点集中转发架构是在传统单向直播架构基础上,使部分直播观众用户具有主播的音视频发布能力,变成多主播架构。所有主播用户的流媒体信息统一推送至服务端后,由服务端进行混流、二次编码,再分发至各个用户。其优点是集中可控,适用于多用户交互的场景,同时在互动直播的基础上可进行大面积单向直播,让更多用户以观众的身份参与进来。其缺点是对服务器端的运算能力、处理能力、网络带宽要求较高,音视频的中间传输和混流产生较大延迟。

就目前技术而言,任何一种架构,最主要的瓶颈在于节点之间的网络条件。

(二)直播的主要业务流

互动直播的业务流包括管理业务流、应用业务流和流媒体业务流。管理和应用的业务流是软件的设计逻辑,目前不存在技术问题和难度。本文重点分析的是音视频流媒体的业务流。

图1 视频互动直播的两种传输架构

不管采用哪种架构,互动直播都是以直播为基础的。使普通直播系统中的观众也具备主播的能力,在接收流媒体信息的同时将本端音视频信息发送出去,使互动用户既是内容提供者(信号源),又是内容消费者(播放)。因此,视频互动直播的主要业务流与视频直播相同,如图2所示,信号源端依次完成对流媒体信息采集、前端处理、编码和推流,播放端进行拉流、解码并播放。

点对点传输架构与多点集中转发架构的流媒体业务流区别在于:在点对点传输架构中,音视频流媒体不经过服务器,因此其推流、拉流的对象是平行的客户端,在流媒体处理方面没有图2中“6.服务端处理”环节;而在多点集中转发架构中,所有主播用户的推流目标都是服务器端,所有观众(包括互动观众)的拉流对象也是服务器端,流媒体信息均由服务器端统一处理和分发。

在整个流媒体业务流中,每个环节的处理能力、稳定性、速率都与最终整体性能直接挂钩,每个环节都是造成延迟、卡顿、花屏等现象的源头。随着技术的发展,终端设备在流媒体采集、编解码处理等方面的效率越来越高,所产生的延迟近可忽略。对视频互动直播性能影响最大的是推流和拉流环节,即网络传输环节。

(三)存在的主要问题

图2 直播主要业务流

目前的网络信息技术水平已经能够轻易满足各种单向视频直播需求,但却难以保障视频互动直播的应用效果。一方面是网络传输环节的问题,另一方面,主要是业务需求不同的原因。

一方面,单向视频直播由于没有交互,延时对用户体验并不敏感,几秒、几十秒的延迟对于观众而言是透明的,或者说是无法察觉的。而互动直播的场景中,对首开时间、延迟、卡顿等都有很高的要求,参与互动各方的音视频延时必须极低才能保障正常交互。所谓“极低”延时,从正常交互角度看,保障3秒以内,但应尽量小于1秒,越低越好。

另一方面,与局域网环境不同,Internet最大的问题在于网络质量不稳定、不可靠。虽然当下有线网络、移动互联网得到飞速发展,5G技术已经开始进入商用,但相对而言,它仍是“复杂”、“不可靠”的网络。在此环境下,要确保极低延时、连续的流媒体传输仍然是较大挑战。

因此,视频互动直播面临的主要问题是如何在当下的Internet环境下,对延时和稳定性进行优化,以满足应用的需求。

二、视频互动直播性能优化措施

结合视频直播流媒体业务流各环节,根据对相关技术进行研究和实验,发现可从编解码技术、编码参数调优等措施进行优化,提升传输效率、降低网络延迟,以提高视频互动直播的性能。

(一)编解码技术优化

目前使用最广泛的编解码技术是H.264/AVC,是国际标准化组织(ISO)和国际电信联盟(ITU)共同提出的继MPEG4 之后的数字视频压缩格式,较H.263 等先前的诸多标准而言,在编码效率、网络适应能力等方面有较大提升。H.265是ITU-T VCEG 继H.264之后制定的新一代视频编码标准,通过混合编码框架等一系列技术,对码流、编码质量、延时和复杂度等各方面取得进一步提升。在同等质量情况下,H.265 比H.264 平均节省约30%-50%的码率[3],同为1080P、25FPS的视频,H.264编码码率为2-3Mb/s,而H.265仅为1Mb/s[4],意味着可在更低的传输带宽下传输更高质量的流媒体信息。

可见,升级编解码技术可以极大节约视频存储和传输的成本,传输数据量的下降可以降低延时并提高整体稳定性,用户也可在同等网络条件下选择更好的视频质量。目前,H.265在视频直播领域仍未被大量使用,但业内的主流产品都已经支持,且普及率正在不断上升。

(二)编码参数调优

选用了H.265 或先进的编解码技术,只是性能优化的第一步,要使之真正发挥作用,必须进行专业调优。画质级别、码率、帧率、GOP、码控方式是编码器最重要的五个参数,直接影响音视频传输质量和效果。

H.265 通过不同的Profile 档次、Level 水平和Tier等级来衡量画质。以最大水平6.2Level为例,支持最大图像尺寸值为35651584,该值意味着画面的最大概分辨率为8192*4320,最大比特率可达240Mbps[5]。显然,这种级别并不适用于网络直播。码率、帧率等参数值也存在类似问题。

GOP 全称为Group of Picture,可理解为两个视频I 帧之间的间隔,是影响直播系统性能比较关键的参数。理论上,GOP 越长,则关键帧的间隔越长,数据压缩效果就越好,意味着网络传输的开销变小,但对应的,用户首次进入显示画面前的等待时间(首开时间)也越长,因为播放器只有拿到一个关键帧才能显示第一个完整画面;而且,如果中途有异常数据帧出现时,会导致更长一段时间内画面不清晰。因此,直播尤其是互动直播中不建议GOP设置太长,当然GOP太小,对于网络传输的压力也更大。

上述参数的调优,并没有一个固定值用于视频互动直播,参数的调优是个系统工程,需要根据实际应用场景、网络环境等设置最佳参数值。

(三)动态编码策略

Internet环境最大的问题是网络不稳定,网络抖动明显。网络抖动对于视频直播是致命的,会引起画面卡顿和累积延迟。网络抖动不可避免的,因此只能通过软件层面优化,以降低对用户体验的影响,具体措施包括动态调整推流编码和消除累积延迟。

动态调整推流编码是指程序动态检测网络状态,根据上行带宽等指标的状态自动调整码率、帧率、分辨率等参数。当带宽不够或网络质量弱时,采取音频优先、降低码率等措施,尽力而为的让用户参与互动;当网络条件恢复时,根据策略自动恢复到较高推送质量,在保障流畅的前提下尽力而为的提供更佳画质和效果。

累积延迟是指当出现视频卡顿和延迟后,随时间推移,延迟现象不断累加,实时视频被缓存到内存中。例如:最初只有0.5秒延迟,当出现多次抖动或卡顿现象后,延迟会逐渐累积到2秒或3秒,最终导致无法正常进行交互。当出现这种现象时,程序应能够检测到并采取相应措施,例如强制清空缓存,以达到消除累积延迟的效果。

(四)改造并使用UDP协议

目前主流的Internet 视频传输协议是RTMP和HTTP,二者均基于TCP协议。TCP被设计为能在不可靠的Internet环境中提供可靠的传输服务,理论上它更适用于Internet环境,但在视频互动直播中则并非如此。TCP 协议为了提供可靠的传输服务,本身被设计得比较复杂,使得数据包的延时较大,无法满足视频互动直播的实时需求。

相对的,UDP 协议具有较高的传输效率,延时较小,但直接应用到Internet环境的视频互动直播场景中,由于其不可靠特性,也无法满足流媒体信息流畅通信需求。目前业内已有多种针对UDP 的优化方案,例如:RUDP(Reliable UDP)模型,在传输层和应用层之间新增了一个RUDP 层,通过封装可靠传输协议头,实现UDP 的可靠传输[6],既保障了数据的可靠性,又保留了UDP传输的高效性;另一个方案是Google 公司制定的QUIC 协议(Quick UDP Internet Connection),是一种基于UDP 的低时延互联网传输协议,根据研究,QUIC 拉流比TCP拉流卡顿率降低57.1%[7]。

从另一个角度看,绝对“可靠的传输”也并不100%适用视频互动直播服务。TCP、RUDP 等都是通过错误重传、丢包重传策略确保数据包的可靠性,而“重传”也是产生延时的主要原因之一。对于实时性要求较高的视频互动信息而言,当完成一次数据包重传,可能它已经“过期”了,用户没有必要看到1 秒甚至2 秒前的这小部分信息。因此,UDP 协议优化,一方面是要提高它的可靠性,另一方面应当优化系统的抗丢包能力,容许适当的丢包,避免重传。

(五)喷泉码技术

除网络层容许适当丢包外,应用“喷泉码”技术,可实现在少量丢包的情况下不影响数据本身的完整性。喷泉码最早由Michael Luby 等人于1998年提出[8],其主要思想是:发送方把原始数据切割为N 个数据包,对切割后的N 个输入包进行编码生成任意数量的编码符号,接收端只要接收到任意M 个编码符号(M略大于N),即可较高概率地成功恢复出原始数据[9]。

通过应用喷泉码技术,结合UDP协议,可将网络传输的效率和实时性最大化,是降低延时最有效的措施之一。

(六)CDN分发优化

CDN (Content Delivery Network,内容分发网络)在视频直播应用中效果非常出色,是解决大用户量点播压力的核心技术之一。但在互动直播场景中,传统CDN效果并不理想,反而会由于CDN节点的分发机制增加传输延时。

视频互动直播场景中,CDN 的应用需分情况选择和设计。点对点架构中,用户端的直接通信是其传输优势,一般而言不宜使用CDN进行分发。但是,在多点集中转发架构中,当用户数量较大的情况下,CDN 仍然是必须的关键技术,通过对CDN 传输协议、内容缓存机制、节点选择等的优化,一方面可降低中间网络传输的开销,另一方面可满足超大用户量访问的需求。以声网公司的SD-RTN(Software Defined Real-time Network)[10]技术为例,基于SDN 发展的underlay 网络中转加速技术,以UDP 协议为主,通过软件定义优化路由,智能计算最优路径,自动避免网络拥塞,提供毫秒级网络延迟的端到端传输服务。

(七)业务方面的优化

除上述技术的优化,应根据实际互动直播场景,对业务进行针对性优化。

一是设计和选择正确的直播模式。例如一对一或较少用户进行在线培训场景,可优先考虑点对点模式,使用WebRTC 技术实现高效互动。如果互动人员较多,则应选用多点部署模式。

二是尽量减少瞬间互动用户数。与现实世界中教室、会场等场景类似,如果同时有多个人同时发言、说话,现场秩序反而变得杂乱,互动直播中的“互动”也是同样的道理,且一个用户也不可能同一时刻与十余甚至上百人进行音视频互动。因此,系统应控制同一时刻的互动用户数,使大部分用户作为观众进行观看即可,不仅能够提高互动的效果,还能减少系统压力。

三是丰富“互动”的形式。互动的形式并不需要局限于视频的互动,可同时提供文字、弹幕、音频(连麦)等互动方式,以上互动方式技术成熟、实现难度低、稳定性高,交互效果也有其特色。

三、结语

就目前而言,实施视频互动直播仍然充满挑战的,风险较高,归根到底是网络条件的限制,而性能优化工作又不是单一技术手段能实现。本文所述的几种手段,对于Internet环境下视频互动直播有一定优化能力。

在实际应用中,有些优化措施还需综合考虑其它的因素。例如:H.265 标准在编码效率上非常优秀,但其计算开销比H.264 大10~20倍,需要更强大的硬件支撑,因此,需要结合用户的实际硬件环境。另外,H.265 由于专利收费过高的原因,导致推出多年来一直陷入叫好不叫座的窘境,难以全面推广。

从行业整体发展来看,期望围绕互联网的各项技术,例如5G、IPv6加快发展和部署,为视频互动直播提供更好的基础支持;同时H.265、QUIC等技术能早日普及。

猜你喜欢
音视频架构传输
基于FPGA的RNN硬件加速架构
Microchip推出首款车载以太网音视频桥接(AVB)全集成解决方案
混合型随机微分方程的传输不等式
功能架构在电子电气架构开发中的应用和实践
牵引8K超高清传输时代 FIBBR Pure38K
基于云服务的图书馆IT架构
3KB深圳市一禾音视频科技有限公司
关于无线电力传输的探究
WIFI音视频信号传输的关键问题探究
WebGIS架构下的地理信息系统构建研究