尝试通过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,
结果总是带有这些警告:
[segment @ 0x560d0df9d1e0]输出流0:0中的非单调DTS;上一个:33976,当前:7200;更改为33977.这可能会导致输出文件中的时间戳不正确。
我坚持使用这些警告,不知道如何在不重新编码流的情况下将它们删除。确实这会破坏我的时间戳。
答案 0 :(得分:0)
我猜你的相机没有实现RTCP(发件人报告正确)。
RTP是关于媒体流的。 RTSP是建立连接的控制协议。 RTCP是发件人报告。
RTCP从挂钟和RTP时间戳生成正确的时间戳。 我不止一次看到错误的RTCP实现错误。
使用Wireshark验证您的相机是否为您提供了正确的时间戳或在调试器中运行Live555。