如何让 gtk3 在 macOS 上与 gstreamer 1.24.9 配合使用?

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

我在 macOS 上安装了 gstreamer 1.29.4 框架,根据发行说明,该框架包括 gst-plugins-good,其中包括

gtkglsink
gtksink

使用 gtkglsink 或 gtksink 的 gstreamer 教程都找不到它们。基本教程 5 可以编译但失败。其他 gstreamer 基础和播放教程按照文档进行编译和运行。

注意:基本的 gnome gtk 演示也可以工作。例如 helloworld 编译并运行。

我设置了以下环境和路径:

export  PKG_CONFIG_PATH=/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/pkgconfig

export PKG_CONFIG_PATH=/opt/homebrew/lib/pkgconfig:/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/pkgconfig:/opt/homebrew/Cellar/gtk+3/3.24.42/lib/pkgconfig:/opt/homebrew/Cellar/gtk4/4.14.4/lib/pkgconfig:/opt/homebrew/Cellar/xorgproto/2024.1/share/pkgconfig/

使用以下命令成功编译后:

gcc basic-tutorial-5.c -o basic-tutorial-5 `pkg-config --cflags --libs gstreamer-video-1.0 gtk+-3.0 gstreamer-1.0`

当我尝试运行可执行文件时,出现以下错误:

Could not create gtkglsink, falling back to gtksink.

(basic-tutorial-5:85605): GLib-GObject-CRITICAL **: 11:41:41.095: g_object_get: assertion 'G_IS_OBJECT (object)' failed
Not all elements could be created.

问题:GTK3、gtkglsink 和 gtksink 实际上包含在 gstreamer 1.24.9 中吗?如果是的话为什么我无法访问它?为什么我找不到

gtkglsink
gtksink

我在 GStreamer 和 GTK 讨论中都问过这个问题,得到的反馈是“你必须安装 gtk3 插件”。没有人愿意告诉我或指点我如何做到这一点,只能“上网搜索”。

如果它既不位于 gstreamer 1.24.9 macOS 框架中,也不位于随 homebrew 安装的 gtk3 软件包中——我在哪里可以找到它以及如何安装它?

我可以构建位于此处的文件并设置环境变量以指向我的“自定义插件”吗?

https://gitlab.freedesktop.org/gstreamer/gstreamer/-/tree/main/subprojects/gst-plugins-good/tests/examples/gtk

如果是,我该怎么做?有人可以建议我使用介子构建命令吗?

如有任何帮助,我们将不胜感激。这个过程非常令人沮丧,我真的很希望能够做更多的事情并探索在我的 Mac 上使用 gtk 和 gstreamer。谢谢!

c macos gtk gstreamer gtk3
1个回答
0
投票

我在 Windows 上也遇到了同样的问题。如果你解决了,你能告诉我你是如何解决这个问题的吗?

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