Windows下VScode配置FFmpeg开发环境保姆级教程

相关准备

  1. 提前在本地开发环境中配置好mingw64或者msys2开发工具集。

  2. 安装VScode软件。

下载Windows版本的FFmpeg相关库

  1. 下载地址:https://ffmpeg.org/download.html

  2. 下载步骤:如下图。


  3. 下载后的文件:包含了可执行文件ffmpeg、ffplay、ffprobe,头文件、库文件等。

    bash 复制代码
    ├─bin
    ├─doc
    ├─include
    │  ├─libavcodec
    │  ├─libavdevice
    │  ├─libavfilter
    │  ├─libavformat
    │  ├─libavutil
    │  ├─libswresample
    │  └─libswscale
    └─lib
        └─pkgconfig

VScode配置FFmpeg步骤

  1. 创建文件夹test-ffmpeg

    bash 复制代码
    mkdir test-ffmpeg
  2. 将ffmpeg库文件移到test-ffmpeg文件夹

    bash 复制代码
    mv ffmpeg test-ffmpeg
  3. VScode打开test-ffmpeg文件夹

  4. 配置 c_cpp_properties.json

    • 按住"ctrl+shift+p ",选择 C/C++:Edit Configurations(JSON),点开默认内容如下:

    • 配置c_cpp_properties.json内容,修改如下:

      bash 复制代码
      {
          "configurations": [
              {
                  "name": "Win32",
                  "includePath": [
                      "${workspaceFolder}/**",
                      "C:/Users/yance/downloads/test-ffmpeg/ffmpeg/include"
                  ],
                  "defines": [
                      "_DEBUG",
                      "UNICODE",
                      "_UNICODE"
                  ],
                  "windowsSdkVersion": "10.0.26100.0",
                  "compilerPath": "C:/mingw64/bin/gcc.exe",
                  "cStandard": "c17",
                  "cppStandard": "c++17",
                  "intelliSenseMode": "windows-gcc-x64"
              }
          ],
          "version": 4
      }
  5. 配置 tasks.json

    • 按住"ctrl+shift+p ",输入"tasks",选择第一个,即默认的task。

    • 配置tasks.json,修改内容如下:

      bash 复制代码
      {
      	"version": "2.0.0",
      	"tasks": [
      		{
      			"type": "cppbuild",
      			"label": "C/C++: gcc.exe 生成ffmpeg活动文件",
      			"command": "C:/mingw64/bin/gcc.exe",
      			"args": [
      				"-fdiagnostics-color=always",
      				"-g",
      				"${file}",
      				"-L",
      				"C:/Users/yance/downloads/test-ffmpeg/ffmpeg/lib",
      				"-I",
      				"C:/Users/yance/downloads/test-ffmpeg/ffmpeg/include",
      				"-lavcodec",
      				"-lavdevice",
      				"-lavfilter",
      				"-lavformat",
      				"-lavutil",
      				"-lswresample",
      				"-lswscale",
      				"-o",
      				"${fileDirname}\\${fileBasenameNoExtension}.exe"
      			],
      			"options": {
      				"cwd": "${fileDirname}"
      			},
      			"problemMatcher": [
      				"$gcc"
      			],
      			"group": {
      				"kind": "build",
      				"isDefault": true
      			},
      			"detail": "编译器: C:/mingw64/bin/gcc.exe"
      		}
      	]
      }
  6. 配置 launch.json

    • 点击VScode顶部的"运行"

    • 点击"添加配置",在弹出的窗口上选择"C++(GDB/LLDB)"

    • 配置launch.json,修改内容如下:

      bash 复制代码
      {
          // 使用 IntelliSense 了解相关属性。 
          // 悬停以查看现有属性的描述。
          // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
          "version": "0.2.0",
          "configurations": [
              {
                  "name": "(gdb) 启动",
                  "type": "cppdbg",
                  "request": "launch",
                  "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
                  "args": [],
                  "stopAtEntry": false,
                  "cwd": "${fileDirname}",
                  "environment": [],
                  "externalConsole": false,
                  "MIMode": "gdb",
                  "miDebuggerPath": "c:/mingw64/bin/gdb.exe",
                  "setupCommands": [
                      {
                          "description": "为 gdb 启用整齐打印",
                          "text": "-enable-pretty-printing",
                          "ignoreFailures": true
                      },
                      {
                          "description": "将反汇编风格设置为 Intel",
                          "text": "-gdb-set disassembly-flavor intel",
                          "ignoreFailures": true
                      }
                  ]
              }
          ]
      }
  7. 创建main.c文件进行测试

    • 编辑测试代码
    c 复制代码
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <stdint.h>
    #include <libavutil/log.h>
    
     
    int main()
    {
        av_log_set_level(AV_LOG_DEBUG);
        printf("hello FFmpeg!\n");
        av_log(NULL, AV_LOG_INFO, "hello FFmpeg!\n");
    
        return 0;
    }
    • 运行
    • 生成exe文件并输出结果

备注

  • 可以根据需求将gcc的编译器修改成g++;
  • 可以根据需求再配置OpenCV等库文件,过程都类似。
相关推荐
小豆庄2 小时前
测试视频里的人脸车牌敏感信息自动化脱敏方案
计算机视觉·目标跟踪·ffmpeg·音视频·边缘计算·视频·敏捷流程
光泽雨3 小时前
WPF 音视频四大核心方案对比
wpf·音视频
揽秀亭长4 小时前
音频转乐谱如何实现?四类AI 扒谱工具的流程
音视频
Android系统攻城狮17 小时前
Linux FFmpeg深度解析之avcodec_default_get_encode_buffer调用流程与实战(二十八)
linux·运维·服务器·ffmpeg·车载音视频·ffmpeg音视频
敢敢のwings19 小时前
SimpleMemVLA 深度解读:把原生视频上下文变成机器人的记忆
数码相机·机器人·音视频
the3clipse21 小时前
MPC-HC 下载安装与最佳配置教程:免费开源、轻量无广告、支持 4K 硬解的 Windows 播放器
windows·播放器·安装教程·硬件加速·mpc-hc·字幕设置·lav filters
独隅1 天前
WebStorm Windows 版 React / Next.js 实战替换指南
javascript·windows·webstorm
陈工大模型1 天前
2026年11月最新免费解压软件横评:7-Zip 、 Win解压缩名列前茅
windows·软件工程·7-zip·压缩软件
ck0135791 天前
视频片段提取与视频修剪的区别:多时间段选择及导出流程
人工智能·音视频·视频
沐飞工具箱1 天前
游戏、漫画、视频里的外语怎么实时翻译?从 OCR + AI 原理聊聊 VoriTrans 屏幕翻译
人工智能·游戏·实时互动·音视频·自动翻译