OpenCV RTSP H264捕获

时间:2013-06-21 13:37:35

标签: opencv video h.264 rtsp

我在Windows 7上使用OpenCV 2.4.5来捕获RTSP流。但是我之间得到了一些损坏的图像。我发现错误是在ffmpeg层中解码。我想丢弃这些损坏的帧。但是我我无法做到这一点,因为opencv Mat :: empty永远不会返回true。 可能是造成这种情况的根本原因,请让我知道相同的解决方案。

以下是参考图片:

2 个答案:

答案 0 :(得分:1)

解决此问题的一个方法是强制RTSP协议使用TCP作为传输。 您可以将?tcp附加到您的网址中,例如rtsp://ip-address:port/xyz?tcp然后将其传递给open方法。

此解决方案对我有用,我尝试过Axis,D-Link,Acti和Panasonic。

答案 1 :(得分:0)

我正在使用2.4.6并且没有这样的帧。然而,已知ffmpeg在解析h264帧时存在问题。查找ffmpeg h264解析器补丁或类似内容。使用补丁构建ffmpeg并在项目中使用它应该可以解决它。