You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RTCP发送者报告中NTP时间戳不正确的问题排查

问题分析与解决

你基于亚马逊Kinesis视频流的GStreamer示例代码上传IP摄像头RTSP流时,遇到的NTP时间偏差问题,是GStreamer的rtspsrc元素默认行为导致的。

问题根源

rtspsrc默认启用了NTP同步功能,它会自动将摄像头发送的原始RTCP发送者报告(SR)中的NTP时间戳,替换为基于本地时钟计算的时间值,而非保留设备发送的原始数据,这就是你看到回调中NTP时间和Wireshark抓包结果不一致的原因。

解决方法

在示例代码中找到创建rtspsrc元素的位置,添加ntp-sync=false属性,禁用本地NTP同步:

// 找到rtspsrc元素创建的代码段,添加属性设置
GstElement *rtspsrc = gst_element_factory_make("rtspsrc", "rtsp-source");
// 禁用NTP同步,保留原始RTCP NTP时间
g_object_set(G_OBJECT(rtspsrc), "ntp-sync", FALSE, NULL);

同时确认你的RTCP回调函数中,ntptime参数是有效的guint64*指针,确保正确接收返回值。

设置完成后,通过gst_rtcp_packet_sr_get_sender_info获取的NTP时间就会和Wireshark抓包的原始值一致。


内容的提问来源于stack exchange,提问作者John Bantle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 15:45:21