音视频数据通信中自适应多码流网络传输控制技术研究
2019-10-21刘霁宇
摘 要 要保障音视频数据通信过程中的图像与音频质量,应当基于实际传输宽带变化合理应用自适应多码流网络传输控制技术。本文阐述了音视频数据通信的概念,分析了音视频通信中的网络传输状况,并介绍了自适应多码流的基本内容,以供诸位参考。
关键词 音视频数据通信;自适应多码流;网络传输控制技术
音视频是利用人眼视觉暂留原理,通过播放一系列图片让人眼产生运动的感觉。传统网络传输技术下,音视频数据通信单纯传输视频画面,视频量较大,已经不再适应当前网络数据传输与数据存储。为了使视频便于传输和存储,人们开始深入研究网络传输控制技术,并发现了将重复信息在发送端去掉、在接收端恢复可大大减少视频数据文件规模。由此,诞生了自适应多码流网络传输控制技术。下文主要对此进行分析与论述。
1 音视频数据通信概念
音视频数据通信技术是一种集封裝技术、视频音频压缩编码技术、流媒体协议技术为一体的综合性视频数据技术,主要应用于网络教学、远程视频会议、远程会诊等领域。音视频编辑可行性开源方案包括ffmpeg、MediaCodec、ijkplayer、mp4parser以及Vitamio等,其推送、传输与解析遵循RTMP、HLS、Web RTC协议[1]。
2 音视频数据通信网络状况分析
2.1 网络平均带宽
网络平均带宽又称频宽,指的是固定时间内可传输的数据数量,又指在传输管道中可以传递数据的能力。它反应的是网络数据通信最大承载量,无论是何种类型的通信,都可用点对点通信模型来表示。网络平均带宽表示参数是相对恒定的,也是可以测量的。倘若网络平均带宽对网络数据传输产生了阻碍作用,则需要根据宽带变化对音视频多码流做出有效调整。
2.2 网络噪声
音视频数据通信本身的特点就决定了传播不可能在绝对真空、封闭的环境下进行,必然会在产生网络噪声。网络噪声是不可测量的,也不具有稳定性。在音视频数据通信中,可根据实际噪声构建噪声模型,并充分考虑各种噪声类型,采用盲卷积算法做去噪声处理,处理过后仍旧存在噪声时,选择立即增加缓冲或者是重新发送等方式去除噪声。
3 自适应多码流
3.1 码率转换
自适应码率转换是解决在线音视频播放卡顿的重要解决方法,其工作原理为基于对实际宽带传输变化的估计选择对应码率的码流播放,使当前播放码流与当前的网络状况相适应,从而有效避免卡顿现象的发生。对用户而言,由于音视频是连续播放的,所以几乎感知不到码率切换,只能够看到图像质量的高低变化。
自适应码率转换需要服务器端和客户端同时支持,一方面,服务器端要提供多码率的码流,如HLS就需要服务器端提供master m3u3 playlist,也就是嵌套m3u3 ,而DASH中manifest文件Adaptation Set里面会包含多个Representation,每个Representation对应某一个码率的流的描述。另一方面,播放器要在服务器满足上述条件的基础上,通过宽带估计、切换时机和条件、Buffer数据切换以及无缝切换四个步骤完成自适应码率的切换。宽带估计算法多涉及数学和统计学理论,比如说ExoPlayer算法,每下载一次数据,生成一个Sample,权重weight为每次下载到的数据的Bytes数的平方根,value为每次下载数据的bps。自适应数据切换不需要同时下载两个码率的码流数据,前一个码流的最后一个Chunk下载完成后,如果满足相关切换条件,再去下载新码流的数据,此时数据是串行的,所以播放器自始至终只需要维护一套Data Queue即可。播放器从服务器读回来的音视频ES数据只需在Data Queue后面Add就好,其他Meta data信息由Info Queue管理,在切换到新码流并开始下载之后,sample Meta data会调用attempt Splice尝试拼接,video和audio各自处理。
3.2 自适应流网络传输
(1)DASH媒体内容的生成。自适应多码流网络传输可简称为DASH。简单来说,就是在服务器端提前存好同一个内容的不同码率、不同分辨率的多个分片以及相应的描述文件MPD,客户端在播放时可根据自身性能与具体的网络环境选择最适宜的版本。DASH媒体内容的生成流程为“输入——编码——分片——组织MPD”,以DASHEncoder项目工程为例,此项目可通过读入配置文件或者是命令行来完成DASH媒体内容和MPD文件的生成,并且支持计算PSNR值并存入MYAQL数据库,其实现方法一般为调用MP4 box或者是ffmpeg。
(2)应用fragmented MP4。DASH中,一般推荐使用fragmented MP4(fMP4)格式,它包含一系列segments,而这些segments可以被独立的request,这有利于在不同质量级别的码流之间做码率切换操作。倘若使用regular MP4,要在两个码流之间做码率转换,就需要找到两个码流中对应时间点的byte position。由于mdat box数据庞大,很难找到一个具体的byte position。而且,在regular MP4中,有时MOOV会在巨大的mdat box之后,从而影响播的速度。但使用fMP4就简单得多,fMP4中有一个sidx box,它记录了各个moof加mdat组成的segment的精确byte position,如果要进行码率转换,只需Load一个很小的sidx box即可。另外,fMP4中各个segment的duration可由用户自己指定,从而保证不同码流的各个segment是time aligned且一定start with关键帧。
4 结束语
综上所述,自适应多码流网络传输技术对音视频数据通信发展有重要作用。现阶段,我们应当持续深入研究自适应多码流数据传输技术,充分发挥其功能与作用,使之更好地服务于大数据时代网络技术的发展,并不断对其配套技术进行开发设计与创新,从而提高整体网络技术水平。
参考文献
[1] 张林,全伟,罗信海,等.基于EMR平台设计的综合业务多码流分发传输系统[J].广播电视信息,2018,(11):92-96.
作者简介
刘霁宇(1980-),男,陕西清涧人;学历:本科,工程师,现就职单位:92493部队13分队,研究方向:音视频及通信相关专业的研究。