RTP视频传输播放延时(时间戳)
2017-07-28 13:55
302 查看
http://blog.csdn.net/ljz9425/article/details/7627949
开发板OK6410+视频采集+wifi+VLC
视频传输采用RTP,实时传输视频,服务器端使用vlc播放,刚开始有3秒延时,播放时间越长延时越长,5分钟后竟达到10秒以后,分析代码,可能是时间戳造成,原时间代码部分:
timestamp_increse+=(unsigned int)(90000.0 / framerate); //framerate为帧率
网络上有人提出时间戳改为如下:
struct timeval tv;
gettimeofday(&tv , NULL);
timestamp_increse += (uint)((2.0*90000*tv.tv_usec + 1000000.0)/2000000);
但问题依旧
经测试时间戳采用设备时间,VLC播放基本正常,播放1小时后延时基本为3秒,代码如下:
struct timeval tv;
gettimeofday(&tv , NULL);
timestamp_increse = (uint)(90000.0 / (1000.0 / ((tv.tv_sec - tv_pre.tv_sec) * 1000.0 + (tv.tv_usec - tv_pre.tv_usec) / 1000.0)));
memcpy(&tv_pre, &tv, sizeof(tv_pre));
希望对遇到此问题的朋友有所帮助!
顶
0
踩
0
上一篇RTP
时间戳的处理
下一篇QT
ListView 记录
相关文章推荐
开发板OK6410+视频采集+wifi+VLC
视频传输采用RTP,实时传输视频,服务器端使用vlc播放,刚开始有3秒延时,播放时间越长延时越长,5分钟后竟达到10秒以后,分析代码,可能是时间戳造成,原时间代码部分:
timestamp_increse+=(unsigned int)(90000.0 / framerate); //framerate为帧率
网络上有人提出时间戳改为如下:
struct timeval tv;
gettimeofday(&tv , NULL);
timestamp_increse += (uint)((2.0*90000*tv.tv_usec + 1000000.0)/2000000);
但问题依旧
经测试时间戳采用设备时间,VLC播放基本正常,播放1小时后延时基本为3秒,代码如下:
struct timeval tv;
gettimeofday(&tv , NULL);
timestamp_increse = (uint)(90000.0 / (1000.0 / ((tv.tv_sec - tv_pre.tv_sec) * 1000.0 + (tv.tv_usec - tv_pre.tv_usec) / 1000.0)));
memcpy(&tv_pre, &tv, sizeof(tv_pre));
希望对遇到此问题的朋友有所帮助!
顶
0
踩
0
上一篇RTP
时间戳的处理
下一篇QT
ListView 记录
相关文章推荐
相关文章推荐
- RTP视频传输播放延时(时间戳)
- RTP视频传输播放延时(时间戳)
- RTP视频传输播放延时(时间戳)
- RTP视频传输播放延时(时间戳)
- 基于itop4412在Linux最小系统下的 RTP传输H264视频VLC播放
- 使用Java RTP传输声音和视频的程序(绝对经典)
- H264实时编码及NALU,RTP传输----按照RFC3984协议实现H264视频流媒体
- 实现RTP协议的H.264视频传输系统
- H5 video 标签 播放事件 视频加载完成事件 获取视频播放进度时间
- RTP 视频传输
- RTP/RTCP视频数据传输
- 嵌入式 RTP通话:视频流(H.264)的传输
- 开源视频播放器IjkPlayer使用记录之(三)--播放视频从上次播放的时间点播放。
- C++获取flv视频文件的播放时间
- 基于RTP协议的H.264视频传输系统:原理
- 转:使用Java RTP传输声音和视频的程序(绝对经典)
- 实现RTP协议的H.264视频传输系统
- JSP中的几个实用函数(时间判断/IP获取/累计次数/视频播放等)
- 使用FEC改善UDP(RTP)音视频传输效果
- 利用jrtplib传输RTP中的负载类型和时间戳