这是管道:
const CAP_PIPELINE = 'filesrc location=$pipe' +
' ! video/x-h264, stream-format=byte-stream, width=800, height=448, framerate=30/1 ! h264parse ' +
' ! omxh264dec ! videorate drop-only=true ! video/x-raw,framerate=4/1 ! videoconvert ! appsink';
opencv代码基本上是:
VideoCapture cap
cap.open(pipeline)
此代码在Opencv 3.2中运行良好,但在Opencv 3.1中,它在Gstreamer日志中失败并显示此消息:
gstbasetransform.c:1346:gst_base_transform_setcaps:<videorate0> transform
could not transform
video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)800, height=(int)448, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)sRGB, framerate=(fraction)30/1
in anything we support
任何想法在这里是什么问题?
感谢任何建议/帮助伙伴!
答案 0 :(得分:0)
我通过用3.2版本替换“cap_gstreamer.cpp”的源代码来解决我的问题...我假设3.1版本中有一些错误...我做了3.1和3.2的差异并且不能真的告诉bug在哪里......