当前位置: 首页> 财经> 产业 > Ubuntu18 配置FFmpeg开发环境 (Vscode+CMake)

Ubuntu18 配置FFmpeg开发环境 (Vscode+CMake)

时间:2025/7/16 5:07:31来源:https://blog.csdn.net/weixin_46999174/article/details/139239704 浏览次数:0次

关于Vscode插件安装不再赘述,本文主要讲解如何配置FFmpeg的开发环境以及CMake文件写法,如果不知道该安装什么插件请看本文:
Ubuntu配置Vscode

文章目录

    • 1.安装FFmpeg开发包
    • 2.配置Vscode项目
    • 3.使用C语言验证FFmpeg版本

1.安装FFmpeg开发包

  1. 更新系统包列表: 打开终端并运行以下命令来更新你的系统包列表:

    sudo apt update
    
  2. 安装FFmpeg: 如果你还没有安装FFmpeg,可以使用以下命令安装:

    sudo apt install ffmpeg
    
  3. 安装FFmpeg开发包: FFmpeg开发包包括库文件和头文件,允许开发者在自己的应用程序中使用FFmpeg的功能。安装这些开发包可以使用以下命令:

    sudo apt install libavcodec-dev libavformat-dev libavutil-dev libavdevice-dev libswscale-dev libavfilter-dev libswresample-dev
    

    这些包分别对应于不同的FFmpeg库:

    • libavcodec-dev:音视频编解码库
    • libavformat-dev:多格式输入输出库
    • libavutil-dev:工具库(如日志管理和错误处理)
    • libavdevice-dev:设备输入输出库
    • libswscale-dev:图像缩放和像素格式转换库
    • libavfilter-dev:音视频滤镜库
    • libswresample-dev:音频重采样库
  4. 验证安装: 安装完毕后,可以通过检查FFmpeg版本来验证安装是否成功:

    ffmpeg -version
    

在这里插入图片描述

2.配置Vscode项目

1.在工程目录下新建三个文件夹: src 、build、include

src存放源代码

build 存放编译好的二进制可执行文件

include 存放需要引用的头文件

2.在工程目录下新建CMakeLists.txt文件 (暂时不用写内容)

3.使用C语言验证FFmpeg版本

1.在src下新建main.c

#include <libavutil/avutil.h>
#include <stdio.h>int main() {printf("FFmpeg version: %s\n", av_version_info());return 0;
}

注意:如果新建的是CPP文件,FFmpeg是纯C编写的,如果C++引用的话一定要加上 extern “C”

例如以下例子:

extern "C"
{
#include <libavformat/avformat.h>
#include <libavdevice/avdevice.h>
#include <libavcodec/avcodec.h>
#include <libavutil/avutil.h>
#include <libavfilter/avfilter.h>
#include <libswscale/swscale.h>
#include <libavutil/opt.h>
}
#include <iostream>
using namespace std;
int main()
{cout << av_version_info() << endl;return 0;
}

2.编写 CMakeLists.txt

为了编译这个C语言程序,我们需要创建一个CMake配置文件,这个文件会告诉CMake如何找到并链接FFmpeg的开发库。

cmake_minimum_required(VERSION 3.10)
project(FFmpegVersionDemo)
# 设置使用C++标准
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)
# 寻找FFmpeg组件
find_package(PkgConfig REQUIRED)
pkg_check_modules(AVCODEC REQUIRED libavcodec)
pkg_check_modules(AVFORMAT REQUIRED libavformat)
pkg_check_modules(AVUTIL REQUIRED libavutil)
pkg_check_modules(SWSCALE REQUIRED libswscale)
pkg_check_modules(AVFILTER REQUIRED libavfilter)
pkg_check_modules(AVDEVICE REQUIRED libavdevice )
# libavdevice 
# 添加可执行文件
add_executable(ffmpeg_test src/main.cpp)
# 链接FFmpeg库
target_link_libraries(ffmpeg_test   ${AVCODEC_LIBRARIES} ${AVCODEC_LIBRARIES} ${AVFORMAT_LIBRARIES} ${AVUTIL_LIBRARIES} ${SWSCALE_LIBRARIES}  ${AVFILTER_LIBRARIES})

3.使用Vscode 配置Cmake

快捷键:Ctrl+shift+p 选择Cmake 配置

在这里插入图片描述

Vscode就会自动帮我们配置这个CMake项目。

再按下Ctrl+S Cmake配置就生效了

4.配置快捷键运行编译

在.vscode 文件夹下新建tasks.json (如果没有找到这个文件夹,也可以自己手动新建)

{"version": "2.0.0","tasks": [{"label": "CMake Build","type": "shell","command": "cmake","args": ["--build","build/", // 指定构建目录"--config","Release" // 可以改为Debug],"group": {"kind": "build","isDefault": true},"problemMatcher": ["$gcc"],"presentation": {"echo": true,"reveal": "always","focus": false,"panel": "shared","showReuseMessage": true,"clear": false}},{"label": "CMake Clean","type": "shell","command": "cmake","args": ["--build","build/","--target","clean"],"problemMatcher": [],"presentation": {"echo": true,"reveal": "always","focus": false,"panel": "shared","clear": false}}]
}

保存之后,使用快捷键 CTRL+shift+B 便可以快速编译程序了

在这里插入图片描述

在build目录下就可以运行编译出来的二进制执行程序了

在这里插入图片描述

至此FFmpeg开发环境就配置好了。

如果提示xxxx没有被引用,一定要检查CMakeLists.txt是否写对没有,FFmpeg lib引用到没有。

关键字:Ubuntu18 配置FFmpeg开发环境 (Vscode+CMake)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: