msys2mingw 无法运行 gstreamer python 示例:“ImportError:无法导入名称 Glib,未找到内省类型库”

问题描述 投票:0回答:1

尝试使用 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 安装一些依赖项,但它说我已经安装了它们。

python gstreamer rtsp msys2
1个回答
0
投票

我太笨了...我查看了 gitrepository-1.0 并看到了名为“GLib”的“Glib”.typelib 文件。我对我的代码进行了更改并且它起作用了。希望有人不会像我一样遇到这种情况:)

© www.soinside.com 2019 - 2024. All rights reserved.