C 无法在OpenCV中集成JPEG管道
C++ Cannot integrate JPEG pipeline in OpenCV
我已经透过opencv和gstreamer上的大量线程,根本无法将问题解析为错误。我正在尝试在OpenCV中打开GSTREAMER管道。我已经与GSTREAMER建立了OpenCV,它在CMAKE步骤中说是的,这表明OpenCV成功地构建了。检索流的命令从命令行正常工作,但是它只是显示一个帧并挂在OpenCV中。
我的服务器语法:
gst-launch-1.0 v4l2src device="/dev/video0" ! video/x-raw,format=I420,width=640,height=480,framerate=15/1 ! jpegenc ! rtpjpegpay ! udpsink host=<IP Address> port=5000
opencv中的我的语法(c ):
Mat frame;
//create video capture from video camera
VideoCapture cap("udpsrc port=5000 ! application/x-rtp,encoding-
name=JPEG,payload=26 ! rtpjpegdepay ! jpegdec ! autovideosink ! appsink");
cap.set(CV_CAP_PROP_FRAME_WIDTH, 640);
cap.set(CV_CAP_PROP_FRAME_HEIGHT, 480);
for(;;)
{
cap >> frame;
char c = (char)waitKey(1);
//![display]
imshow(window_name, frame);
frame.release();
}
错误:
GSTREAMER插件:嵌入式视频播放停止;模块 autovideosink0-Actual-sink-xvimage报告了:输出窗口已关闭 OPENCV错误:未指定的错误(GSTREAMER:无法启动管道) 在ICVStartPipeline中,文件 /home/dev/downloads/opencv/opencv-3.0.0/modules/videoio/src/cap_gstreamer.cpp, 第383行终止,抛出一个实例 'cv :: exception'什么():/home/home/dev/downloads/opencv/opencv- 3.0.0/模块/videoio/src/cap_gstreamer.cpp:383:错误:(--2)GSTREAMER:无法在函数ICVStartPipeline中启动管道
请提供我至少有20个堆栈帖子的任何帮助,而当我刚开始时,我在OpenCV中启用Gstreamer时,我不会更接近。我什至尝试了不同版本的OpenCV。
谢谢
videocapture cap(" udpsrc port = 5000!application/x-rtp,endoding-name = jpeg,pareload = 26!rtpjpegdepay!jpegdec!
今天,在浏览GStreamer文档的更多内容之后,我解决了这个问题。VideoConvert的添加解决了问题。根据GSTREAMER文档,VideoConvert会自动将数据转换为AppSink的适当格式。这允许在OpenCV videocapture中正确读取它。
- 将公共但非静态的成员函数与ALGLIB集成
- 将IBM Rhapsody模型集成到VS 2019中
- 从R调用C++函数并对其进行集成时出错
- Gstreamer:每 5 秒使用多文件墨水保存图像/jpeg
- 如何集成 HID USB 控制器?
- 在VS2019项目中集成ImageMagick:x64-windows-static library
- 将Qt集成到现有的VS项目中以取代WinAPI
- 将 Crashpad 与 Windows Qt 应用程序集成
- Python3.6 模板中的 CGAL C++ 集成错误
- 基本 Cuda C++项目集成问题
- 将 FFMPEG 帧写入 png/jpeg 文件
- 如何使用 jpeglib.h 获取文件是否为 JPEG 类型
- 如何使用CMake将QtMultimedia组件集成到项目中?
- 将 BGR 图像转换为 jpeg 格式的 base64 字符串
- 在 Mac OS 中将 QT 与 CMAKE 集成
- 使用 GSL 库制作样条曲线并使用它们进行集成
- 在集成终端上运行vscode lldb调试器时,如何获取程序的输出?
- 将Emscripten集成到Clion中
- VIsual Studio:避免控制台弹出,而是将其集成到IDE中
- C 无法在OpenCV中集成JPEG管道