使用Dshow播放从网络接收音视频数据的时戳问题
用udp接收rtp数据,组帧后播放,但是rtp包的时戳会过一段时间重置,使得后面的时戳小于前面的时戳导致视频阻塞,dshow的source filter检测到时戳被重置应该如何处理,才能使音视频正常播放?
[解决办法]
你可以自己重新打时间戳
[解决办法]
一般在source filter都需要打时间戳,就是为音频、视频流找一个共同的时间基点,再rtp包中的时间戳进行累加!
[解决办法]
把rtp的时间戳累加就可以了。比如rtp是1~5循环的话,你累加就是0~5(5+1)(5+2)
[解决办法]
rtp从1000开始。
static int64 startime = 0;
if(startime == 0)
startime = rtpfirsttime;
startime += rtptime;