FFmpeg 簡介
FFmpeg的名稱來自MPEG視頻編碼標准,前面的“FF”代表“Fast Forward”,FFmpeg是一套可以用來記錄、轉換數字音頻、視頻,並能將其轉化為流的開源計算機程序。可以輕易地實現多種視頻格式之間的相互轉換。
官網
FFmpeg Club
GitHub
應用
使用FFMPEG作為內核視頻播放器:Mplayer,ffplay,射手播放器,暴風影音,KMPlayer,QQ影音...
使用FFMPEG作為內核的Directshow Filter:ffdshow,lav filters...
使用FFMPEG作為內核的轉碼工具:ffmpeg,格式工廠...
下載
下載地址
本文使用的FFmpeg版本是:4.1.3
FFmpeg分為3個版本:Static、 Shared、 Dev
前兩個版本可以直接在命令行中使用。包含了三個exe:ffmpeg.exe,ffplay.exe,ffprobe.exe
- Static 版本中的exe體積較大,那是因為相關的Dll都已經編譯進exe里面去了。
- Shared 版本中exe的體積相對小很多,是因為它們運行的時候還需要到相關的dll中調用相應的功能
- Dev 版本用於開發,里面包含了庫文件xxx.lib以及頭文件xxx.h
測試
進入static/bin
目錄,拷貝一個視頻test.avi
,執行:
ffplay test.avi
VS2013 下的配置
新建一個 VS2013 控制台程序,將上述下載的Dev
版本的lib
和 include
文件夾拷貝到工程目錄下,並將Shared
版本的 exe
,dll
也拷貝到工程路徑下,配置項目屬性:
- 配置include路徑
- 配置lib路徑
- 配置lib
測試程序:
#include "stdafx.h"
extern "C"
{
#include "include\libavcodec\avcodec.h"
}
int _tmain(int argc, _TCHAR* argv[])
{
printf("%s\n", avcodec_configuration());
return 0;
}
測試結果: