如何获取 rtp timestamp (rtp时间戳)

dyj6822 2008-11-10 01:50:52
服务器发送rtp包过来,客户端负责发送rr包以返回信道参数。
现在在获取抖动延时的时候,需要用到收到rtp包时的rtp timestamp ,请问该如何获取、计算?
我查了许多资料,可是还是没有弄明白。有说是和采样频率有关的,这样的话应该两个相隔的rtp包上面的rtp timestamp相差值应该是固定值,可我用wireshark抓包看,发现服务器发过来的相邻的rtp包的相差值不是固定的。
还有说是和当前ntptime相关的,可是都没有说明具体公式,该如何计算?
恳请高手指点。
...全文
2693 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jianwei824 2008-11-14
  • 打赏
  • 举报
回复
"需要用到收到rtp包时的rtp timestamp " timestamp--时间戳是采样的时候打上去的,是服务器端操作的,你收到的RTP包里都会有这个字段的,想取这个就从header的结构里取就是了,如果是为了发送RR的话,我觉得没有必要做这么多啊,rtcp一般应该不会影响客户端的接收的;
yanghehong 2008-11-12
  • 打赏
  • 举报
回复
你的rtptime是说本地接收到rtp包的时间?(你在使用某个程序库,还是你自己发明的词汇:))

那只要在接收到rtp包的时候记下以秒为单位的系统时间就行啊(计算jitter的时候用到的是差值)。计算jitter的时候 因为要比较(到达的时间差)和(rtp包本身的时间戳的差),所以计时单位要统一,那么只要把接收时间除以时间戳单位,就跟rtp包时间戳一致了。

然后按公式计算。。。:)


- 千里孤行
dyj6822 2008-11-12
  • 打赏
  • 举报
回复
那个算法我有,计算jitter时用到传输时延dtime,而dtime等雨收到rtp包时的rtptime减去rtp包的rtptimestamp(时间戳),我该如何获取当前的rtptime呢。
yanghehong 2008-11-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dyj6822 的回复:]
没人回答啊 ,还在等候高手的指点。
[/Quote]
估计问题点数比较低,大牛们没看见:)
yanghehong 2008-11-10
  • 打赏
  • 举报
回复
[Quote=引用楼主 dyj6822 的帖子:]
有说是和采样频率有关的,这样的话应该两个相隔的rtp包上面的rtp timestamp相差值应该是固定值,[/Quote]

RTP的timestamp是RTP包里头数据得第一个字节的采样时间,显然timestamp相差值不是固定值,不是一个RTP包一次采样啊。

不知道你查了什么资料:) Jitter的计算RFC3550有给出计算方法啊,附录A.8还给出比较详细的实现参考。


- 千里孤行
dyj6822 2008-11-10
  • 打赏
  • 举报
回复
没人回答啊 ,还在等候高手的指点。

2,543

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧