FFmpeg 抓取 RTSP IP 摄像机



试图通过 FFmpeg 正确抓取 IP 摄像机, 海康威视品牌.

这就是FFmpeg发生的事情:

"ffmpeg",
"-rtsp_transport", "tcp",
"-stimeout", "3000000",
"-re",
"-i", stream,
"-vcodec", "copy",
"-acodec", "libfdk_aac",
"-f", "segment",
"-segment_list_type", "m3u8",
"-segment_list", name,
"-segment_list_size", "1",
"-segment_format", "mpegts",
"-segment_time", "5",
segment_filename,

结果始终带有以下警告:

[段@0x560d0df9d1e0] 输出流中的非单调 DTS 0:0;上一个:33976,当前:7200;更改为 33977。这可能会导致输出文件中的时间戳不正确。

我被这些警告困住了,不知道如何在不重新编码流的情况下将它们带走。确实,这破坏了我的时间戳。

我猜你的相机没有实现RTCP(发件人报告正确(。

RTP是关于媒体流的。 RTSP 是设置连接的控制协议。 RTCP 是发件人报告。

RTCP 从挂钟和 RTP 时间戳生成正确的时间戳。 我不止一次看到不正确的缺少RTCP实现。

使用 Wireshark 验证您的相机是否为您提供了正确的时间戳或在调试器中运行 Live555。

最新更新