【问题标题】:Gstreamer qmlgl plug-in enable via Yocto通过 Yocto 启用 Gstreamer qmlgl 插件
【发布时间】:2021-09-03 01:20:03
【问题描述】:

我想在我的应用程序中使用 qmlgl 插件 (qmlglsink, qmlglsrc),但它在图像中不可用。

另外,我的环境是基于 ARM 的开发板 - Phytec_nunki。

gst-inspect-1.0 | grep qml 没有收到任何结果。

我使用 Yocto 来构建图像。据我了解,link - qmlgl 位于“GStreamer Good Plug-in”组中,但默认情况下未启用。

我检查了 Yocto 下载的 gstreamer 的来源 - 带有“qmlgl”的文件在那里。所以我想我必须在一些配置文件中启用它。

我尝试添加

CORE_IMAGE_EXTRA_INSTALL += " \
gst-plugins-good-qmlgl\
"

进入我的 local.conf 文件。 Bitbake 执行成功,但没有出现插件。

那么,有没有人有解决这个问题的想法?

【问题讨论】:

  • 尝试使用IMAGE_INSTALL_append = " gst-plugins-good-qmlgl"?我不使用 CORE_IMAGE_EXTRA_INSTALL,我发现 IMAGE_INSTALL 更易于扩展。
  • @CleitonBueno 嗨,感谢您的回复。我尝试使用IMAGE_INSTALL_append = " gst-plugins-good-qmlgl"IMAGE_INSTALL_append = " gstreamer1.0-plugins-good-qmlgl",但出现错误* opkg_prepare_url_for_install: Couldn't find anything to satisfy 'gst-plugins-good-qmlgl'.
  • 编译有效吗?查看 log.do_install 文件中生成了哪个错误并在此处插入。
  • @CleitonBueno 看起来编译很好。 Here 是来自 bitbake 的完整回复。 here 是来自 bitbalke 回复的日志文件。
  • 我查看了 gst-plugins-good,qmlgl 似乎是启用 gst-plugins-good 并支持 qt5 时包含的一个包,默认情况下它是禁用的。您必须启用它,添加依赖层(meta-qt5)才能安装它。看link1link2link3

标签: gstreamer yocto bitbake


【解决方案1】:

@UncleSav 使用你自己的层,做:

例如您的层是 meta-xpto。

meta-xpto/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_%.bbappend

在.bbappend里面添加:

inherit qmake5_paths

PACKAGECONFIG[qt5] = '--enable-qt \
--with-moc="${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/moc" \
--with-uic="${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/uic" \
--with-rcc="${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/rcc" \
,--disable-qt,gstreamer1.0-plugins-base qtbase qtdeclarative qtbase-native'

PACKAGECONFIG_append = "qt5"

通过此更改,我们通知 gstreamer1.0-plugins-good 我们要使用 qt 标志进行编译并通知必要的依赖项。

【讨论】:

  • 我做到了,但没有出现任何新内容。我尝试使用gst-inspect-1.0 | grep qml - 没有任何结果。并且还手动检查了src 元素
  • 哪个分支正在使用 Yocto 项目?
  • 这是一个“摇滚”的人
  • 好的,你有 meta-xxx 层吗?需要额外的自定义。
  • 我有下一堆图层meta-gstreamer1.0 meta-openembedded meta-qt5 meta-yogurt meta-nodejs meta-phytec meta-rauc poky
【解决方案2】:

此外,如果您将 i.MX8 与较新的 BSP 一起使用,尤其是 5.x Linux 内核,则 packageconfig 选项应为:

QT5WAYLANDDEPENDS = "${@bb.utils.contains("DISTRO_FEATURES", "wayland", "qtwayland", "", d)}"

PACKAGECONFIG[qt5] = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native ${QT5WAYLANDDEPENDS}"

PACKAGECONFIG_append = "qt5"

【讨论】:

    猜你喜欢
    • 2017-09-02
    • 2020-07-10
    • 1970-01-01
    • 1970-01-01
    • 2016-08-14
    • 2023-03-14
    • 2018-06-26
    • 1970-01-01
    • 2022-08-05
    相关资源
    最近更新 更多