Gst- python установлен, но не может найти плагины - PullRequest
2 голосов
/ 27 января 2020

Я пытаюсь запустить несколько примеров Gstreamer для USB-ускорителя Google Coral - я не использую плату Coral dev. Драйвер установлен и работает, и я могу классифицировать изображения с камеры, используя OpenCV и библиотеку edgetpu. Я бы хотел запустить демоверсию веб-сервера. Я ограничился тем, что Gstreamer не смог найти плагин, который предоставляет Coral.

Плагины из этого репозитория (который также содержит демонстрационный код edgetpu_detect_server и edgetpu_detect: https://coral.googlesource.com/edgetpuvision/+/refs/heads/master/plugins/

Есть три плагина, которые предоставляет Coral:

linaro@linaro-alip:~$ ls /home/linaro/edgetpuvision/plugins/
glbox.py  glsvgoverlaysink.py  glsvgoverlaysrc.py

Ошибка, которую я получаю при попытке запустить, например, сервер обнаружения:

(edgetpu_detect:28764): dbind-WARNING **: 11:38:56.589: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
v4l2src device=/dev/video0 ! video/x-raw,format=YUYV,width=640,height=512,framerate=30/1 ! glupload ! tee name=t
t. ! queue ! glsvgoverlaysink name=glsink
t. ! queue max-size-buffers=1 leaky=downstream ! glfilterbin filter=glbox ! video/x-raw,format=RGB,width=300,height=300 ! appsink name=appsink emit-signals=True max-buffers=1 drop=True sync=False
Traceback (most recent call last):
  File "/usr/local/bin/edgetpu_detect", line 11, in <module>
    load_entry_point('edgetpuvision==1.0', 'console_scripts', 'edgetpu_detect')()
  File "/home/linaro/.local/lib/python3.7/site-packages/edgetpuvision/detect.py", line 207, in main
    run_app(add_render_gen_args, render_gen)
  File "/home/linaro/.local/lib/python3.7/site-packages/edgetpuvision/apps.py", line 70, in run_app
    display=args.displaymode):
  File "/home/linaro/.local/lib/python3.7/site-packages/edgetpuvision/gstreamer.py", line 248, in run_gen
    display=display)
  File "/home/linaro/.local/lib/python3.7/site-packages/edgetpuvision/gstreamer.py", line 254, in run
    run_pipeline(pipeline, layout, loop, render_overlay, display)
  File "/home/linaro/.local/lib/python3.7/site-packages/edgetpuvision/gstreamer.py", line 300, in run_pipeline
    pipeline = Gst.parse_launch(pipeline)
gi.repository.GLib.Error: gst_parse_error: no element "glsvgoverlaysink" (1)

Я установил gst- python из источника, как описано здесь: lifestyletransfer.com/how-to-install-gstreamer-from-sources-on-ubuntu/

Кажется, все в порядке, я ' мы связали его с Python 3.7.

linaro@linaro-alip:$ gst-inspect-1.0 /usr/local/lib/gstreamer-1.0/libgstpython.cpython-37m-aarch64-linux-gnu.so
Plugin Details:
  Name                     python
  Description              loader for plugins written in python
  Filename                 /usr/local/lib/gstreamer-1.0/libgstpython.cpython-37m-aarch64-linux-gnu.so
  Version                  1.14.2
  License                  LGPL
  Source module            gst-python
  Binary package           GStreamer GObject Introspection overrides for Python
  Origin URL               http://gstreamer.freedesktop.org


  0 features:

Однако, когда я пытаюсь загрузить плагины, gst-inspect не может их найти, например,

gst-inspect-1.0 --gst-plugin-path=$PWD | grep glbox

Есть ли какие-то другие Что мне нужно сделать?

РЕДАКТИРОВАТЬ: Интересно, что на самой плате разработчика (которая работает) библиотеки gstreamer, кажется, даже не установлены (нет gst-inspect), но демонстрационная версия явно где-то использует gstreamer через Python.

...