Open RentonIssac opened 2 years ago
uint32_t H264Source::GetTimestamp() { / #if defined(linux) || defined(linux__) struct timeval tv = {0}; gettimeofday(&tv, NULL); uint32_t ts = ((tv.tv_sec1000)+((tv.tv_usec+500)/1000))*90; // 90: _clockRate/1000; return ts;
auto time_point = chrono::time_point_cast<chrono::microseconds>(chrono::steady_clock::now()); return (uint32_t)((time_point.time_since_epoch().count() + 500) / 1000 * 90 );
//#endif }
老哥你好 现象:
使用一些流行的开源转发中间件,诸如: ZLMediaKit
使用RtspServer.Push => ZLMediaKit 观看ZLMediaKit转发的RTSP,没问题(相当于Rtsp Proxy) 但如果打开ZLMediaKit转协议出来的HTTP-FLV流,就无法打开视频图像
综合我浅查的资料来看,应该就是时间戳造成的问题。 有2点可以帮助理解:
另外,RTP包的时间戳,好像是相对上一帧时间,而非绝对时间。
because of this https://github.com/PHZ76/RtspServer/issues/74
uint32_t H264Source::GetTimestamp() { / #if defined(linux) || defined(linux__) struct timeval tv = {0}; gettimeofday(&tv, NULL); uint32_t ts = ((tv.tv_sec1000)+((tv.tv_usec+500)/1000))*90; // 90: _clockRate/1000; return ts;
else */
//#endif }
老哥你好 现象:
使用一些流行的开源转发中间件,诸如: ZLMediaKit
使用RtspServer.Push => ZLMediaKit 观看ZLMediaKit转发的RTSP,没问题(相当于Rtsp Proxy) 但如果打开ZLMediaKit转协议出来的HTTP-FLV流,就无法打开视频图像
综合我浅查的资料来看,应该就是时间戳造成的问题。 有2点可以帮助理解:
另外,RTP包的时间戳,好像是相对上一帧时间,而非绝对时间。