RTP timestamp与帧率及时钟频率的关系
2016-02-22 17:13
525 查看
转自:http://blog.csdn.net/jasonhwang/article/details/7316128
RTP timestamp是用时钟频率(clock rate)计算而来表示时间的。
RTP timestamp表示每帧的时间,由于一个帧(如I帧)可能被分成多个RTP包,所以多个相同帧的RTP timestamp相等。(可以通过每帧最后一个RTP的marker标志区别帧,但最可靠的方法是查看相同RTP timestamp包为同一帧。)
两帧之间RTP timestamp的增量 = 时钟频率 / 帧率
其中时钟频率可从SDP中获取,如:
m=video 2834 RTP/AVP 96
a=rtpmap:96 H264/90000
其时钟频率为90000(通常视频的时钟频率),若视频帧率为25fps,则相邻帧间RTP timestamp增量值 = 90000/25 = 3600。
另外,通常音频的时钟频率一般为8000。
RTP timestamp与播放时间npt的计算关系可参考《RTSP回放时如何通过RTP的timestamp计算npt时间》(http://blog.csdn.net/jasonhwang/article/details/7316168)。
RTP timestamp是用时钟频率(clock rate)计算而来表示时间的。
RTP timestamp表示每帧的时间,由于一个帧(如I帧)可能被分成多个RTP包,所以多个相同帧的RTP timestamp相等。(可以通过每帧最后一个RTP的marker标志区别帧,但最可靠的方法是查看相同RTP timestamp包为同一帧。)
两帧之间RTP timestamp的增量 = 时钟频率 / 帧率
其中时钟频率可从SDP中获取,如:
m=video 2834 RTP/AVP 96
a=rtpmap:96 H264/90000
其时钟频率为90000(通常视频的时钟频率),若视频帧率为25fps,则相邻帧间RTP timestamp增量值 = 90000/25 = 3600。
另外,通常音频的时钟频率一般为8000。
RTP timestamp与播放时间npt的计算关系可参考《RTSP回放时如何通过RTP的timestamp计算npt时间》(http://blog.csdn.net/jasonhwang/article/details/7316168)。
相关文章推荐
- php emoji表情处理
- php设置cookie,在js中如何获取
- 使用PHP+Sphinx建立高效的站内搜索引擎
- ftp虚拟用户的配置
- php-fpm upstream sent too big header while reading response header from upstream
- PHP调试的强悍利器之PHPDBG
- php中json_decode()和json_encode()的使用方法
- php strcmp()函数
- php 小数整理,向上取整,向下去整,四舍五入,丢弃小数部分,保留整数部分
- Laravel 文档中的 Service Providers
- 解决log4j:WARN Error initializing output writer. log4j:WARN Unsupported encoding?的问题
- php empty()与isset()
- ThinkPHP3.2.3的URL重写时遇到No input file specified的解决方法,htaccess规则问题
- php分享十八七:mysql基础
- 访问php程序无法解析,排查步骤
- 一步步入门编写PHP扩展
- 第六天 ThinkPHP手把手快速拼接网站(六)
- 如何禁用一些php危险函数
- PHPUnit从零开始(2):编写 PHPUnit 测试
- phpexcel使用说明5----ThinkPHP+PHPExcel[导入][导出]实现方法