python - Gst-python 已安装,但找不到插件
问题描述
我正在尝试为 Google Coral USB 加速器运行一些 Gstreamer 示例——我没有使用 Coral 开发板。驱动程序已安装并且可以工作,我可以使用 OpenCV 和 edgetpu 库对来自相机的图像进行分类。我想让 Web 服务器演示运行。我已将其范围缩小到 Gstreamer 无法找到 Coral 提供的插件。
插件来自此 repo(其中还包含演示代码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
),但演示显然通过 Python 在某处使用了 gstreamer。
解决方案
我会检查 python 插件是否位于$GST_PLUGIN_PATH/python
目录中。
推荐阅读
- wpf - WPF ShowDialog 再次/多次
- java - RDFWriter 写入需要这么多时间
- python - 对于每一天,用 Python 从第一个时间行中减去最后一个时间行
- ios - 如何检查以编程方式加载的导航栏按钮上的图像
- r - 功能参数;传递不带引号的变量名
- php - JMS 序列化程序 - 如何忽略(不排除)属性(已经是 json)
- python-3.x - 如何使用 Python 3.7 将不同结构的 CSV 文件合并为一个?
- android - 如何保持对当前 EditText 的关注?
- shell - Ubuntu如何创建执行命令的快捷方式
- relational-database - 除了规范化之外,还有哪些其他方法可以减少关系数据库中的数据冗余?