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

gscam can't find plugin but gstreamer works fine

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

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

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 是从 source 构建的,带有 gstreamer-1.0 标志。 因此,它不是使用 gstreamer-0.10.

的 ROS ppa 的常见应用程序

首先直接解决: 看来你少了一些插件包。 udpsrc is part of gst-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.