尝试使用 opencv 连接来学习 rtsp gstreamer。搜索了我两天的错误没有任何帮助。 我试图学习这个主题一周,但连一个例子都无法运行。起初,我在 conda env 上尝试了它,然后我屈服并安装了 MSYS2 MINGW 并安装了我认为必要的所有内容。不确定我已经安装了所有东西,但我已经安装了“ gstreamer、gst-plugins-(base,good,bad,ugly) 、 gst-devtools 、 glib 2.0 、 pygobject —— 至少我知道这些。”
py文件:
from threading import Thread
from time import sleep
import gi
gi.require_version('Gst', '1.0')
from gi.repository import Gst, Glib
Gst.init()
main_loop = Glib.MainLoop()
main_loop_thread = Thread(target=main_loop.run)
main_loop_thread.start()
pipeline = Gst.parse_launch("ksvideosrc ! decodebin ! videoconvert ! autovideosink")
pipeline.set_state(Gst.State.PLAYING)
try:
while True:
sleep(0.1)
except KeyboardInterrupt:
pass
pipeline.set_state(Gst.State.NULL)
main_loop.quit()
main_loop_thread.join()
错误消息:
File "c:/msys64/home/husey/thy.py", line 5, in <module>
from gi.repository import Gst, Glib
File "C:\msys64\mingw64\lib\python3.11\site-packages\gi\importer.py", line 133, in create_module
raise ImportError('cannot import name %s, '
ImportError: cannot import name Glib, introspection typelib not found
这是我用来尝试学习的链接:https://gist.github.com/velovix/8cbb9bb7fe86a08fb5aa7909b2950259
尝试确保将 wingmw 目录添加到系统变量中的路径中。这解决了我在终端中的“gst-inspect-1.0”问题,因为它列出了所有 gstreamer 库。还尝试使用 pip 安装一些依赖项,但它说我已经安装了它们。
我太笨了...我查看了 gitrepository-1.0 并看到了名为“GLib”的“Glib”.typelib 文件。我对我的代码进行了更改并且它起作用了。希望有人不会像我一样遇到这种情况:)