关于JRTPLIB的RTCP包问题
发布网友
发布时间:2022-04-21 03:52
我来回答
共3个回答
热心网友
时间:2022-06-17 20:30
楼主,用jrtplib发送数据给谁?我做的是发送数据给rtp包发给VLC,问下楼主是不是VLC也会自动回发rtcp包?
这是我手上的一点资料希望对楼主有用
在一个典型的应用场合下,发送媒体流的应用程序将周期性地产生发送端报告
,该RTCP数据报含有不同媒体流间的同步信息以及已经发送的数据包和字节的
数,接收端根据这些信息可以估计出实际的数据传输速率。另一方面,接收端会
所有已知的发送端发送接收端报告RR,该报告包含有己接收数据包的最大序列
、丢失的数据包数目、延时抖动和时间戳等重要信息,发送端应用根据这些信息
以估计出往返时延,并且可以根据数据包丢失概率和时延抖动情况动态调整发送
率,以改善网络拥塞状况〔26]。
为实现系统基于RTCP的自适应网络传输,首先需要进行网络带宽的动态探测
评估,然后采用合适的调整策略来整合码流。网络状态的评估中,质量因素可以
丢包率、时延等参数。事实上,本文采用简单的做法,只采用某段时间内数据包
失率作为拥塞状态的反馈信息。RTP包头携带了时间戮和序列号,SMAX为接收到
RTP包中的最大序列号,SBASE为RTP包的起始序列号;RTCP(SR)包头中携带了
间戳和到目前为止发送的RTP包的个数。丢包数(Lostt,时刻t之前的丢包数):
Stt=Sendt一Receivet=SMAX一SBASE+l一Receive:,Receive、为t时刻实际接收到的
包的数目,Send,为t时刻己经发送的RTP包的数目,丢包率(LRatek.t,t时刻
k时刻之间发生的丢包率):
LRatek.t=(Lostt一Lostk)/(Sendt一Sendk)(5一1)
接收用户终端不断测量丢包率LRatek.t,并通过RTCP的接收方报告(RR)反馈给
端,实现数据传输服务质量的反馈。发送端通过丢包率与规定的闭值进行比较,
断网络属于哪种状态,以确定发送码率。设置两个闭值Plthreahold和
hreahold,分别表示丢包率下限和上限,它们的值可以根据具体应用要求进行
。设置最大传输速率为uRate,最小传输速率为LRate,线性增量步长为Step,
减小因子为a。反馈控制算法如下:
if(LRatek,t>Puthreahold){//网络拥塞
RateCurrent=max{a*RateCurrent),LRate}:}
elseif(LRatek.,<Plthreahold){//网络空闲
RateCurrent=min{(RateCurrent+Step),URate}:}
e1SeRateCurrent=RateCurrent://网络负载均衡适中
该控制算法调整输出码率RateCurrent使丢包率LRatek.、门限控制在
硕士学位论文
MASTER’5THESIS
reahold和Puthreahold之间。网络空闲时,使用加性增长传输来逐渐适应网
带宽,因为乘性增长容易带来大的源端码流而导致更多的包丢失。网络发生拥塞
,如果缓慢减少速率可能使网络状况在相当长的时间内得不到改善,使用乘性减
码流传输就可以迅速减少码源流量从而避免网络阻塞时间过长造成数据包丢失
重和视频回放质量下降。
设计出算法后,需要知道编码器如何改变输出速率。通常,可以通过改变编码
的量化参数得到。MPEG一4视频编码器是将每个视频的对象独立编码,这种对不同
象的编码,其独立性给自适应速率设计带来了很大的灵活性,我们可以在程序设
时通过控制、修改XviD编码器源码相关函数的参数进行。另外改变输出速率还
以调整摄像头的采样帧率,以使得编码后的码率也随之动态调整,从而适应网络
宽的变化。
顺便再问一下,楼主jrtplib如何接受RTCP包,调用哪个方法?
热心网友
时间:2022-06-17 20:31
重载 OnRTCPCompoundPacket函数 就行了啊,
RTCPPacket *rtcppack;
pack->GotoFirstPacket();
while ((rtcppack = pack->GetNextPacket()) != 0)
{
if (rtcppack->IsKnownFormat())
{
switch (rtcppack->GetPacketType())
{
case RTCPPacket::SR:
{
RTCPSRPacket *p = (RTCPSRPacket *)rtcppack;
uint32_t senderssrc = p->GetSenderSSRC();
``````````````````````````````````````````````
````````````````````````````````````````````````
热心网友
时间:2022-06-17 20:31
太详细了,我不回答都觉得对不起我自己的双手,在百度知道上能见到楼主这样的提问者真是让我深感快乐,以至于我竟然忘了答案。