我正在使用带有RTSP协议的IP摄像机捕获数据,使用ffmpeg并使用命令:
ffmpeg -rtsp_transport tcp -progress /media/kamip/stats.txt -i rtsp://192.168.1.220:554/live/h264/ch0
-c:v copy -c:a copy -strict 1 -map 0 -f segment -strftime 1
-segment_time 1800 /media/kamip/cam_%d_%m_%Y_%H_%M_%S.mkv
我正在将它用于5台相机。一种是不同的类型,它位于不同的位置。 因为ffmpeg不支持重新连接,所以我将状态写入/media/kamip/stats.txt文件。在另一个脚本中,我正在解析此输出,每30秒我检查帧号是否改变,如果是 - 可以,如果没有,我正在重启上面的命令。
问题只出现在夜晚。当天很黑并且突然亮起时,例如当汽车停车时,/ media / kamip / stats.txt显示相同的帧编号,因此我的脚本将此识别为丢失的连接(视频冻结)
我尝试了“-strict 1”选项并且我认为它更好(每天一次误报警而不是每天10次),所以我认为这可能与ffmpeg有关,而不是相机/视频源,特别是因为视频很好甚至ffmpeg报告的帧数仍然是相同的。此外,VLC没有这种问题(但我目前无法将其用于此相机)
我发现ffmpeg有内置场景变化检测器,但它只能在编码视频时使用(我对音频和视频使用“复制”选项)?
我正在考虑分析视频捕捉的不同方式,但ffmpeg中的这个“-progress”应该可以正常工作 - 并且它可以在其他相机上工作好几年。)
我也没有看到任何错误, 当我使用“-loglevel debug”编码一个cutted文件时,我只看到如下信息:
[libx264 @ 0x25d77a0] scene cut at 174 Icost:2049115 Pcost:2006553
ratio:0.0208 bias:0.1387 gop:54 (imb:3186 pmb:168)
ffmpeg in latest version
ffmpeg version 3.3.3-1ubuntu1~16.04.york0 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609
任何帮助将不胜感激