相關準備
-
提前在本地開發環境中配置好mingw64或者msys2開發工具集。
-
安裝VScode軟件。
下載Windows版本的FFmpeg相關庫
-
下載地址:https://ffmpeg.org/download.html
-
下載步驟:如下圖。
-
下載后的文件:包含了可執行文件ffmpeg、ffplay、ffprobe,頭文件、庫文件等。
├─bin ├─doc ├─include │ ├─libavcodec │ ├─libavdevice │ ├─libavfilter │ ├─libavformat │ ├─libavutil │ ├─libswresample │ └─libswscale └─lib└─pkgconfig
VScode配置FFmpeg步驟
-
創建文件夾test-ffmpeg
mkdir test-ffmpeg
-
將ffmpeg庫文件移到test-ffmpeg文件夾
mv ffmpeg test-ffmpeg
-
VScode打開test-ffmpeg文件夾
-
配置 c_cpp_properties.json
-
按住“ctrl+shift+p”,選擇 C/C++:Edit Configurations(JSON),點開默認內容如下:
-
配置c_cpp_properties.json內容,修改如下:
{"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,修改內容如下:
{"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,修改內容如下:
{// 使用 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文件進行測試
- 編輯測試代碼
#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等庫文件,過程都類似。