ubuntu22.04下GStreamer源码编译单步调试

前言

本文会通过介绍在linux平台下的GStreamer的源码编译和单步调试example实例。官网介绍直接通过命令行来安装gstreamer可以参考链接:Installing on Linux。 这种方法安装后,基于gstreamer的程序,单步调试的时候并不会进入到gstreamer源码,无法进行源码级别的学习。

环境搭建

按照官网的提示,如果是在windows/linux/MACOS下面,会使用meson工具来编译整个gstreamer代码(Building from source using Meson),其他的平台下需要使用Cerbero来编译(Building from source using Cerbero)。所以我们使用meson这个工具在linux上编译。

meson版本

在最新的gstreamer源码里,需要meson版本高于1.1,安装后记得把meson的路径添加到path前面

sudo apt install python3-pip

pip3 install meson==1.3.2

源码下载

复制代码
git clone https://gitlab.freedesktop.org/gstreamer/gstreamer.git

系统环境和开发环境

系统环境是通过apt命令来安装到linux系统里面的gstreamer,具体可以按照官网的Installing on Linux 来搭建。

开发环境是我们本文需要说的方式,这样的环境对gstreamer开发者来说比较适合。

编译

bash 复制代码
cd gstreamer

# --prefix 指定后面install的路径 
# --buildtype 指定为debug,这样方便单步调试和跟踪代码
meson setup --prefix=/home/xxx/source/gstreamer --buildtype debug gstreambuild

# 编译源码
meson compile -C gstreambuild

# 安装到前面指定prefix目录下
 meson install -C gstreambuild

建立开发环境

bash 复制代码
# 建立开发环境,--builddir指定前面meson编译的目录
./gst-env.py --builddir gstreambuild

# 进入虚拟开发环境
ninja -C gstreambuild devenv

# meson 环境配置
meson devenv


# 单步调试
gdb subprojects/gstreamer/tests/examples/helloworld/helloworld

这个时候就可以在这个terminal下gdb单步调试程序了

VSCode单步调试

因为刚才建立的开发环境是基于meson的,如果退出当前的terminal,就无效了。所以使用VSCode来调试的时候,需要基于刚才已经建立的meson开发环境。

  • 安装插件
  • 配置meson

setting->Meson build configuration,修改如下配置

  • 添加vscode的launch.json文件

我这里好像工具自动识别生成了这个文件,大家可以参考

https://download.csdn.net/download/musiclvme/89900227?spm=1001.2101.3001.9500

演示效果

相关推荐
镭封33 分钟前
从人工到AI:短视频配音方式正在发生哪些变化
人工智能·音视频·语音识别·媒体
承渊政道2 小时前
Linux系统学习【进程信号详细解析——认识、产生、保存以及捕捉信号】
linux·学习·ubuntu·ssh·vs code·进程信号
JasonSJX2 小时前
四端自建播放器怎么落地:Android、iOS、tvOS、Tizen 的 DRM 播放 SDK 技术盘点
android·ios·音视频·视频防录屏·加密保护课程·直播安全
程序员老陆2 小时前
FFmpeg 日志级别深度解析:从 AV_LOG_ERROR 到 AV_LOG_TRACE 的完整指南
ffmpeg·音视频
2601_962380762 小时前
节气民俗科普视频的 AI 动效分镜工作流:从文案到成片怎么做
人工智能·音视频
牢姐与蒯3 小时前
Linux信号(一).信号产生
linux·运维·服务器·ubuntu
EasyDSS3 小时前
集群通信系统EasyDSS集群对讲APP即将上线:移动调度,随时在岗
音视频·媒体·easydss
木一i6 小时前
多模态 AI 是什么?为什么它能看图、听音频、读文件?
人工智能·音视频
昨日之日200615 小时前
【MiniMax H3】TaoMate-H3:3步LoRA让视频生成更快更高效,速度快10倍
人工智能·计算机视觉·音视频
Likeadust15 小时前
上传即转码、分类、嵌入:本地点播/网络点播EasyDSS点播如何撑起企业视频知识库
大数据·音视频·easydss