相关准备
下载Windows版本的FFmpeg相关库
-
下载步骤:如下图。
-
下载后的文件:包含了可执行文件ffmpeg、ffplay、ffprobe,头文件、库文件等。
bash├─bin ├─doc ├─include │ ├─libavcodec │ ├─libavdevice │ ├─libavfilter │ ├─libavformat │ ├─libavutil │ ├─libswresample │ └─libswscale └─lib └─pkgconfig
VScode配置FFmpeg步骤
-
创建文件夹test-ffmpeg
bashmkdir test-ffmpeg
-
将ffmpeg库文件移到test-ffmpeg文件夹
bashmv ffmpeg test-ffmpeg
-
VScode打开test-ffmpeg文件夹
-
配置 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 }
-
-
配置 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" } ] }
-
-
配置 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 } ] } ] }
-
-
创建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等库文件,过程都类似。