我计划在OpenCV中使用FFMPEG解码基于H.264的RTSP流,但是,当我尝试这样做时,它给出了一些错误。后来,我发现很多人在使用ffmpeg (libavcodec)解码H.264流时都遇到了问题。使用libavcodec时,通常会弹出以下错误消息:
"[h264 @ 0xa766dd0]隐藏1200dc, 1200ac, 1200mv误差"
是否有人使用任何其他库成功解码H.264基于RTSP。如果是这样,哪个是库(我听说过live555,这是在vlc播放器中用于解码这样的流)。我还想知道输出格式以及如何与OpenCV兼容(通常在OpenCV中,我们可以使用cvQueryFrame直接从视视流中提取帧,但如果我们使用的是ffmpeg以外的库如何去做)。
提前感谢。
问候,Saurabh甘地
VLC使用ffmpeg解码h.264。当你有错误的SPS或PPS时,问题就会发生。您需要将其从RTSP协议中提取出来,并在尝试解码视频之前将其传递给ffmpeg。
解码你的RTSP流,最好的库是FFMPEG和Gstreamer。要解码流,你需要为解码器提供正确的缓冲区,你必须理解你的H.264流,这样你就可以在将SPS, PPS和NAL数据馈送到库解码器