我的视力处理代码有问题。我希望有一个实际的错误能够指出正确的方向,并且我可以与大家分享。但是,本身没有错误。我得到的是视频中的意外副作用。
我有一个IP网络摄像机,该摄像机正在网络上流式传输H.264视频。它设置为以20 fps的速度执行此操作,尽管我尝试将其降低到15 fps。不知道我是否要低于这个水平。
我正在阅读代码中的框架。我现在将其集成的方式是,每当相机有一个新的帧时,我就会收到一个事件,在我的情况下,每秒发生15至20次。
我试图尽快处理该视频帧,但是我正在对其进行一些OpenCV(或更好的EmguCV)处理以及一些对象跟踪。
因为我是对象跟踪,所以我只能忽略或丢弃它们之间的帧,因为按顺序/顺序排列它们很重要。
我的处理时间有所波动,但有时可能会变慢,但只有几帧,例如3到4帧。但是,当我变慢时,我自然会错过帧,这会导致对象跟踪器放弃跟踪,并且视频看起来像是在跳过,这都是我不希望的。
除了查看我是否可以加快处理速度(可能无法执行)以外,什么是最好的处理方式,因此即使我仍在处理或处理慢一点?
我正在寻找并发队列来充当缓冲区,但是我不确定走这条路是否也是正确的方法。
谢谢!