7000预算电脑配置置,预算1000块 求个HTPC主机配置单 要新的 能玩LOL 不卡 的!

利用RTP和RTCP协议动态发送数据包抓取嘚方法

    实时传输协议(RTP)广泛应用于在IP网络中实时或者近似实时数据的发送伴随该协议的是协议名为实时传输控制协议(RTCP)的协议,用于监视发送在前向发送方向或作为一个从接收方返回发送方的反馈,收集统计信息和发送控制数据

    RTP通常通过两个准则限制反馈量:第一,为RTCP分配的RTP会话带宽有一个确定百分比(建议为5%)所有接收方分享这个带宽,并从这个值中计算时间间隔在这个间隔中它们发送反馈;第二准則是发送两个反馈的时间间隔必须至少有5秒钟(5秒钟作为建议值)。

    对于大型多点传输组群这些准则将使RTP稳定和可用,它对于单点或小型多點传输来说不是最佳的在这些群组中,每个使用者得益于更多反馈并将被发送问题已经被认同并且一个新的RTP协议被标准化。根据新协議在发送两个反馈之间的间隔必须是至少5秒钟的准则被省略,这样接收方依靠会话参数能发送更多反馈不能超过分配RTCP会话带宽的准则仍然有效。

    如上述讨论分配给RTCP的用于发送控制数据的RTP带宽的百分比通常固定到一个建议值5%,然而一个目前标准化的方案是改变这个百分比为其它值,比特速率也可以被设置为零使RTCP反馈关闭

    另外在网络链路参数中,如一无线链路上的包丢失速率随时间有很大的改变洇此,对于确定的时间间隔来说设置RTP带宽可能会工作很好,但是在此之后发送地性能和效果,将随链路条件的变化而恶化

    本发明目嘚是提供一种利用RTP和RTCP协议并且可增加发送效率的发送数据包抓取的方法。

    这个目的通过如权利要求1的方法来达到本方法的最佳实施例相應于各个从属权利要求。

    本发明基于如下考虑一个特定媒体会话的具体环境,对RTCP带宽来说允许更大的灵活性由于每个会话的控制数据(control data per se)鈈会增加媒体流的质量,故必须最佳化用于媒体数据包抓取的发送的RTP带宽而不需使用一个用于控制数据发送的固定数。另一方面媒体數据包抓取的发送需要确定数量的控制数据被发送。根据传统分配一个固定RTP带宽百分比的方案RTCP带宽或者由于在两个连续RTCP包之间的最小间隔为5秒钟,因而太低或者又超过需要

    例如,在一个单点媒体会话中分配给RTCP的5%的RTP会话带宽导致在一个用于控制数据包抓取的发送时间間隔只有几毫秒。结果分配的带宽被浪费,并且特别对于带宽是宝贵资源的链路如无线链路,发送效率大大降低了另一方面,尤其昰无线链路需要一个快速反馈,如使编解码器适应变化的链路条件和发送媒体数据包抓取所需的到发送者的信号

    本发明的方法集中在測量一个用于单独媒体会话的网络链路的相关特征并从这个测量值中计算最佳RTCP带宽的想法上。然后计算带宽用于控制数据包抓取的发送洏媒体数据包抓取通过使用剩余的有效带宽发送。这样获得对于媒体数据包抓取发送具有最高效率的最佳化带宽分配,并且RTCP带宽的分配茬一种充分方式中以合适的速率提供控制数据因此,对于各自不同的链路不同最佳带宽分配使能够获得最高效率发送。

    进一步地通過连续测量网络链路的相关特征,发送信道的状态和它的环境可以被确定并且RTCP带宽相应的发生动态改变,这样发送系统可以在控制数據的数量和链路发送效率之间取一个最佳折衷连续地实现操作。

    根据一个较佳实施例测量相关网络链路特征的步骤包括测量每个时间间隔中所发送的数据包抓取的数量。

    根据一个进一步较佳实施例为了确定链路的质量,测量在确定的时间间隔中丢失的数据包抓取数与发送的数据包抓取数之比

    作为进一步更好的实施例,将对数据包抓取从一服务器发送到一客户端、并返回服务器所花费的时间的测量、作為用于网络链路往返时间的测量进一步最好是在确定拥塞状态下测量网络链路特征。

    最好是为了允许系统以一个最佳RTCP带宽连续运行,所有不相关特征的测量以有规律的间隔周期性的展开有利地,最佳RTCP带宽作为一个反馈信号指示从一客户发送到一服务器上

    最好是,本發明方法进一步包括计算在两个连续控制数据包抓取的发送之间的最佳反馈间隔的步骤。

    图1显示了一个作为一个序列步骤说明本发明较恏实施例的流程图

    接下来,本发明将参考图1作详细描述图1显示了一个作为一个序列步骤说明本发明较好实施例的流程图。

    如图1显示茬一个媒体会话的开始,必须确定网络链路相关特征的测量结果是否存在如果仍没有样值可用,在步骤100作出假定和猜测

    在步骤101,应用程序(application)必须选择哪种反馈是必须的新的RTP协议通常不限定一个确定的反馈类型。常规状态的报告负的或正的确认可以作为例子提供。

    常规狀态的报告通常被用于发送方评估网络条件和随后来修改发送参数示例可能是拥塞控制算法,需要被通知网络数据包抓取丢失率典型哋在每个返回时间中至少通知一次。

    负确认(NACK)在发送被用于方调用误差恢复特征这可能意味着重新发送或改变编码参数,例如以使新的数據独立于丢失的数据可用

    正确认(ACK)被典型地用于提高编码或发送的效率,如果发送方了解接收数据它可以用这个作为下个数据编码的参栲。

    作为上述描述的事件既可以独立也可以以任意组合形式被采用。反馈也可以以独立或组合形式被采用一个典型例子是关于被测量嘚数据包抓取丢失率的常规反馈,它是发送方的拥塞控制算法和用于所有丢失数据包抓取请求丢失数据重传的负确认所需的

    图1中下一步驟102请求测量所需的输入参数,该参数用于最佳RTCP带宽百分比的计算因为网络链路特征随时间发生变化,这些测量值必须周期性的重复所莋的测量依赖于反馈的类型。可以获得用于上述各种反馈类型的最优化RTCP带宽的通常测量包括(没有穷举)如:

    包速率是每个时间间隔发送的數据包抓取数,这个参数可以在现有技术中获得但是,也可能是可变的示例可以是一个服务器根据随着时间变化的网络拥塞状态调整發送包速率。客户通过计算每个时间间隔的数据包抓取数来测量包速率由于从服务器到客户的发送路径上可能有数据包抓取丢失,测量徝应该周期重复并且应该采用一些测量值的平均值一种典型处理的方法是采用流动平均(running average),也就是计算:

    这里pr_new是指新的平均包速率pr_old指最後的平均包速率,pr_m是当前测试的包速率的抽样w是确定在平均过程中新测量值的影响的加权因子。

    数据包抓取丢失速率定义为在一个确定時间间隔中丢失数据包抓取数除以发送的数据包抓取数因为数据包抓取丢失速率随着时间经常有大的变化,如:依赖于链路条件故为測量而选择的时间间隔对于一个正确的抽样是至关紧要的。典型值是每一往返时间或多个往返时间一次

    往返时间定义为一个数据包抓取從服务器到客户并返回服务器所花费的时间。这个值随着时间也有很大变动并依赖于网络状态、如拥塞和其它情况。典型地往返时间的測量同样基于所描述的用于包速率的流动平均算法

    如前面所述,如果媒体会话还没有开始但是要被建立,则仍然没有可用的测量值所以,必须对值作出假定典型地,这些值能被估计为正确的等级次序

    作为下一步骤103,执行在两个反馈发送之间的间隔的计算反馈间隔依赖上述的测量值,同时依赖于反馈的类型如果需要常规反馈,如每个往返时间(RTT)一次则最大的反馈间隔可以很容易的被估算为RTT,如果要报告确定事件如数据包抓取接收或数据包抓取丢失,则必须计算在这些事件之间的平均间隔在ACK的情况下,这就是数据包抓取中间嘚到达时间是1/包速率;在NACK的情况下,它是数据包抓取中间到达时间除以平均数据包抓取丢失速率

    RTCP协议保证在间隔期间内的短时期的变囮可以得到补偿,只要长期间平均中间事件时间非常稳定

    为了正确计算所需的RTCP带宽(步骤104),最好知道反馈数据包抓取的大小对于大多数應用,数据包抓取大小在会话期间是固定的它也可能是可变的,如在丢失事件的情况下在一个反馈数据包抓取里可能要报告不只一个丟失事件。因此应该采用反馈数据包抓取大小的平均值。

    在下一步骤106中将新计算的带宽百分比与先前各个值相比较,如果比较显示一個很大不同则新带宽百分比如步骤107显示的那样,以信号的形式发送给发送方

    新RTCP带宽百分比值的信号指示可以与一些开销相联系。它可能需要结束现存的会话和随后开始一个新的具有新的RTCP带宽百分比的会话然而切换中发生的变化可以尽可能的好。

    必须去考虑确定是否信号发送新带宽百分比值。如果与先前值没有出现很大不同就不值得付出努力。反馈路径是非确定状态这意味着用于事件的反馈无论洳何没有得到保证。仅仅增加了及时发送反馈的可能性概率因此要权衡利弊是否信号发送新的值。

    在确定改变此百分比和利用现存的信囹协议的情况下需要下述做法:

    如果没有完成会话建立,则带宽百分比随着会话描述协议SDP被信号发送如果一个会话已经建立,则必须通过发送一个RTCP BYE消息来结束会话并建立一个新的会话,其中RTCP带宽被SDP信号发送其它信号发送计算的RTCP带宽百分比的可能性是存在的。

    在步骤101-107巳经完成之后它们被周期地重复。通过执行这些步骤一个最佳带宽百分比值在整个会话中被连续使用。变化的信道环境状态通过对RTCP带寬百分比的有规律的测量修正和动态的变化得以补偿,而对于RTCP带宽的静态调整在会话开始时计算的百分比是基于猜测值和已知参数,洏不是测量值在后面情况中,RTCP带宽在会话期间没有变化导致不正确的值和低性能。这些缺点被相应于在会话进行期间的变化而动态的噺计算得以补偿

最近做了一个rtsp的小型视频服务器用UDP进行发送的时候可以在VLC上看到完整的视频,但是通过TCP进行发送的时候只能看到一幅图像然后过十几秒钟VLC就自动断掉了,抓包可以看箌数据已经成功发送两种发送方式的RTP包的打包方式和内容都是一样的,不同的地方主要是rtsp会话交互发送的信息还有通过TCP方式发送的RTP包前媔再加四个字节的头加四个字节头以及数据发送的代码如下:


}希望高手帮忙找一下问题,不胜感激啊

如何将socket接收到的rtp流进行解码显示打错字啦 


我要回帖

更多关于 7000预算电脑配置 的文章

 

随机推荐