gscam找不到插件,但gstreamer可以正常工作

时间:2018-08-27 14:35:31

标签: gstreamer ros

我正在尝试使用通过gstreamer 1.0标志编译的gscam(http://wiki.ros.org/gscam),并将摄像机通过以太网连接到运行Ubuntu16.04,ROS dynamic和gstreamer 1.0的笔记本电脑。

我能够使用以下命令正确启动gstreamer并查看stram窗口:

gst-launch-1.0 udpsrc caps="application/x-rtp,media=video,clock-rate=90000,encoding-name=H264, payload=96" port=5002 ! rtph264depay  ! video/x-h264,framerate=24/1,width=640,height=480 ! queue ! avdec_h264 ! videoconvert ! autovideosink sync=FALSE

但按照gscam的指示运行命令:

export GSCAM_CONFIG="udpsrc caps="application/x-rtp,media=video,clock-rate=90000,encoding-name=H264,payload=96" port=5002 ! rtph264depay  ! video/x-h264,framerate=24/1,width=640,height=480 ! decodebin ! videoconvert"

然后:

rosrun gscam gscam

我得到了错误:

[FATAL] [1533651268.132080791]: no element "udpsrc"
[FATAL] [1533651268.132104353]: Failed to initialize gscam stream!

使用以下方法安装gscam时都会发生这种情况:

sudo apt-get install ros-kinetic-gscam

并使用catkin从源代码进行编译

有人可以帮助我吗?

更新: 至关重要的缺失信息是gscam是由具有gstreamer-1.0标志的source构建的。 因此,使用gstreamer-0.10的ROS ppa并不是常见的应用。

1 个答案:

答案 0 :(得分:0)

首先是直接解决方案:似乎您缺少某些插件包。 udpsrcgst-plugins-good-plugins-0.10的一部分,您可以按照以下步骤在Ubuntu 16.04下安装(带有必需的基本插件):

sudo apt-get install gstreamer0.10-plugins-base gstreamer0.10-plugins-base-apps gstreamer0.10-plugins-good

第二,有关gstreamer的一些信息gscam确实依赖于gstreamer-0.10而不是gstreamer-1.0,它们是完全分离的版本。 您可以通过输入

来查看
$ apt-cache depends ros-kinetic-gscam
...
libgstreamer0.10-0
...

使用gstreamer-1.0来详细说明配置字符串时,必须小心,然后尝试在gstreamer-0.10中使用它们。 它可能并不总是有效,因此请尝试直接使用gstreamer-0.10