使用 Yocto 构建 gstreamer

Building gstreamer using Yocto

我正在尝试为 IMX53 Evk 板构建 gstreamer。 我从 http://freescale.github.io/#download 和 运行 以下命令下载了 Yocto。

#MACHINE=imx53qsb
#source setup-environment build
#bitbake core-image-minimal

它构建了u-boot、内核和文件系统。文件系统没有 gstreamer。我也想构建 gstreamer。

据我了解,现在有两种构建 gstreamer 的方法。

Approach 1. Modify the distro.conf file to build gstreamer also. I am not sure how to add gstreamer entries in the distro.conf. The distribution is poky distribution.

Approach 2. Add IMAGE_INSTALL_append with gstreamer entries. My doubht here is what names we have to add in the IMAGE_INSTALL_append.

我可以看到以下与 gstreamer 相关的 bb 文件。你能帮我在 local.conf.

中的 IMAGE_INSTALL_append 中添加什么字符串吗
./meta-fsl-arm/recipes-multimedia/gstreamer/gst-fsl-plugin_4.0.3.bb
./meta-fsl-arm/recipes-multimedia/gstreamer/gst1.0-fsl-plugin_4.0.3.bb
./meta-fsl-arm/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.11.1.bb
./poky/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.31.bb
./poky/meta/recipes-multimedia/gstreamer/gst-meta-base_0.10.bb
./poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_git.bb
./poky/meta/recipes-multimedia/gstreamer/gst-fluendo-mp3_0.10.31.bb
./poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.4.5.bb
./poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-meta-base.bb
./poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.4.5.bb
./poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_git.bb
./poky/meta/recipes-multimedia/gstreamer/gstreamer_0.10.36.bb
./poky/meta/recipes-multimedia/gstreamer/gst-openmax_0.10.1.bb
./poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_git.bb
./poky/meta/recipes-multimedia/gstreamer/gst-plugins-ugly_0.10.19.bb
./poky/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb
./poky/meta/recipes-multimedia/gstreamer/gst-player_git.bb
./poky/meta/recipes-multimedia/gstreamer/gst-plugins-base_0.10.36.bb
./poky/meta/recipes-multimedia/gstreamer/gst-plugins-gl_0.10.3.bb
./poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.4.5.bb
./poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_git.bb
./poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.4.5.bb
./poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.4.5.bb
./poky/meta/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.23.bb
./poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.4.5.bb
./poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_git.bb
./poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.2.0.bb
./poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_git.bb
./poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.4.5.bb
./poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_git.bb
./poky/meta/recipes-multimedia/gstreamer/gst-fluendo-mpegdemux_0.10.85.bb
./poky/meta/recipes-connectivity/bluez/gst-plugin-bluetooth_4.101.bb
./meta-fsl-demos/recipes-fsl/packagegroups/packagegroup-fsl-gstreamer.bb
./meta-fsl-demos/recipes-fsl/packagegroups/packagegroup-fsl-gstreamer-full.bb
./meta-fsl-demos/recipes-multimedia/packagegroups/packagegroup-fslc-gstreamer1.0-full.bb
./meta-fsl-demos/recipes-multimedia/packagegroups/packagegroup-fslc-gstreamer1.0-commercial.bb
./meta-fsl-demos/recipes-multimedia/packagegroups/packagegroup-fslc-gstreamer1.0.bb
./meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer/gst-rtsp_0.10.8.bb
./meta-openembedded/meta-multimedia/recipes-multimedia/nonworking/gstreamer/gst123_0.3.1.bb

您可以只添加

IMAGE_INSTALL_append += "gstreamer"

长答案是你应该添加通常存储在 PN 配方变量中的包名称。您可能会阅读 PN 变量 here. Package names may also be managed with PACKAGES variable.

获取包名的建议是正确的。首先找到食谱。 bitbake-layers 对此很有用。然后检查 PN 和 PACKAGES 变量是否未设置,如果它们变得棘手的话。对于 gstreamer,它们不是

如果您是 Yocto 的新手,我会在 local.conf 中添加包。输入应为 IMAGE_INSTALL_append += " gstreamer"。 gstreamer前面的space很重要

你要么使用 IMAGE_INSTALL_append = " gstreamer"
要么 IMAGE_INSTALL += " gstreamer"

它们做同样的事情,但是 IMAGE_INSTALL_append 与此变量一起使用时效果最好。

gstreamer前面的space很重要,因为。 假设 IMAGE_INSTALL 是一个字符串:"opkg qtbase"
而如果我们不在前面加一个space。 IMAGE_INSTALL 将是这样的: "opkg qtbasegstreamer" 这将导致错误。