日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

【C++ 语言】Visual Studio 配置 FFMPEG 开发环境 ( VS2019 CMake 环境安装 | 下载 FFMPEG 开发包 | 配置 FFMPEG )

發(fā)布時間:2025/6/17 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【C++ 语言】Visual Studio 配置 FFMPEG 开发环境 ( VS2019 CMake 环境安装 | 下载 FFMPEG 开发包 | 配置 FFMPEG ) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

        • Visual Studio 2019 社區(qū)版 CMakeList 開發(fā)環(huán)境安裝
        • 創(chuàng)建 FFMPEG 配置項目
        • FFMPEG 開發(fā)包下載
        • FFMPEG 頭文件 靜態(tài)鏈接庫 ( .lib ) 動態(tài)鏈接庫 ( .dll ) 文件處理
        • Visual Studio Cmake 項目配置 FFMPEG
        • 包含 avcodec 庫并使用



Visual Studio 2019 社區(qū)版 CMakeList 開發(fā)環(huán)境安裝



配置該環(huán)境主要是配合 Android 進行開發(fā) , 目前 Android 中調(diào)用 C/C++ 代碼使用的都是 CMake 構(gòu)建項目 , 因此在次數(shù) VS 中要使用 CMake 構(gòu)建 FFMPEG 的開發(fā)環(huán)境 ;

先搭建基礎(chǔ)的開發(fā)環(huán)境 , 然后在配置 FFMPEG 源碼 ;

基礎(chǔ)開發(fā)環(huán)境搭建 , 博客地址 : https://hanshuliang.blog.csdn.net/article/details/98175395




創(chuàng)建 FFMPEG 配置項目



1.創(chuàng)建項目 : 打開 Visual Studio 后 , 點擊 “創(chuàng)建新項目” , 開始創(chuàng)建 CMake 項目 ;

2.選擇項目類型 : 選擇 CMake 項目類型 ;


3.輸入項目名稱 , 選擇項目位置 , 解決方案命名使用系統(tǒng)自動生成的 , 點擊 “創(chuàng)建” 按鈕 , 創(chuàng)建新項目 ;

4.進入代碼界面后 , 會自動生成解決方案 , 點擊運行測試項目是否完善 ;




FFMPEG 開發(fā)包下載



1.FFMPEG 官網(wǎng)地址 : http://ffmpeg.org/ , 在主頁中點擊 “Download” 下載按鈕 , 進入下載界面 ;

2.下載頁面鏈接 ( 默認 Linux ) : http://ffmpeg.org/download.html
在下面頁面中默認是 Linux 的下載項 , 由于要在 Windows 系統(tǒng)中的 Visual Studio 中搭建開發(fā)環(huán)境 , 這里我們選擇 Windows 下載項, 這里選擇 Windows 下載項;

3.Windows 下載頁 : http://ffmpeg.org/download.html#build-windows
在 Windows 下載頁面中 , 點擊 “Windows Builds” 鏈接 , 進入 Windows 開發(fā)包下載頁面 ;

4.FFMPEG Windows 開發(fā)包地址 : https://ffmpeg.zeranoe.com/builds/
在該界面中 , “Version” 選項下選擇要下載的 FFMPEG 版本 , 可以選擇一個穩(wěn)定版本 , 也可以選擇最新版本 , 這里選擇最新的 2019年8月13日版本 , “Architecture” 下選擇要下載的架構(gòu) , 這里選擇 “Windows 64-bit” , “Linking” 選項下的三個 ( Static , Shared , Dev ) 都下載下來 ;

下載的文件為 :
ffmpeg-20190813-8cd96e1-win64-static.zip : 包含有 FFMPEG 文檔 ;
ffmpeg-20190813-8cd96e1-win64-shared.zip : 包含 .dll 動態(tài)鏈接庫 ;
ffmpeg-20190813-8cd96e1-win64-dev.zip : 包含相關(guān)頭文件和 lib 靜態(tài)鏈接庫 ;




FFMPEG 頭文件 靜態(tài)鏈接庫 ( .lib ) 動態(tài)鏈接庫 ( .dll ) 文件處理



1.頭文件和靜態(tài)鏈接庫 ( .lib ) 解壓拷貝

① 解壓 ffmpeg-20190813-8cd96e1-win64-dev.zip 文件 , 如下 :

② 將其中的 lib 和 include 目錄整體拷貝到 CMake 項目的源碼目錄下 ;

2.動態(tài)鏈接庫 ( .dll ) 解壓拷貝

① 將 ffmpeg-20190813-8cd96e1-win64-shared.zip 解壓 , 在 ffmpeg-20190813-8cd96e1-win64-shared/bin 目錄下有 8 個 .dll 文件 , 內(nèi)容如下 :

② 將其拷貝到 C:\Windows\System32 目錄下 , 如下圖所示 :

下面是從 FFMPEG 官網(wǎng)下載的三個壓縮包 , 及其解壓后的目錄截圖 :




Visual Studio Cmake 項目配置 FFMPEG



執(zhí)行該步驟前確保上個步驟執(zhí)行完畢 ;
① 拷貝頭文件和靜態(tài)鏈接庫到項目源碼目錄中 ;
② 拷貝 8 個動態(tài)鏈接庫 ( .dll ) 到 C:\Windows\System32 中 ;

CMakeList.txt 配置 :

  • 1.要配置的文件 : 此處要配置的 CMake 配置文件是源碼路徑下的 CMakeList.txt 配置文件 , 不是項目根目錄下的配置文件 ;
  • 2.配置頭文件目錄 : 之前拷貝的 include 目錄到源碼目錄下 , include 目錄與該配置文件在同一個目錄 , 因此這里使用 “include” 相對路徑配置即可 ;
    • 相對路徑方案配置 : 直接配置 “include” 路徑 ;
    • 絕對路徑方案配置 : 這里也可以配置其絕對路徑 , “A:/develop/workspace/VS/002_FFMPEG/002_FFMPEG/include” ;
    • 注意點 : 配置路徑中不要使用拷貝出來的 “” , 需要修改成 “/” 作為文件分隔符 ;
#配置頭文件目錄 : 如果想要在寫代碼時調(diào)用 FFMPEG 中的函數(shù) , 必須設(shè)置頭文件的查找位置 include_directories("include")
  • 3.配置庫文件目錄 : 這里也配置相對路徑 “l(fā)ib” ;
#配置庫文件目錄 : 設(shè)置 lib 庫文件查找目錄 , 相當(dāng)于 Java 中的 jar 包 link_directories("lib")
  • 4.配置 8 個 FFMPEG 庫鏈接 : 使用 target_link_libraries 配置 FFMPEG 的8個動態(tài)鏈接庫 , 注意該配置必須在解決方案配置之后 , 要先配置生成 002_FFMPEG 項目 , 然后配置該配置項 ;
#設(shè)置編譯鏈接的 FFMPEG 庫 , 需要把 FFMPEG 的庫都配置到下面 #注意 使用 002_FFMPEG 的前提是 , 該項目必須在 002_FFMPEG 配置后面進行配置 target_link_libraries(002_FFMPEG #本項目的解決方案名稱avcodec #音視頻編碼核心庫 , 用于音視頻或圖片編解碼avdevice #硬件采集 , 加速 , 顯示 庫avfilter #音視頻濾波器avformat #音視頻封裝格式生成或解析 avutil #該庫中封裝了一些公共的工具函數(shù)postproc #封裝了同步, 時間計算的簡單算法swresample #音視頻編解碼格式預(yù)設(shè)swscale #原始視頻格式轉(zhuǎn)換庫 )
  • 5.完整的 CMakeList.txt 配置文件 :
# CMakeList.txt: 002_FFMPEG 的 CMake 項目,在此處包括源代碼并定義 # 項目特定的邏輯。 # cmake_minimum_required (VERSION 3.8)#配置頭文件目錄 : 如果想要在寫代碼時調(diào)用 FFMPEG 中的函數(shù) , 必須設(shè)置頭文件的查找位置 include_directories("include")#配置庫文件目錄 : 設(shè)置 lib 庫文件查找目錄 , 相當(dāng)于 Java 中的 jar 包 link_directories("lib")# 將源代碼添加到此項目的可執(zhí)行文件。 add_executable (002_FFMPEG "002_FFMPEG.cpp" "002_FFMPEG.h")#設(shè)置編譯鏈接的 FFMPEG 庫 , 需要把 FFMPEG 的庫都配置到下面 #注意 使用 002_FFMPEG 的前提是 , 該項目必須在 002_FFMPEG 配置后面進行配置 target_link_libraries(002_FFMPEG #本項目的解決方案名稱avcodec #音視頻編碼核心庫 , 用于音視頻或圖片編解碼avdevice #硬件采集 , 加速 , 顯示 庫avfilter #音視頻濾波器avformat #音視頻封裝格式生成或解析 avutil #該庫中封裝了一些公共的工具函數(shù)postproc #封裝了同步, 時間計算的簡單算法swresample #音視頻編解碼格式預(yù)設(shè)swscale #原始視頻格式轉(zhuǎn)換庫 )# TODO: 如有需要,請?zhí)砑訙y試并安裝目標。


包含 avcodec 庫并使用



包含 avcodec 庫并使用 : 該庫是 FFMPEG 的核心庫 , 8 個動態(tài)鏈接庫之一 ;

  • 1.包含 avcodec 庫 頭文件 : 注意 C/C++ 兼容 , 該庫是 C 語言庫 , 需要在 extern “C”{} 中包含該庫 ;
extern "C" {#include <libavcodec/avcodec.h> }
  • 2.打印 avcodec 版本號 : 調(diào)用 av_version_info() 方法 , 即可獲取 avcodec 版本號 ;
//打印 avcodec 版本號cout << av_version_info() << endl;
  • 3.完整代碼 :
// 002_FFMPEG.cpp: 定義應(yīng)用程序的入口點。 //#include "002_FFMPEG.h"using namespace std;extern "C" {#include <libavcodec/avcodec.h> }int main() {cout << "Hello FFMPEG。" << endl;//打印 avcodec 版本號cout << av_version_info() << endl;return 0; }
  • 4.執(zhí)行結(jié)果 :
Hello FFMPEG。 N-94530-g8cd96e13ee


總結(jié)

以上是生活随笔為你收集整理的【C++ 语言】Visual Studio 配置 FFMPEG 开发环境 ( VS2019 CMake 环境安装 | 下载 FFMPEG 开发包 | 配置 FFMPEG )的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。