我已经搜索过,我找不到其他人这个错误所以我在这里!
我在python中使用OpenCV 3.1.0和GStreamer 1.0进行视频/图像处理任务。一切都很完美(过去有多个版本的OpenCV以及GStreamer和ffmpeg),但在按预期运行之前会不断出现错误。
错误如下:
GStreamer: Error opening bin: empty pipeline not allowed
GStreamer: Error opening bin: empty pipeline not allowed
由于2次OpenCV调用而发生此错误:
# video_src is a valid .h264 video
# First GStreamer Error
self.cam = cv2.VideoCapture(video_src)
self.operator = BackgroundSubtractor(2000, self.threshold, True)
# Second GStreamer Error
self.operator.model_bg2(video_src)
对于我的生活,我无法理清这个GStreamer错误的原因。我得到这个错误后;但是,OpenCV完全按预期运行,并且没有遇到任何错误。我只在调用cv2.VideoCapture()初始化和BackgroundSubtractor的model_bg2时出错。
欢迎任何想法,建议或问题!
答案 0 :(得分:0)
似乎OpenCv正试图用Gstreamer而不是FFMPEG打开视频文件。可能你从OpenCv构建中遗漏了FFMPEG。您可能希望重新构建OpenCv,确保FFMPEG的所有子组件都在cmake中标记为YES
。
-- FFMPEG: YES
-- codec: YES
-- format: YES
-- util: YES
-- swscale: YES