vscode 配置 FFmpeg
视频链接
这里的配置教程是另一处的,不是雷神的
课程简介
雷神的课程主要使用 Visual Studio
进行演示,但由于我个人不太习惯使用 VS,因此我选择了在 WSL
环境下使用 VSCode
和 CMake
来进行学习和实践
windows
环境总是出现各种不必要的麻烦,而且其实 linux
环境对音视频开发者更友好
配置过程些许复杂,但只要按照步骤来,不会有太大问题,有问题可以留言,我会尽力解答
我使用的资料都是比较新的(2025年2月),所以博客的一些代码和流程什么的可能和雷神介绍的有些不同
FFmpeg 配置
前提准备
安装好 Ubuntu
和 VSCode
, 并且配置好 WSL
和 VSCode
的连接
这里网上很多教程,就不多说了
编译安装
创建安装目录:
1
|
sudo mkdir -p /usr/local/ffmpeg
|
下载 FFmpeg
源码:
我这里都是用最新的 FFmpeg
源码
点击链接:下载地址
目前最新版是 7.1
,而且我是 ubuntu
环境



下载压缩包之后进行解压:(具体解压指令可以问问 ai )
1
|
tar -xv ffmpeg-7.1.tar.xz
|
解压完之后要进入目录:
然后进行配置:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
./configure \ 0 (20.192s) < 14:23:34 --prefix='/usr/local/ffmpeg' \
--enable-gpl \
--enable-nonfree \
--enable-ffplay \
--enable-libfdk-aac \
--enable-libmp3lame \
--enable-libx264 \
--enable-libx265 \
--enable-filter=delogo \
--enable-debug \
--disable-optimizations \
--enable-libspeex \
--enable-shared \
--enable-pthreads \
--enable-version3 \
--enable-hardcoded-tables \
--extra-cflags="-I/usr/local/ffmpeg/include" \
--extra-ldflags="-L/usr/local/ffmpeg/lib"
|
这里可能会不断报错,显示缺各种库,那根据提示去安装对应库就行










下载:
1
2
3
4
|
sudo apt-get install libasound2-dev
sudo apt-get install libpulse-dev
sudo apt-get install libx11-dev
sudo apt-get install xorg-dev
|
配置:
1
|
./configure --prefix=/usr/local/ffmpeg --enable-shared --enable-video-x11 --enable-x11-shared --enable-video-x11-vm
|


ffplay
一直无法播放视频的话(因为我是用的wsl2),尝试在终端配置文件加上 SDL_RENDER_DRIVER=software
在 fish
终端配置文件加
1
|
set -x SDL_RENDER_DRIVER software
|
具体怎么加可以问问 ai
CMake
配置
安装 CMake
安装插件 CMake Tools
书写 CMakeLists.txt
在 CMakeLists.txt
下写入以下内容:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# 指定 CMake 的最低版本要求
cmake_minimum_required(VERSION 3.10)
# 设置项目名称和版本
project(MyProject VERSION 1.0)
# 设置 C++ 标准
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# 依赖 compile_commands.json 文件来理解项目的编译环境
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
# 设置 FFmpeg 库的路径
set(FFmpeg_DIR /usr/local/ffmpeg)
# 添加项目中的头文件目录
include_directories(${FFmpeg_DIR}/include)
# 添加库文件目录
link_directories(${FFmpeg_DIR}/lib)
# 添加可执行文件(就是源码的位置)
add_executable(main src/testffmpeg.cpp)
# 链接 FFmpeg 库
target_link_libraries(main avcodec avformat avutil)
|
测试代码
1
2
3
4
5
6
7
8
9
10
11
12
|
#define __STDC_CONSTANT_MACROS
extern "C"
{
#include "libavcodec/avcodec.h"
};
int main(int argc, char *argv[])
{
printf("%s", avcodec_configuration());
return 0;
}
|
编译
输入指令
1
2
3
4
|
cd build
cmake ..
make
./main
|
如果成功输出,说明配置成功
常见问题
解释器
如果成功输出了发现源文件仍然显示找不到头文件,可能是没安装好解释器,我使用的是 clangd
,linux
环境安装很简单,问一下 ai 就行
安装完成之后,clangd
会依赖 compile_commands.json
文件来理解项目的编译环境