gscam не может найти плагин, но gstreamer работает нормально - PullRequest
0 голосов
/ 27 августа 2018

Я пытаюсь использовать gscam (http://wiki.ros.org/gscam), скомпилированный с флагом gstreamer 1.0 с камерой, подключенной через Ethernet, к моему ноутбуку под управлением Ubuntu16.04, ROS kinetic и 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 был собран из source с gstreamer-1.0 flags. Таким образом, это не обычное приложение от ROS ppa, которое использует gstreamer-0.10.

1 Ответ

0 голосов
/ 28 августа 2018

Сначала прямое решение : Кажется, вам не хватает некоторых пакетов плагинов. udpsrc является частью 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...