理解RTP timestamp

来源:互联网 发布:表单大师能做多少数据? 编辑:程序博客网 时间:2024/05/18 13:25

 时间戳(Timestamp)

    在RTP中反映RTP数据信息包中第一个字节的采样时刻(时间)。接收端可以利用这个时间戳来去除由网络引起的信息包的抖动,并且在接收端为播放提供同步功能。
时间戳字段是RTP首部中说明数据包时间的同步信息,是数据能以正确的时间顺序恢复的关键。时间戳的值给出了分组中数据的第一个字节的采样时间(Sampling Instant),要求发送方时间戳的时钟是连续、单调增长的,即使在没有数据输入或发送数据时也是如此。在静默时,发送方不必发送数据,保持时间戳的增长,在接收端,由于接收到的数据分组的序号没有丢失,就知道没有发生数据丢失,而且只要比较前后分组的时间戳的差异,就可以确定输出的时间间隔这里怎么理解?)。RTP规定一次会话的初始时间戳必须随机选择,但协议没有规定时间戳的单位,也没有规定该值的精确解释,而是由负载类型来确定时钟的颗粒,这样各种应用类型可以根据需要选择合适的输出计时精度。

 

理解:关于这段文字,我的理解是,在发送端,如果发送者暂时无法取得需要发送的数据流,也要将时间戳不断的增长,但是不发送数据,直到有数据流可以发送的时候。

我现在在做一个rtp存储转发的服务器,有一个问题是,服务器需要同时与两个rtp终端进行通信,如果rtp终端发送的数据流不连续,或者网络延时的问题造成流的不稳定性,在转发到另一个rtp终端的过程中,就会遇到无法获取到rtp流的情况,从而无法发送数据,在这种情况下,服务器应该将发送时戳继续增加,还是保持不变,等待可以获取到rtp流?

原创粉丝点击