windows ffmpeg:rtsp屏幕抓取中的传输问题/伪影-可能是WiFi问题

xxls0lw8  于 2022-12-05  发布在  Windows
关注(0)|答案(1)|浏览(237)

**简而言之:有没有一种方法可以“迫使”ffmpeg不保存抓取的帧,如果有传输问题?**或任何其他软件,这样做同样的,我只是不知道?

  • 说来话长 *

更新我的房子监控从近10年的老DCS-932 L相机到Tapo C100相机,我改变了图像交付方法从ftp推到rtsp抓取通过ffmpeg。
我用C++编写了一个程序来检查旧相机的“坏”照片,在旧相机中,照片的部分往往只是每分钟左右一次的黑色(我每2秒就抓一张照片)。Tapo C100不具备ftp推送功能,因此我尝试了(尝试了几天后)

ffmpeg.exe -y -i rtsp://user:pass@10.0.0.%ld:554/stream1 -vframes 1 %scamera\rtsp.jpg -loglevel quiet

这工程 * 绝对完美 * 在我的主房子,其中具有一个弗里茨!框7590和一套弗里茨!电力线(510/和两个540 e)中继器,加上一个WiFi中继器弗里茨600)作为我的电话线和路由器在地下室。
然而,在我的度假屋里,它。WiFi是由一个混合DSL/5G盒子管理的,我别无选择,这是一个华为DN 9245 W,作为DHCP服务器工作,因为这几乎是不可能改变的。所有“真实的”的东西都是由另一个Fritz!盒子7590管理的,通过以太网连接,还有另一套Fritz!Powerline 510和两个540 e中继器,以及六个WiFi中继器,主要是Fritz!310、450 E和600。房子部分是用当地的石头建造的,非常铁。还有很多金属化玻璃。全套显示在Image
现在,这确实会产生不同的伪影,大约每分钟两个或每15张图片中有两个,参见Image with artifacts No. 1
考虑到这可能是传输问题,我尝试通过TCP强制streamgrab,因为虽然rtsp没有纠错功能,但TCP有:

ffmpeg.exe -rtsp_transport tcp -i
rtsp://user:pass@10.0.0.%ld:554/stream1 -y -f image2 -update 1 -r
1 -vframes 1 -qscale:v 30 %scamera\rtsp.jpg -loglevel quiet

这并没有改变工件多少,请参见Image with artifacts No. 2
房子里现在一共有12台摄像机,其中6台都由一台从ebay上买来的旧版戴尔Optiplex台式机“管理”,这台台式机大约是2015年使用的i3或i5处理器,负载约为65%。我的软件会检查抓取的图片是否保存完毕(到RAMdisk),重命名它,检查是否有伪像,如果有,则丢弃它,如果没有,则转换为位图,然后将其与先前图像进行比较,猜测是否有变化,用菱形标记变化并对其进行评级,保存为jpeg文件,然后是其他一些与此无关的内容。请参见:Image of my program running with six cameras
我确实试过只抓取关键帧,但是兔子、鹿或小偷在我的房子里跳来跳去都不会产生关键帧,所以结果证明这是没有意义的。
我没办法了。它在主屋里确实能完美地工作。但在度假屋里就不行了。我几乎不能再装中继器了。我已经试过了网眼和非网眼,问题不完全是wifi过载,因为即使只有一个摄像头在运行,它仍然存在。在某些地方。有些没有问题。原因?不知道。我真的希望有人有一个好主意。

4nkexdtk

4nkexdtk1#

我买了几个这样的相机,在我所谓的质量差的wifi网络上工作时,我也遇到了类似的问题,直到我通过应用程序将相机切换到1080P模式。之后,帧似乎很好。
我的相机默认为720P模式加上始终可用的?320P流2。
我的0.02美元。谢谢你的帖子。

相关问题