请教rtcp的一些问题
本人做了个简单的流媒体播放器,用的是rtsp协议。以live555为服务器,但是在播放中有些丢包的现象,现如今用rtcp来控制流速率,但是对于rtcp 的有些概念还是有些疑惑 。
1:Fractioin lost (8bit)表示包的丢失率是多少,即丢失的包的数量除以期望的包的数量,
这里丢包的数量是从会话开始计算的么?还是从某个时间内计算?
2:Interarrival jitter 时间抖动
J=J+(|D(i-1,i)|-J)/16 其中 D(i,j)=(Rj-Sj)-(Ri-Si); (Si是包i的RTP时间标志,Ri是包i以RTP时间标志单位的到达时刻值) 这样计算的么 那么 这样写有没有问题?
jitter=(15*jitter+abs(( curtime.sec*90000 - m_RTP_Header.ts)-(m_arrts*90000-m_ts)))/16;) 其中(curtime.sec当前包到本地达时间秒,m_arrts前一个包到达本地时间,m_RTP_Header.ts 表示当前的包从服务器发出的时间,m_ts表示前一个包从服务器发出的时间,时间戳单位都是1/90000)
3:上一SR报文 (LSR):32比特 接收到的来自源SSRC_n的最新RTCP发射机报告(SR)的64位NTP时间标志的中间32位.若还没有接收到SR,该域值为零。
自上一SR的时间(DLSR):32比特 是从收到来自SSRC_n的SR包到发送此接收报告块之间的延时,以1/65536秒为单位.若还未收到来自SSRC_n的SR包,该域值为零.
这里的SR包 是指从live555服务器发送到本地客户端的包,那么这个包是连续的么? 我是不是应该在收到SR包之后 立马发送RR包 ,还是先发送RR包 ,在等待接受SR包 。网上找资料说RR包 是一般每隔5秒钟发送一次 ,不知是不是这样 。