Windows下VScode配置FFmpeg開發環境保姆級教程

相關準備

  1. 提前在本地開發環境中配置好mingw64或者msys2開發工具集。
    在這里插入圖片描述
    在這里插入圖片描述

  2. 安裝VScode軟件。
    在這里插入圖片描述

下載Windows版本的FFmpeg相關庫

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

  2. 下載步驟:如下圖。
    在這里插入圖片描述
    在這里插入圖片描述
    在這里插入圖片描述

  3. 下載后的文件:包含了可執行文件ffmpeg、ffplay、ffprobe,頭文件、庫文件等。

    ├─bin
    ├─doc
    ├─include
    │  ├─libavcodec
    │  ├─libavdevice
    │  ├─libavfilter
    │  ├─libavformat
    │  ├─libavutil
    │  ├─libswresample
    │  └─libswscale
    └─lib└─pkgconfig
    

VScode配置FFmpeg步驟

  1. 創建文件夾test-ffmpeg

    mkdir test-ffmpeg
    
  2. 將ffmpeg庫文件移到test-ffmpeg文件夾

    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內容,修改如下:
      在這里插入圖片描述

      {"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,修改內容如下:
      在這里插入圖片描述

      {"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,修改內容如下:
      在這里插入圖片描述

      {// 使用 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文件進行測試

    • 編輯測試代碼
    #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等庫文件,過程都類似。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/88397.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/88397.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/88397.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Lecture #19 : Multi-Version Concurrency Control

CMU15445課程筆記多版本并發控制 多版本并發控制講的是Mvcc。 即維護單個邏輯對象的多個物理版本&#xff0c; 這樣當一個事務讀取某個對象的時候不會阻塞其他事務寫入該對象&#xff1b; 反之亦然。 但是Mvcc不保護寫寫沖突&#xff0c; 對于這種情況&#xff0c; 可能需要其兩…

imx6ul Qt運行qml報錯This plugin does not support createPlatformOpenGLContext!

imx6ul運行qml的Qt程序報錯This plugin does not support createPlatformOpenGLContext!1、開發環境2、問題復現3、解決辦法第一種方法第二種方法4、結論1、開發環境 主板&#xff1a;imx6ul Qt版本&#xff1a;5.9.6 文件系統&#xff1a;buildroot 問題描述&#xff1a;現需…

軟考中項系統集成第 5 章:軟件工程全流程考點拆解,備考邏輯清晰

備考系統集成項目管理工程師的小伙伴們&#xff0c;福利來啦&#xff01;今天開始為大家帶來《系統集成項目管理工程師&#xff08;第 3 版&#xff09;》考點的思維導圖&#xff0c;今天帶來的是第5章。第 5 章聚焦軟件工程&#xff0c;涵蓋軟件工程定義、軟件需求、軟件設計、…

ICLR 2025 | InterpGN:時間序列分類的透明革命,Shapelet+DNN雙引擎驅動!

在Rensselaer理工學院、Stony Brook大學與IBM Research的合作下&#xff0c;本文聚焦于如何在時間序列分類任務中兼顧性能與可解釋性。傳統深度學習模型雖然準確率高&#xff0c;卻常被詬病為“黑盒”&#xff0c;難以贏得如醫療等高風險領域的信任。為此&#xff0c;作者提出了…

使用ENO將您的JSON對象生成HTML顯示

ENO 是簡單易用&#xff0c;性能卓越&#xff0c;自由靈活開源的 WEB 前端組件&#xff1b;實現 JSON 與 HTML 互操作的 JavaScript 函數庫。沒有任何其它依賴&#xff0c;足夠輕量。 WEBPack NPM 工程安裝。 npm install joyzl/eno 然后在JS中引用 import "joyzl/eno…

7.12 卷積 | 最小生成樹 prim

lc1900.模擬比賽算出兩個指定選手最早和最晚能在第幾輪碰到。還是建議dfs捏模擬比賽&#xff0c;找出兩個特定選手&#xff08;firstPlayer和secondPlayer&#xff09;最早和最晚相遇的輪次。1. 定義了一個“選手”結構體&#xff0c;包含兩個屬性a&#xff08;戰斗力&#xff…

LVS-NAT模式配置

目錄 1、負載調度器配置 配置IP地址 安裝ipvsadm 開啟路由轉發功能 加載ip_vs模塊 啟動ipvsadm服務 配置負載分配策略 查看驗證 2、web節點配置 3、測試 1、負載調度器配置 配置IP地址 增加一塊網卡 cd /etc/sysconfig/network-scripts/ cp ifcfg-ens192 ifcfg-ens…

中國銀聯豪擲1億采購海光C86架構服務器

近日&#xff0c;中國銀聯國產服務器采購大單正式敲定&#xff0c;基于海光C86架構的服務器產品中標&#xff0c;項目金額超過1億元。接下來&#xff0c;C86服務器將用于支撐中國銀聯的虛擬化、大數據、人工智能、研發測試等技術場景&#xff0c;進一步提升其業務處理能力、用戶…

web網頁,在線%食譜推薦系統%分析系統demo,基于vscode,uniapp,vue,java,jdk,springboot,mysql數據庫

經驗心得兩業務單,項目前端在VSCode、HBuilder環境下整合Uniapp、Vue。后端使用Java、SpringBoot和MySQL&#xff0c;使用這些技術棧咱們就可以搭建在線食譜推薦與分析功能的系統&#xff0c;技術棧雖涉及前后端及數據庫跨度不小&#xff0c;但咱們拆分模塊去開發它難度就會變小…

MCP架構:AI時代的標準化上下文交互協議

本文深入解析Model Context Protocol&#xff08;MCP&#xff09;架構的創新設計&#xff0c;這是一種由Anthropic提出的標準化協議&#xff0c;旨在解決大型語言模型&#xff08;LLM&#xff09;與外部工具和數據源交互的碎片化問題。MCP采用客戶端-服務器架構&#xff0c;通過…

機器學習數據集加載全攻略:從本地到網絡

目錄 一、加載內置數據集 1.1 Iris鳶尾花數據集 1.2 其他常用內置數據集 二、加載網絡數據集 2.1 20 Newsgroups數據集 三、加載本地數據集 3.1 使用pandas加載CSV文件 3.2 處理常見問題 四、數據加載最佳實踐 五、總結 在機器學習項目中&#xff0c;數據的加載是第一…

【操作系統】進程(二)內存管理、通信

JavaEE—進程(二)內存管理、通信 一、內存管理 1.映射訪問 2.獨立分布 防崩潰 二、通信 1.獨立性保障 2.方式 2.1管道 2.1.2特點 2.1.2.1進程條件 2.1.2.2方向 2.1.2.3同步性 2.1.2.4性能 2.2消息隊列 2.2.1特點 2.2.1.1方向 2.2.1.2同步性 2.2.1.3性能 2.3…

windows 裝了 python2 和 python3 如何切換默認版本

現在執行 python --version 是Python 3.11.3怎么讓 python 默認是 python2&#xff0c;而 python3 --version 是執行 pyhon3 呢cmd 執行 where pythonC:\Users\huyun\AppData\Local\Programs\Python\Python311-32\python.exe C:\Users\huyun\AppData\Local\Microsoft\WindowsAp…

二次封裝element ui pagination組件

vue2中二次封裝element ui pagination組件 html部分 <template><div class"table-pagination"><el-pagination:current-page.sync"currentPage":page-sizes"pageSizes":page-size"pageSize":layout"paginationLay…

SAP學習筆記 - 開發39 - RAP開發 BTP /DMO 官方既存測試數據的使用

上一章講了 RAP開發流程的具體步驟&#xff0c;建表 》建Data Model View 》建 Projection View 》建Service Definition 》 建Service Binding 》Publish 服務。 SAP學習筆記 - 開發37 - RAP開發流程的具體步驟&#xff0c; 建表&#xff0c;Data Model View&#xff0c;Proj…

SQLite - C/C++ 開發與應用詳解

SQLite - C/C++ 開發與應用詳解 引言 SQLite 是一個輕量級的數據庫引擎,它被設計成不需要服務器進程就可以獨立運行。SQLite 在 C/C++ 開發領域具有廣泛的應用,由于其體積小、性能高、易于集成等優點,深受開發者的喜愛。本文將詳細介紹 SQLite 在 C/C++ 開發中的應用,包括…

蔚來測開一面:HashMap從1.7開始到1.8的過程,既然都解決不了并發安全問題,為什么還要進一步解決環形鏈表的問題?

文章目錄問題的根源&#xff1a;JDK 1.7 的設計缺陷為什么必須解決這個問題&#xff1f;1\. 故障等級完全不同 &#x1f4a3;2\. JDK 1.8 的解決方案&#xff1a;一石二鳥 &#x1f985;3\. 為“不小心”的開發者提供一層保障 &#x1f6e1;?結論這是一個非常好的問題&#xf…

AI技術正以前所未有的速度重塑職業生態與行業格局,尤其在自動化測試領域,AI驅動的測試框架通過智能化、低代碼化重構傳統測試流程。

AI技術正以前所未有的速度重塑職業生態與行業格局&#xff0c;尤其在自動化測試領域&#xff0c;AI驅動的測試框架通過智能化、低代碼化重構傳統測試流程。以下從職業影響、技術架構、行業應用及應對策略四個維度展開分析&#xff0c;結合代碼示例與框架設計圖解&#xff1a;一…

在 Mac 上安裝 Java 和 IntelliJ IDEA(完整筆記)

目錄 檢查是否已安裝 Java安裝 Java&#xff08;JDK&#xff09;設置 JAVA_HOME 環境變量安裝 IntelliJ IDEA配置 IntelliJ IDEA 使用 JDK驗證和測試環境是否成功 1. 檢查是否已安裝 Java 打開終端&#xff08;Terminal&#xff09;&#xff0c;輸入&#xff1a; java -vers…

基于Java+Maven+Testng+Selenium+Log4j+Allure+Jenkins搭建一個WebUI自動化框架(2)對框架加入業務邏輯層

在上篇中&#xff0c;我們已經搭建好了框架的基本雛形&#xff0c;但只是引入了頁面層、用例層的思想&#xff0c;我們在實際使用中會發現&#xff0c;如果我們很多的用例需要很多前置工作&#xff0c;這些前置工作又有可能涉及到多個頁面&#xff0c;那么我們在維護的時候就會…