论文部分内容阅读
摘要:本文提出了一种基于RTCP的码率自适应流媒体传输控制方案及机制。首先利RTCP对网络实时状态进行实时评估,然后根据评估结果,调节流媒体服务器编码码率以达到网络自适应传输。
关键词:流媒体传输 RTCP
随着网络技术和多媒体技术的快速发展,网络多媒体技术得到了日益广泛的应用,流媒体通信在网络多媒体应用中变得越来越普遍,已成为研究热点。流媒体通信服务要求现有网络能够为流媒体信息提供良好的服务质量保证。本文研究了流媒体传输机制,提出了一种流媒体自适应分级传输机制。
一、系统的设计框架与实现
(一)系统的功能
网络自适应传输的目标是保证流媒体系统在不同的网络下都能尽可能地提供良好的服务质量。一方面是当网络情况变好时,能够向上提升服务质量,传输高码率、高质量的视频数据,另一方面是当网络带宽下降时能向下调整,传输低码率、低质量的视频数据。
基本思想是在服务器端完成RTCP的传输控制协议,利用RTCP与数据传输协议RTP对应的控制机制,实现RTCP来获得网络自适应传输所需要的反馈信息。具体讲就是通过对接收者报告包的获取,获得关于网络状况的参数如丢包率、延迟,为自适应调整提供数据支持。传输过程中,当网络延时过高无法满足实时传输的要求时,通过服务器端发送码率调整(丢帧)或降低流媒体采集端图像分辨率来降低网络数据传输量实现自适应传输。(如图1)
(二)RTCP模块的功能与实现
控制协议的处理在添加完成协议的基础上进行时延测量,这涉及到如何利用添加的控制协议来控制和调整网络。具体为对于RTCP控制协议数据包的解析和相关数据的获取以及计算。
(三)评估调整模块的设计与实现
根据从RTSP控制协议中获得的关于网络状况的参数(丢包率、网络时延等),并利用这些参数来评估性能,并调整码率以适应调整网络状态。这里,我们设置能够容忍的最高丢包率为8%,当超过8%时,则说明该编码等级不适合当前网络。
二、自适应传输
RTCP作为服务器端的控制协议,它将周期性地在会话者之间发送相关数据包,在本系统中主要就是RR包和SR包。本系统中的会话为端到端的单方会话,即服务器端发送SR包,其中包含了服务器端发送的RTP数据包的总数、RTP时间戳和NTP时间戳等诸多信息。客户端接收到服务器端的SR包后通过解析信息,重新组包形成RR包,其中包含了丢包率、包处理延迟等服务信息,其计算是在客户端完成。对于服务器端就需要整合RTP包的信息来完成SR包的组装发送,然后接收到来自客户端的RR包并解析,从中获得我们需要的时延数据。(信息的交互如图2所示)
自适应控制模块是要根据发送过程中得到的反馈信息来对当前的网络状况来作一个量化的处理,按照量化的结果来对当前网络状况作一个评价,当确定了当前的网络状态后对输出的速率作一个适当的调整,重新选定一套新的编码参数方案通知编码器,随后,编码器将会按照新的编码参数来调整编码速率以适应当前的网络。根据评估参数的变化,我们将动态地改变编码级别,不用断开网络后再重新进行连接,另外,为了避免过于频繁地探测网络状况,占用网络带宽,每次对网络参数的判断调整都将间隔一小段时间。
三、测试与分析
测试方法是在客户端运行网络监控软件,服务器在改变编码等级时能在终端打印出相应的消息,逐步调整播放器的限制带宽,观察服务器是否有根据网络状况调整编码级别传输不同质量的视频数据,同时从客户端播放器观察视频是否流畅。为了方便观察实验结果,我们选取了级别1和级别2的自适应切换过程。向下调整的测试过程是不断地降低带宽限制,让丢包率不断升高,观察达到8%的丢包率时是否会切换到级别2的编码参数。
带宽限制从200KB/s开始逐步降低,每隔一段时间减少5KB/s。在实验结果中可以看到,当降低到175KB/s的时候,服务器收到反馈消息显示丢包率超过了8%,此时系统立刻切换为低一级别的编码视频,切换后丢包率回升,并基本保持为0。这说明向下自适应与预期结果一致。
向上自适应时,编码级别是试探式增加发送码率的。所以我们在测试时,系统初始设置为等级2的编码,然后分别调整为160KB/s和180KB/s,观察系统是否会提升编码等级。预期结果是当160KB/s时试探会失败,不会调整编码级别,当设置为180KB/s会试探成功,调整为等级1的编码方式。
在向上试探的过程中当设为150KB/s的限制带宽时,随着试探包发送的增加,使得丢包率越来越大,当超过8%时还未达到更高级别的带宽需求所以试探失败;而设置为180KB/s的限制带宽时,发送试探包达到更高一级的带宽需求且此时没有超过8%的最高丢包率,所以成功提高编码级别。
从基本功能的测试上看,本文的流媒体服务器完全达到一般服务器的要求。从性能测试上看,实时流媒体的延时保持在0.1~0.2秒之间,与之前的延时比较得到了有很大的提高,并且具有较好的用户体验。另外。CPU的利用率随着编码级别的提升也有略微的上升,这是由于编码级别提高后,CPU需要处理的数据变大,因此导致了CPU利用率的增加,然而由于服务器去除缓存的优化,各个等级的内存利用率以及延时是变化不大的。
网络自适应测试的过程中,当网络带宽慢慢下降时,服务器端会及时地调整编码级别以适应当前的网络;当网络带宽良好时,服务器会不断地发送试探包来判断当前的带宽是否足以切换到更高一级编码参数。所以当达到更高传输要求时,会有一定的试探时间,之后才切换等级,服务器发送试探包的提升速度会比较快,以保障能够快速地判断当前的带宽情况。
四、总结
本文研究了流媒体网络速率的自适应传输机制。主要是根据流媒体的传输特点,完善了其传输的控制机制,提出基于码率选择的自适应控制方案。当网络延时过高无法满足实时传输的要求时,通过服务器端发送码率调整(丢帧)或降低流媒体采集端图像分辨率来降低网络数据传输量,实现自适应传输,在实际的局域网网络中通过最终实现的结果验证该方案的可行性以及优化效果。
责编:吴瑕
关键词:流媒体传输 RTCP
随着网络技术和多媒体技术的快速发展,网络多媒体技术得到了日益广泛的应用,流媒体通信在网络多媒体应用中变得越来越普遍,已成为研究热点。流媒体通信服务要求现有网络能够为流媒体信息提供良好的服务质量保证。本文研究了流媒体传输机制,提出了一种流媒体自适应分级传输机制。
一、系统的设计框架与实现
(一)系统的功能
网络自适应传输的目标是保证流媒体系统在不同的网络下都能尽可能地提供良好的服务质量。一方面是当网络情况变好时,能够向上提升服务质量,传输高码率、高质量的视频数据,另一方面是当网络带宽下降时能向下调整,传输低码率、低质量的视频数据。
基本思想是在服务器端完成RTCP的传输控制协议,利用RTCP与数据传输协议RTP对应的控制机制,实现RTCP来获得网络自适应传输所需要的反馈信息。具体讲就是通过对接收者报告包的获取,获得关于网络状况的参数如丢包率、延迟,为自适应调整提供数据支持。传输过程中,当网络延时过高无法满足实时传输的要求时,通过服务器端发送码率调整(丢帧)或降低流媒体采集端图像分辨率来降低网络数据传输量实现自适应传输。(如图1)
(二)RTCP模块的功能与实现
控制协议的处理在添加完成协议的基础上进行时延测量,这涉及到如何利用添加的控制协议来控制和调整网络。具体为对于RTCP控制协议数据包的解析和相关数据的获取以及计算。
(三)评估调整模块的设计与实现
根据从RTSP控制协议中获得的关于网络状况的参数(丢包率、网络时延等),并利用这些参数来评估性能,并调整码率以适应调整网络状态。这里,我们设置能够容忍的最高丢包率为8%,当超过8%时,则说明该编码等级不适合当前网络。
二、自适应传输
RTCP作为服务器端的控制协议,它将周期性地在会话者之间发送相关数据包,在本系统中主要就是RR包和SR包。本系统中的会话为端到端的单方会话,即服务器端发送SR包,其中包含了服务器端发送的RTP数据包的总数、RTP时间戳和NTP时间戳等诸多信息。客户端接收到服务器端的SR包后通过解析信息,重新组包形成RR包,其中包含了丢包率、包处理延迟等服务信息,其计算是在客户端完成。对于服务器端就需要整合RTP包的信息来完成SR包的组装发送,然后接收到来自客户端的RR包并解析,从中获得我们需要的时延数据。(信息的交互如图2所示)
自适应控制模块是要根据发送过程中得到的反馈信息来对当前的网络状况来作一个量化的处理,按照量化的结果来对当前网络状况作一个评价,当确定了当前的网络状态后对输出的速率作一个适当的调整,重新选定一套新的编码参数方案通知编码器,随后,编码器将会按照新的编码参数来调整编码速率以适应当前的网络。根据评估参数的变化,我们将动态地改变编码级别,不用断开网络后再重新进行连接,另外,为了避免过于频繁地探测网络状况,占用网络带宽,每次对网络参数的判断调整都将间隔一小段时间。
三、测试与分析
测试方法是在客户端运行网络监控软件,服务器在改变编码等级时能在终端打印出相应的消息,逐步调整播放器的限制带宽,观察服务器是否有根据网络状况调整编码级别传输不同质量的视频数据,同时从客户端播放器观察视频是否流畅。为了方便观察实验结果,我们选取了级别1和级别2的自适应切换过程。向下调整的测试过程是不断地降低带宽限制,让丢包率不断升高,观察达到8%的丢包率时是否会切换到级别2的编码参数。
带宽限制从200KB/s开始逐步降低,每隔一段时间减少5KB/s。在实验结果中可以看到,当降低到175KB/s的时候,服务器收到反馈消息显示丢包率超过了8%,此时系统立刻切换为低一级别的编码视频,切换后丢包率回升,并基本保持为0。这说明向下自适应与预期结果一致。
向上自适应时,编码级别是试探式增加发送码率的。所以我们在测试时,系统初始设置为等级2的编码,然后分别调整为160KB/s和180KB/s,观察系统是否会提升编码等级。预期结果是当160KB/s时试探会失败,不会调整编码级别,当设置为180KB/s会试探成功,调整为等级1的编码方式。
在向上试探的过程中当设为150KB/s的限制带宽时,随着试探包发送的增加,使得丢包率越来越大,当超过8%时还未达到更高级别的带宽需求所以试探失败;而设置为180KB/s的限制带宽时,发送试探包达到更高一级的带宽需求且此时没有超过8%的最高丢包率,所以成功提高编码级别。
从基本功能的测试上看,本文的流媒体服务器完全达到一般服务器的要求。从性能测试上看,实时流媒体的延时保持在0.1~0.2秒之间,与之前的延时比较得到了有很大的提高,并且具有较好的用户体验。另外。CPU的利用率随着编码级别的提升也有略微的上升,这是由于编码级别提高后,CPU需要处理的数据变大,因此导致了CPU利用率的增加,然而由于服务器去除缓存的优化,各个等级的内存利用率以及延时是变化不大的。
网络自适应测试的过程中,当网络带宽慢慢下降时,服务器端会及时地调整编码级别以适应当前的网络;当网络带宽良好时,服务器会不断地发送试探包来判断当前的带宽是否足以切换到更高一级编码参数。所以当达到更高传输要求时,会有一定的试探时间,之后才切换等级,服务器发送试探包的提升速度会比较快,以保障能够快速地判断当前的带宽情况。
四、总结
本文研究了流媒体网络速率的自适应传输机制。主要是根据流媒体的传输特点,完善了其传输的控制机制,提出基于码率选择的自适应控制方案。当网络延时过高无法满足实时传输的要求时,通过服务器端发送码率调整(丢帧)或降低流媒体采集端图像分辨率来降低网络数据传输量,实现自适应传输,在实际的局域网网络中通过最终实现的结果验证该方案的可行性以及优化效果。
责编:吴瑕