Ubuntu环境下,ffmpeg编译并使用Vscode调试源码

1. 版本

库/工具版本
ubuntu20.0.4
ffmpegn4.4.1
SDL22.0.10
gcc9.4.0
vscode1.84.2

2. 环境配置

2.1 工具包和依赖库安装

首先,在编译ffmpeg前,需要安装一些工具和依赖包。注意:安装时可能需要使用sudo获得root权限

# 安装gcc等编译工具链的相关包
sudo apt install g++ nasm yasm pkg-config
# SDL2库
sudo apt-get install libsdl2-2.0 libsdl2-dev
# 编解码相关库和工具
sudo apt install libx264-dev libx265-dev libdc1394-22-dev libv4l-dev libmp3lame-dev

2.2 ffmpeg编译

上面的工具和依赖库安装完成后,就可以开始对ffmpeg进行配置并编译安装,源码请自行到ffmpeg官网获github中下载。
我这里只是编译一个比较简单的,如果需要配置更复杂的,可在源码目录下自行使用./configure --help查看更多选项

./configure \
	--prefix=/usr/local/ \
	--enable-libx264 \
	--enable-libx265 \
	--enable-gpl \
	--enable-shared \
	--disable-static \
	--enable-avresample \
	--enable-nonfree \
	--enable-libdc1394 \
	--enable-libmp3lame \
	--enable-sdl2 \
	--enable-debug=3 \
	--disable-optimizations \
	--disable-asm \
	--disable-x86asm \
	--disable-stripping

上面配置选项中,后面5行的配置项主要是为了开启 debug 模式,告诉编译器不要优化代码,方便我们进行源码调试。
在f终端的fmpeg源码目录下,输入以上内容,然后回车
在这里插入图片描述
configure完成后会出现一堆信息
在这里插入图片描述

如果配置期间没有报错,则可以进行到下一步,对源码进行编译(make)和安装(make install),如果你只是项编译调试不需要安装的话,则把&& make install 删掉

make -j4 && make install 

在这里插入图片描述

编译后可以在源码目录下看到几个可执行文件,分别是ffmpegffprobeffplayffmpeg_gffprobe_gffplay_g
在这里插入图片描述
ffmpeg_gffprobe_gffplay_g分别是ffmpegffprobeffplayffmpeg_g的调试版本

2.3 vscode

vscode可以通过去官网下载对应的安装包,也可以通过snap商店或命令行安装

snap install code --classic

安装完成后,在ffmpeg源码目录下,使用vscode打开当前文件夹

code .

随便打开一个.c文件,vscode就会给你推荐一些对应的插件,按需安装即可,我安装了以下几个
在这里插入图片描述

3. 调试配置

现在开始配置vscode对源码进行调试
首先,可以点击想要调试的可执行文件(ffmpeg, ffprobe和ffplay)对应的源码,运行->启动调试让vscode自动生成一些配置,这三个工具对应的源码位于fftools下的同名文件。
这里以ffplay为例,点击启动调试后,会自动生成.vscode文件夹,文件夹下自动生成了task.json文件
在这里插入图片描述
然后,点击调试按钮旁的那个设置图标按钮,选择(gdb)启动运行,点击后在.vscode目录下会自动生成launch.json
在这里插入图片描述

自动生成的launtch.json如下
在这里插入图片描述

比如我这里项调试ffplay video.mp4命令行,则将launtch.son文件改为下面的内容,主要是对生成的文件中的programargs修改,添加了视频的路径
在这里插入图片描述
然后在源码中想要打断点的地方添加断点,然后点击F5即可运行调试,并在断点处阻塞
在这里插入图片描述
继续按F5运行到下一个断点处,这里后面没有断点了,则会一直运行到程序结束
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值