GStreamer Meson 编译配置参数¶
版本与环境介绍
GStreamer version : 1.24
Ubuntu : 22.04
1. meson 基础¶
Meson 入门指南之一 - RioTian - 博客园 (cnblogs.com)
Meson(The Meson Build System)是个项目构建系统,类似的构建系统有 Makefile、CMake、automake …。 Meson 是一个由 Python 实现的开源项目。
查看当前配置参数:

2. meson 配置¶
上一章编译可能出现一些插件不齐的问题,不能播放等等问题,
Could not create an element from qtdemux
Failed to find a usable video sink

在官方提到:
Since 1.24.7, it is possible to disable the gstreamer-full library by passing -Dgst-full=disabled. This can be useful in cases where you want a static build of gstreamer, but you do not want to use gst-full, since linking the static executables associated with it can be quite CPU/RAM intensive.
在编译时候重新配置:
# ===============以下可选择==============
# 更换安装目录方法:
# 测试通过命令
# 假如出现配置问题,删除之前配置,再配置一次
# rm -rf builddir
meson setup builddir --prefix=/home/hywelstar/Develop/gstreamer/_install \
-Ddefault_library=static \
-Dgst-full=enabled \
-Dgst-full-libraries=app,video \
-Dgst-full-target-type=static_library
# 更改
meson setup --reconfigure builddir --prefix=/home/hywelstar/Develop/gstreamer/_install \
-Ddefault_library=static \
-Dgst-full=enabled \
-Dgst-full-libraries=app,video
$ ninja -C build-gst-full
# =====================================

编译:
安装:
进入环境:
测试效果:

3.实际例子¶
3.1 开启openh264, h264等支持¶
目前查看是关闭状态:

打开方式:
meson setup --reconfigure builddir --prefix=/home/hywelstar/Develop/gstreamer/_install \
-Ddefault_library=static \
-Dgst-full=enabled \
-Dgst-full-libraries=app,video \
-Dgst-plugins-bad:openh264=enabled \
-Dgst-plugins-ugly:x264=enabled \
-Dgpl=enabled \
-Dlibav=enabled
# 其他
meson setup --reconfigure builddir --prefix=/home/hywelstar/Develop/gstreamer/_install \
-Ddefault_library=static \
-Dgst-full=enabled \
-Dgst-full-libraries=app,video \
-Dgst-plugins-bad:openh264=enabled \
-Dgst-plugins-ugly:x264=enabled \
-Drtsp_server=enabled \
-DFFmpeg:gpl=enabled \
-Dgst-rtsp-server=enabled \
-Dgpl=enabled \
-Dlibav=enabled
配置怎么看:
gstreamer 还有很多插件,分类 gst-plugins-ugly, gst-plugins-bad, gst-plugins-good 那种,比如这次开启x264 的支持,会发现是在gst-plugins-ugly

.....

未开启之前查询结果

开启成功后


4. 问题处理¶
4.1 fatal error: cairo-gobject.h: No such file or directory¶

解决:
4.2 Program 'nasm' not found or not executable¶

解决:
4.3 x264enc 找不到问题¶
查看3.1 解决