尝试通过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输出流中的非单调DTS 0:0;上一个: 33976,当前: 7200;更改为33977。这可能会导致输出文件中的时间戳不正确。
我被这些警告卡住了,不知道如何在不重新编码流的情况下摆脱它们。确实,这破坏了我的时间戳。
发布于 2017-08-15 22:46:58
我猜你的摄像头没有实现RTCP (发送者报告正确)。
RTP是关于媒体流的。RTSP是建立连接的控制协议。RTCP是发件人报告。
RTCP根据挂钟和RTP时间戳生成正确的时间戳。我不止一次看到缺少RTCP实现的错误。
使用Wireshark验证您的摄像头是否提供了正确的时间戳,或者在调试器中运行Live555。
https://stackoverflow.com/questions/45691558
复制相似问题