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等库文件,过程都类似。
相关推荐
应用市场10 小时前
基于 C# WinForms 的 Windows 系统监控工具开发实战
windows·单片机·c#
bleach-10 小时前
应急响应之入侵检测排查——Windows篇—,Windows日志介绍分析
windows·安全·web安全·网络安全·系统安全
却道天凉_好个秋10 小时前
音视频学习(七十五):视频压缩:量化
音视频·视频压缩
扶尔魔ocy10 小时前
【QT window】multimedia+ffmpeg实现(PCM和MP4)录音功能
qt·ffmpeg·pcm
却道天凉_好个秋10 小时前
音视频学习(七十六):熵编码
音视频·视频压缩
元气满满-樱10 小时前
安装Windows Server 2008
windows·云计算
努力的小帅11 小时前
通过VSCode远程连接到CentOS7/Ubuntu18等老系统
ide·vscode·编辑器
MC皮蛋侠客11 小时前
distcc结合VSCode实现分布式编译的全面指南
c++·ide·分布式·vscode
love530love11 小时前
Win11+RTX3090 亲测 · ComfyUI Hunyuan3D 全程实录 ②:nvdiffrast 源码编译实战(CUDA 13.1 零降级)
人工智能·windows·python·github·nvdiffrast
程序猿追11 小时前
在昇腾NPU上实战部署LongCat-Video:从环境配置到长视频生成的完整指南
python·大模型·华为云·音视频