这里主要关注的rtp包的时间戳,在rtsp中,播放器的1S钟的定义是和媒体的采样率有关的。

例如视频的采样率是90K,那么最小时间粒度(单位)是1/90000秒,再转换成ms就是 1/90毫秒,这个就是rtsp中的最小时间单位。

所以设备端采集的视频的时间要经过一个转换,标准的播放器才能播放

还是以90K的视频为例,设备采集到的单位是按时间tv_sec,tv_usec存储。

/* timestamp convert
    t(rtsp时间戳,单位ms) =  t(采集时间戳,单位秒)*90000
    */
    unsigned int tv_sec, tv_usec, pts;
    tv_sec = ts / 1000;
    tv_usec = (ts % 1000) * 1000;
    pts = tv_sec * 90000 + tv_usec *9 / 100;

对应的如果是8K采样率的音频,则转化公式是:

/* timestamp convert
    t(rtsp时间戳,单位ms) =  t(采集时间戳,单位秒)*8000
    */
    tv_sec = ts / 1000;
    tv_usec = (ts % 1000) * 1000;
    pts = tv_sec * 8000 + tv_usec *8/1000;

转载于:https://www.cnblogs.com/mic-chen/p/9141743.html

关于rtsp的时间戳问题相关推荐

  1. 【视频】视频传输协议:RTSP、RTP、RTCP、RTMP、HTTP

    一.RTSP.RTP.RTCP RTSP.RTP.RTCP是一组协议,其中RTSP在应用层.RTP和RTCP在传输层.RTP用于传输流媒体数据,而RTCP对RTP进行控制.同步. 二.RTSP.RTM ...

  2. [转] web无插件播放RTSP摄像机方案,拒绝插件,拥抱H5!

    需求 问题:有没有flash播放RTSP的播放器?H5能不能支持RTSP播放?  答案:没见过,以后估计也不会有:  问题:可以自己做浏览器插件播放RTSP吗?  答案:可以的,chrome做ppap ...

  3. 网络流媒体协议 RTSP协议

    ​RTSP(Real-Time Stream Protocol)协议是一个基于文本的多媒体播放控制协议,属于应用层.RTSP以客户端方式工作,对流媒体提供播放.暂停.后退.前进等操作.该标准由IETF ...

  4. iOS流媒体直播整个框架介绍(HLS、RTSP)

    iOS流媒体直播整个框架介绍(HLS.RTSP) 目录技术文章2016年7月17日 一.HTTP(WebService) 基于HTTP的渐进下载Progressive Download流媒体播放仅是在 ...

  5. RTSP协议-中文定义

    转自:http://blog.csdn.net/arau_sh/article/details/2982914 E-mail:bryanj@163.com 译者: Bryan.Wong(王晶,宁夏固原 ...

  6. ffmpeg rtp时间戳

    ffmpeg rtp时间戳 ffmpeg  c  一.介绍 在ffmpeg中,每帧都会存在一个pts用来表示该帧图像在视频流中的位置.而在多路流(比如视频.音频)时,往往需要进行多媒体的同步,使得画面 ...

  7. 通过live555实现H264 RTSP直播(Windows版)

    为何标明"Windows版",因为firehood大神已经实现了linux版:通过live555实现H264 RTSP直播 相关文章: [1]Win7(Windows 7)下用VS ...

  8. rtsp 分辨率信息_SDP在RTSP、国标GB28181、WebRTC中的实践

    ​问题背景: 无论你是用微信进行视频电话还是开Zoom视频会议,按照OSI网络七层参考模型,我们进行这些活动之前一般都要先建立一组会话.在建立会话的过程中,我们需要描述下会话的一些信息,描述这种会话能 ...

  9. rtp rtcp rtsp

    RTP协议 Ver.(2 bits)是目前协定的版本号码,目前版号是 2. P(1 bit)如果该位被设置,则在该packet末尾包含了额外的附加信息,附加信息的最后一个字节表示额外附加信息的长度(包 ...

最新文章

  1. 聊聊数据库优化的4大手段
  2. 电脑常见故障排除方法
  3. HDU 3788 ZOJ问题
  4. 【计蒜客习题】消除字符串
  5. python变量设置为true_如果为true,则从现在起在Python中忽略变量
  6. 如何判断web应用是否添加到主屏幕
  7. crontab每小时运行一次(转)
  8. 俄罗斯方块代码 java_俄罗斯方块java代码-java编写俄罗斯方块代码详解分享
  9. python 传输视频_如何用python实现网络实时视频传输
  10. windows服务获取登录用户名
  11. IDEA查看历史记录
  12. JavaEE-01-温故(集合、泛型、io、多线程)知新(junit、内省、路径问题)
  13. openwrt编译教程(第一章)
  14. 天地三才阵——【Java三大特征】
  15. 2021年12月13日面试题网络知识基础
  16. springboot结合redis解决重复提交问题的实际应用
  17. 20220929 今天的世界发生了什么
  18. 详解联想bios怎么进入u盘启动
  19. js台阶算法问题(上台阶模拟器)
  20. “福鼎一杯”:“一杯严选”与“茶人的栖息地”——见茶卸甲 | AiHi资讯

热门文章

  1. SpringBoot (七) :SpringBoot 整合dubbo
  2. photoshop小结
  3. 聚类和EM算法——K均值聚类
  4. 8086汇编语言精华笔记总结~
  5. Minkowski坐标管理
  6. NVIDIA GPU卷积网络的自动调谐
  7. ADAS可行驶区域道路积水反光区域的识别算法
  8. 2021年大数据Flink(四十一):​​​​​​​Flink实现订单自动好评
  9. python 把2个列表或者2个元组转成字典
  10. Java之Spring mvc详解(非原创)