基于Java的实时流媒体传输自适应调节方法和实现
2014-02-17王新宁李扬
王新宁 李扬
摘要:文章介绍了RTP、RTCP等网络传输协议。对网络视频传输的各种控制方式进行了阐述,分析了影响制约视频传输的主要因素,丢包率、延时和延时抖动是对流媒体传输质量的主要评价指标。通过研究,引进了一种自适应视频码率调节方式,本方法对传统的视频传输控制方法AIMD(Additive Increase Multiplicative Decrease,和式增加,积式减少)方式进行了改进,减少了由于AIMD调节过程中产生的视频的剧烈抖动,保证了视频传输过程的稳定性和连续性。并且在客户端采用了双缓冲技术,可以降低视频传输的抖动影响,减少了视频传输中画面的停顿和闪动,保证了视频播放的流畅性,提高了用户体验。最后运用Java语言的JMF(Java Media Framework)技术,对上述方法进行了编程实现,实现了在Java下的视频自适应传输,通过实际测试,此方案在画质和丢包率方面得到了明显的改善。
关键词:RTP;Java;视频传输;QoS;自适应
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2014)02-0365-04
TCP和UDP是当今网络传输中最流行的协议。TCP是一种面向连接的协议,提供了一套网络拥塞控制算法,可根据网络情况按照相应的算法重传数据包;UDP是一种面向无连接的用户数据报协议,传输效率高,实时性好,但是不能保证数据包可靠和有序地被接受。为了保障视频传输地实时性和可靠性,该文采用RTP、RTCP作为传输控制协议。此协议是专为流媒体传输而设定,能够提供端到端的QoS保障[1],在此传输协议中,RTP只负责传输数据,RTCP为顺序传送数据包提供可靠的传输机制,并对网络流量和阻塞进行控制。RTP协议只规定了通过RTCP报文监测通信质量,而没有规定如何根据监测结果提高传输质量的措施,这也留给上层应用来完成。RTP和RTCP配合使用,它们能以有效的反馈和最小的开销使传输效率最佳化,因而特别适合传送网上的实时数据。
本方案采用Java作为编程语言,Java是一种跨平台的语言,具有安全性高、网络编程方便等优点[2],本方案采用JMF(Java Media Framework)作为开发环境,JMF技术提供了先进的媒体处理能力,包括媒体捕获、压缩、流转、回放,以及对各种主要媒体形式和编码的支持,该文采用Java实现,可以将代码进行移植,方便手机终端监控软件的开发。
1 自适应流媒体传输的研究情况
流媒体传输主要的要求在于传输的实时性、连续性以及平稳性。相对于控制命令等其他对准确性要求极高的业务,流媒体传输可以容忍一定的丢包和误码。在流媒体的自适应传输控制中,文献[3]采用加增乘减(AIMD)的方法控制传输的码流,在此算法中加增量和乘因数采用固定值,不能根据网络状况自适应调节;文献[4]提出使用低通滤波器来平滑丢包率,并且根据上次网络的传输状况来调整传输速率,视频的稳定性得到了提高;文献[5]提出了一种自适应的码率控制方法,可根据当前和预测网络状况计算加增量和乘因数;文献[6]和[7]对AIMD进行了改进,有效的降低了码率的延时抖动;文献[8]采用PID对传输速率进行控制,实现了较低的丢包率,但反馈系统复杂。
2 本文采用的方法
本文的实现方法框图如图1所示。
5 总结
该文实现了在视频流的自适应传输控制,在局域网测试下,实现了低丢包率,保证了画质的流畅,视频的传输还涉及到视频编解码、p2p等技术,由于篇幅所限,在此不在详述。总之,该文所提供的方法在移动视频传输中(特别是Android平台下)具有较高的使用价值。
参考文献:
[1] Papadimitriou P,V. TSAOUSSIDIS.A rate control scheme for adaptive video streaming over the internet[Z].2007:616-621.
[2] 陆颖瑜,林海,张永林.基于Java与JMF的视频监控系统[J].计算机工程与设计,2007,28(11):2740-2761.
[3] Casetti C J. Martin M C D. Meo A. BARBERIS.A simulation study of adaptive voice communications on ip networks[J].Computer Communications,2001,24(9):757-767.
[4] Peng Ling,Li Shao-wen.An improved algorithm of RTP adaptive transmission control[C],2009 Third International Conference on Genetic and Evolutionary Computing,2009:595-599.
[5] D. SISALEM.End-to-end quality of service control using adaptive applications[C],In IFIP Fifth International Workshop on Quality of Service,1997:546-554.
[6] 程万翔,张轶博,雷振明.一种改进的RTP自适应算法[J].高技术通讯,2002,12(8):9-12.
[7] 蒋建国,苏兆品,李援,等.RTP_RTCP自适应流量控制算法_蒋建国[J].电子学报,2006,34(9):1659-1662.
[8] Tolga Ayav URAS TOS.Adaptive RTP Rate Control Method[C],2011 35th IEEE Annual Computer Software and Applications Conference Workshops,7-12.