首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何同时获取两个立体摄像头的图像?

如何同时获取两个立体摄像头的图像?
EN

Stack Overflow用户
提问于 2019-06-25 12:58:48
回答 2查看 391关注 0票数 0

亲爱的

我想使用下面的gstreamer立体声摄像机。

https://www.amazon.com/dp/B07C2NTMRC/

·项目名称: SVPRO 720p高清网络摄像头

·USB端口类型:USB 2.0

·分辨率:1080x720

我同时设置了两个外壳,以便同时从立体相机获得两个图像。

我尝试分别使用下面的代码同时获取每个右侧和左侧的摄像头图像。

代码语言:javascript
复制
###Stereo_Camera_Left###

#!/bin/bash
gst-launch-1.0 -e \
v4l2src device="/dev/video0" \
! decodebin \
! videoscale \
! videorate \
! capsfilter caps="video/x-raw,width=80,height=60,framerate=\(fraction\)2/1" \
! videoconvert \
! autovideosink


###Stereo_Camera_Right###

#!/bin/bash
gst-launch-1.0 -e \
v4l2src device="/dev/video1" \
! decodebin \
! videoscale \
! videorate \
! capsfilter caps="video/x-raw,width=80,height=60,framerate=\(fraction\)2/1" \
! videoconvert \
! autovideosink

但是,以下错误显示在左侧或右侧摄像机上。只能获取一张图片。

代码语言:javascript
复制
libv4l2: error turning on stream: No space left on device
0:00:05.092236993  6216      0x1202940 ERROR         v4l2bufferpool gstv4l2bufferpool.c:635:gst_v4l2_buffer_pool_streamon:<v4l2src0:pool:src> error with STREAMON 28 (No space left on device)
0:00:05.092283101  6216      0x1202940 WARN          v4l2bufferpool gstv4l2bufferpool.c:1054:gst_v4l2_buffer_pool_poll:<v4l2src0> error: poll error 1: No space left on device. (28)
0:00:05.092331654  6216      0x1202940 WARN                 v4l2src gstv4l2src.c:884:gst_v4l2src_create:<v4l2src0> error: Failed to allocate a buffer
0:00:05.092354187  6216      0x1202940 WARN                 basesrc gstbasesrc.c:2948:gst_base_src_loop:<v4l2src0> error: Internal data flow error
0:00:05.092362693  6216      0x1202940 WARN                 basesrc gstbasesrc.c:2948:gst_base_src_loop:<v4l2src0> error: streaming task paused, reason error (-5)
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Could not read from resource
Additional debug info:
gstv4l2bufferpool.c(1054): gst_v4l2_buffer_pool_poll (): /GstPipeline:pipeline

有没有办法同时获得这台立体摄像机的两张图像?

EN

回答 2

Stack Overflow用户

发布于 2019-06-25 17:00:59

这里有两种可能的方式:

1) BASH逻辑。通过末尾的&在后台运行第一个命令,然后启动第二个命令。

代码语言:javascript
复制
gst-launch-1.0 -e v4l2src device="/dev/video0" ! decodebin ! videoscale ! videorate ! capsfilter caps="video/x-raw,width=80,height=60,framerate=\(fraction\)2/1" ! videoconvert ! autovideosink &
gst-launch-1.0 -e v4l2src device="/dev/video1" ! decodebin ! videoscale ! videorate ! capsfilter caps="video/x-raw,width=80,height=60,framerate=\(fraction\)2/1" ! videoconvert ! autovideosink

2)推荐的“更正确”的方法--把所有的逻辑放到一个管道中:

代码语言:javascript
复制
gst-launch-1.0 -e v4l2src device="/dev/video0" ! decodebin ! videoscale ! videorate ! capsfilter caps="video/x-raw,width=80,height=60,framerate=\(fraction\)2/1" ! videoconvert ! autovideosink v4l2src device="/dev/video1" ! decodebin ! videoscale ! videorate ! capsfilter caps="video/x-raw,width=80,height=60,framerate=\(fraction\)2/1" ! videoconvert ! autovideosink
票数 0
EN

Stack Overflow用户

发布于 2020-04-24 08:54:55

我用一个类似的立体相机也有类似的问题-设备上没有留下空间。我试图以640x480的分辨率拍摄视频。降低两个摄像头的捕捉宽度和高度(到320x240)解决了这个问题,我能够从立体摄像头同时获得视频。

我认为这个错误可能是设备USB带宽的限制。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56747082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档