gpt4 book ai didi

python - 适用于 Windows 的 gstreamer python 绑定(bind)

转载 作者:太空狗 更新时间:2023-10-29 20:39:49 26 4
gpt4 key购买 nike

我正在研究 gstreamer,将其作为一种从列表中选择视频设备以将其提供给 opencv 脚本的方法。

我完全不明白如何在 Windows 中将 gstreamer 与 python 一起使用。我从 gstreamer official website 安装了 Windows gstreamer 1.07 二进制文件 .但是,我无法在 python 中导入 pygstgst 模块。

>>> import pygst

Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
import pygst
ImportError: No module named pygst
>>>

我检查了 gstreamer 安装,似乎没有提供 pygst.py 但是有一个名为 gst-env 的文件包含环境变量的路径(在安装时未添加到系统变量中。我检查过。

同一问题的其他问题herehere ,例如,是否都使用 gstreamer 的 winbuild 版本。为什么会这样?

我完全迷失了这一点。

编辑

好的,我使用 Gstreamer 0.10 的 SDK 管理它(其中有一个 pygst.py),但是没有办法使用 Gstreamer 1.0 系列,因为 0.10 是“结束-生活”?

最佳答案

这有点晚了,但希望它能有所帮助。

使用 GStreamer 1.0 的最简单方法是从以下网址下载最新版本: http://sourceforge.net/projects/pygobjectwin32/files/

这将安装 Python(2.7 或 3.3)模块以及可选的带有插件的 GStreamer。

但是,如果您已经拥有 GStreamer 0.10 SDK(来自 docs.gstreamer.com/display/GstSDK/Home)并且旧安装了 GStreamer 1.0,则运行 Gstreamer 0.10 Python 程序可能会出现一些问题,例如 ImportError: DLL加载失败等。这是我对所有内容的详细设置:

安装Gst 0.10 SDK和Python模块

  1. 从 docs.gstreamer.com/display/GstSDK/Installing+on+Windows 安装 SDK。检查并设置环境变量
    GSTREAMER_SDK_ROOT_X86=..你的 sdk 目录
    GST_PLUGIN_PATH=%GSTREAMER_SDK_ROOT_X86%\lib\gstreamer-0.10
    Path=%GSTREAMER_SDK_ROOT_X86%\bin;%GSTREAMER_SDK_ROOT_X86%\lib;%Path%
  2. 从 ftp.gnome.org/pub/GNOME/binaries/win32/安装 pygtk-all-in-one-2.24.2.win32-py2.7
  3. 在您的 Python 站点包目录中创建文件 pygst.pth。放置以下行,它们应该指向 GSt 0.10 Python 模块目录:
    ..你的 %GSTREAMER_SDK_ROOT_X86%\lib\python2.7\site-packages
    ..你的 %GSTREAMER_SDK_ROOT_X86%\lib\python2.7\site-packages\gst-0.10
  4. 在那之后,pydoc 应该能够找到 pygst、gst 等的文档。另外,Visual Studio 的 Python 工具中的智能感知也应该可以工作(在重建 Completion DB 并重新启动 VS 之后)

安装Gst 1.0和Python模块

  1. 从 gstreamer.freedesktop.org/data/pkg/windows/安装 GStreamer 1.0。检查环境:
    GSTREAMER_1_0_ROOT_X86=..Gst 1.0 安装目录
    GST_PLUGIN_PATH_1_0=%GSTREAMER_1_0_ROOT_X86%\lib\gstreamer-1.0\
    路径=%GSTREAMER_1_0_ROOT_X86%\bin;%GSTREAMER_1_0_ROOT_X86%\lib;%路径%
  2. 从上面的 Sourceforge 链接安装 pygi-aio-3.10.2-win32_rev14-setup。在安装中包括 Gstreamer 和插件。
  3. 创建文件gi.pth:
    %GSTREAMER_1_0_ROOT_X86%\bin
    %GSTREAMER_1_0_ROOT_X86%\lib
  4. 我删除了 site-packages/gnome 目录中的所有内容,除了:
    libgirepository-1.0-1
    libpyglib-gi-2.0-python27-0
    lib 目录,包含 .typelib 文件
    和一些简单的例子似乎工作正常。
  5. VS 中的 Intellisense 似乎不适用于从 gi.repository 导入。
  6. 您可以像这样测试您的安装:

    python2 -c "import gi; gi.require_version('Gst', '1.0'); from gi.repository import Gst; Gst.init(None); pipeline = Gst.parse_launch('playbin uri= http://docs.gstreamer.com/media/sintel_trailer-480p.webm '); pipeline.set_state(Gst.State.PLAYING); bus = pipeline.get_bus();msg = bus.timed_pop_filtered(Gst.CLOCK_TIME_NONE, Gst.MessageType.ERROR | Gst.MessageType.EOS)"

编辑:如果您同时使用 GStreamer0.10 和 GStreamer1.0,最好为 GStreamer0.10 创建一个单独的虚拟环境,并将 .pth 文件放在它的 site-packages 目录中。请参阅下面我的评论。

喂,汤姆

关于python - 适用于 Windows 的 gstreamer python 绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17278953/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com