我计划在OpenCV中使用FFMPEG解码基于H.264的RTSP流,但是当我尝试这样做时它会产生一些错误。后来,我发现许多人在使用ffmpeg(libavcodec)解码H.264流时遇到了问题。通常,在使用libavcodec时弹出下面提到的错误消息:
“[h264 @ 0xa766dd0]隐藏1200 DC,1200 AC,1200 MV错误”
是否有人成功使用任何其他库来解码基于H.264的RTSP。如果是这样,哪个是库(我听说过live555,它在vlc播放器中用于解码这样的流)。我也想知道输出格式以及它如何与OpenCV兼容(通常在opencv中我们可以使用cvQueryFrame直接从视频流中提取帧,但是如果我们使用的是ffmpeg以外的库怎么去关于它)。
提前致谢。
此致
Saurabh Gandhi
答案 0 :(得分:0)
VLC使用ffmpeg解码h.264。 如果你有错误的SPS PPS,或者没有,那么问题就会发生。 在尝试解码视频之前,您需要从RTSP协议中提取它并将其传递给ffmpeg。
答案 1 :(得分:0)
要解码您的RTSP流,最好的库是FFMPEG和Gstreamer。 要解码流,您需要使用正确的缓冲区为解码器提供必须了解的H.264流,以便在将其提供给库解码器之前排列SPS,PPS和NAL数据