1. 下載ffmpeg編譯好的Windows版本
ffmpeg 官網(wǎng) -> download -> 選擇Windows系統(tǒng) -> 選擇gyan.dev版本-> shared版本
在Windows系統(tǒng)上,Gyan.dev和BtbN都提供了FFmpeg的預(yù)編譯版本。Gyan.dev通常使用MSVC編譯器,而BtbN使用MinGW編譯器。因此,Gyan.dev的版本可能會(huì)更符合Windows標(biāo)準(zhǔn),而BtbN的版本可能會(huì)更加開放和跨平臺(tái)。
選擇 shared版本
各個(gè)版本的區(qū)別介紹
- essential就是簡(jiǎn)版,只包含ffmpeg.exe、ffplay.exe、ffprobe.exe
- Full版適用于終端用戶,因?yàn)樗怂械目蓤?zhí)行文件和靜態(tài)庫(kù),用戶可以從命令行調(diào)用FFmpeg的工具來進(jìn)行視頻處理
- Full-Shared版僅包含共享庫(kù)和工具,不包含可執(zhí)行文件和靜態(tài)庫(kù),這使得開發(fā)者可以使用FFmpeg的功能實(shí)現(xiàn)自己的應(yīng)用程序或集成FFmpeg到自己的項(xiàng)目中。
2. 設(shè)置環(huán)境變量
下載后解壓,文件目錄如下:
設(shè)置一下將bin目錄設(shè)置到環(huán)境變量中去。配置環(huán)境變量不明白自行搜索。
接下來在打開命令終端
輸入 ffmpeg -version。
這樣就表示成功。
3. visual studio2022 配置FFmpeg環(huán)境
1. 設(shè)置附加包含目錄
首先右鍵點(diǎn)擊創(chuàng)建的項(xiàng)目FFmpegTest,選擇屬性
在配置屬性中選擇C/C++目錄中常規(guī)屬性的附加包含目錄添加ffumpeg的頭文件目錄。
2. 設(shè)置附加庫(kù)目錄
在配置屬性中選擇鏈接器中常規(guī)屬性附加庫(kù)目錄添加ffmpeg的lib路徑。
3.設(shè)置附加依賴項(xiàng)
在鏈接器輸入屬性中附加依賴項(xiàng)添加具體的依賴庫(kù)名稱
avcodec.lib
avdevice.lib
avfilter.lib
avformat.lib
avutil.lib
postproc.lib
swresample.lib
swscale.lib
4. 配置調(diào)試環(huán)境
上述環(huán)境基本就設(shè)置好了,如果在使用ffmpeg庫(kù)編譯代碼的時(shí)候,提示沒有找到xx.dll庫(kù)。
原因: 由于沒有找到ffmpeg動(dòng)態(tài)庫(kù)所在的目錄。
解決: 設(shè)置調(diào)試時(shí)的環(huán)境變量,把ffmpeg動(dòng)態(tài)庫(kù)的路徑添加到環(huán)境變量中。
配置屬性-> 調(diào)試 -> 環(huán)境- >添加路徑
4. 測(cè)試是否配置成功
1. 編寫代碼
#include <iostream>
extern "C" {
#include "libavcodec/avcodec.h"
#include "libavformat/avformat.h"
}
int main()
{
std::cout << "Hello World!\n";
printf("%s\n", avcodec_configuration());
}
使用extern “C” 。"extern C"是一種語言特性,用于在C++代碼中引用C語言函數(shù)。因?yàn)?strong>ffmpeg是用C語言編寫的,告訴鏈接器在鏈接的時(shí)候用C函數(shù)規(guī)范來鏈接,確保C++代碼和FFmpeg使用相同的函數(shù)名(主要原因是C++和C程序編譯完成后在目標(biāo)代碼中命名規(guī)則不同)。這樣,當(dāng)我們?cè)诰幾g和鏈接時(shí)使用C++編譯器時(shí),編譯器將關(guān)閉函數(shù)名稱修飾,從而讓我們能夠直接使用FFmpeg的C函數(shù)。
2.執(zhí)行結(jié)果
文章來源:http://www.zghlxwxcb.cn/news/detail-763384.html
這樣就配置成功了。文章來源地址http://www.zghlxwxcb.cn/news/detail-763384.html
到了這里,關(guān)于音視頻開發(fā)五:visual studio集成使用FFmpeg的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!