回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我正在尝试为Google Coral USB加速器运行一些Gstreamer示例—我没有使用Coral开发板。该驱动程序已安装并运行,我可以使用OpenCV和edgetpu库对相机中的图像进行分类。我想让web服务器演示运行。我把范围缩小到Gstreamer无法找到Coral提供的插件</p>
<p>插件来自这个repo(它还包含演示代码<code>edgetpu_detect_server</code>和<code>edgetpu_detect</code>:<a href="https://coral.googlesource.com/edgetpuvision/+/refs/heads/master/plugins/" rel="noreferrer">https://coral.googlesource.com/edgetpuvision/+/refs/heads/master/plugins/</a></p>
<p>Coral提供了三个插件:</p>
<pre><code>linaro@linaro-alip:~$ ls /home/linaro/edgetpuvision/plugins/
glbox.py glsvgoverlaysink.py glsvgoverlaysrc.py
</code></pre>
<p>尝试运行时出现的错误,例如检测服务器:</p>
<pre><code>(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)
</code></pre>
<p>我已经从如下所述的源代码安装了gst python:lifestyletransfer.com/how-to-install-gstreamer-from-sources-on-ubuntu/</p>
<p>看起来还可以,我已经将它与Python3.7进行了链接</p>
<pre><code>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:
</code></pre>
<p>然而,当我尝试加载插件时,gst inspect找不到它们,例如</p>
<pre><code>gst-inspect-1.0 --gst-plugin-path=$PWD | grep glbox
</code></pre>
<p>我还需要做其他配置工作吗</p>
<p>编辑:有趣的是,在开发板上(可以正常工作),gstreamer libs似乎没有安装(没有^{<cd3>),但是演示程序显然通过Python在某处使用了gstreamer</p>