RTP中时间戳的作用
来源:互联网 发布:sql union all 去重 编辑:程序博客网 时间:2024/06/16 22:26
1、调整语序
时间戳字段是RTP首部中说明数据包时间的同步信息,是数据能以正确的时间顺序恢复的关键。时间戳的值给出了分组中数据的第一个字节的采样 时间(Sampling Instant),要求发送方时间戳的时钟是连续、单调增长的,即使在没有数据输入或发送数据时也是如此。在静默时,发送方不必发送数据,保持时间戳的增 长,在接收端,由于接收到的数据分组的序号没有丢失,就知道没有发生数据丢失,而且只要比较前后分组的时间戳的差异,就可以确定输出的时间间隔。
RTP规定一次会话的初始时间戳必须随机选择,但协议没有规定时间戳的单位,也没有规定该值的精确解释,而是由负载类型来确定时钟的颗粒,这样 各种应用类型可以根据需要选择合适的输出计时精度。
在RTP传输音频数据时,一般选定逻辑时间戳速率与采样速率相同,但是在传输视频数据时,必须使时间戳速率大于每帧的一个滴答。如果数据是 在同一时刻采样的,协议标准还允许多个分组具有相同的时间戳值。
2、控制媒体数据发送速度
由于RTP协议没有规定RTP分组的长度和发送数据的速度,因而需要根据具体情况调整服务器端发送媒体数据的速度。对来自设备的实时数据可 以采取等时间间隔访问设备缓冲区,在有新数据输入时发送数据的方式,时间戳的设置相对容易。对已经录制好的本地硬盘上的媒体文件,以H.263格式的文件 为例,由于文件本身不包含帧率信息,所以需要知道录制时的帧率或者设置一个初始值,在发送数据的时候找出发送数据中的帧数目,根据帧率和预置值来计算时 延,以适当的速度发送数据并设置时间戳信息。
3、调整多种流同步
RTCP的一个关键作用就是能让接收方同步多个RTP流,例如:当音频与视频一起传输的时候,由于编码的不同,RTP使用两个流分别进行传输,这样两个流 的时间戳以不同的速率运行,接收方必须同步两个流,以保证声音与影像的一致。为能进行流同步,RTCP要求发送方给每个传送一个唯一的标识数据源的规范名 (Canonical Name),尽管由一个数据源发出的不同的流具有不同的同步源标识(SSRC),但具有相同的规范名,这样接收方就知道哪些流是有关联的。而发送方报告报 文所包含的信息可被接收方用于协调两个流中的时间戳值。发送方报告中含有一个以网络时间协议NTP(Network Time Protocol)格式表示的绝对时间值,接着RTCP报告中给出一个RTP时间戳值,产生该值的时钟就是产生RTP分组中的TimeStamp字段的那 个时钟。由于发送方发出的所有流和发送方报告都使用同一个绝对时钟,接收方就可以比较来自同一数据源的两个流的绝对时间,从而确定如何将一个流中的时间戳 值映射为另一个流中的时间戳值。
- RTP中时间戳的作用
- RTP中时间戳的作用
- RTP中时间戳的作用
- RTP 时间戳的作用
- RTP时间戳的作用
- RTP 的时间戳
- RTP的时间戳
- RTP 时间戳的处理
- rtp的时间戳详解
- live555里的rtp时间戳算法
- 十二 h264 rtp包的时间戳
- RTP音视频同步中NTP的作用
- RTP时间戳
- RTP时间戳
- RTP时间戳
- RTP时间戳相关
- RTP时间戳
- RTP 时间戳
- [Binder.1] 浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路
- 提取文件列表&转成wav文件&用classify分出speech和silence和nonspeech
- 【JQUERY】ASPX多服务器控件下使用Jquery.validate.js
- HDU2276 Kiki & Little Kiki 2 矩阵应用
- [Binder.2] 浅谈Android系统进程间通信(IPC)机制Binder中的Server和Client获得Service Manager接口之路
- RTP中时间戳的作用
- 服务器配置
- [Binder.3] Android系统进程间通信(IPC)机制Binder中的Server启动过程源代码分析
- 实时传输协议RTP
- [Binder.4] Android系统进程间通信(IPC)机制Binder中的Client获得Server远程接口过程源代码分析
- 源码包
- Lamp环境
- 关于QT 中 QDialog的几点,exec show
- Linux下SPI驱动分析