vs2015+ffmpeg開發環境搭建

vs2015+ffmpeg開發環境搭建

1.去官方下載ffmpeg  可參見:http://ffmpeg.zeranoe.com/builds/  

包含三個版本:Static、Shared以及Dev

Static   --- 包含3個應用程序:ffmpeg.exe , ffplay.exe , ffprobe.exe,體積都很大,相關的DLL已經被編譯到exe裏面去了

Shared --- 除了ffmpeg.exe , ffplay.exe , ffprobe.exe之外還有一些DLLexe體積很小,在運行時到相應的DLL中調用功能。

Dev      --- 開發者(developer)版本,裏面包含了庫文件xxx.lib以及頭文件xxx.h,這個版本不含exe文件

2.開發者版本配置相關環境

    把dev版本與share版本都下下來解壓,dev版本文件夾中的Include和lib目錄整個兒複製到VS項目目錄下,並在工程屬性中設置附加包含目錄:$(ProjectDir)include和附加庫目錄:$(ProjectDir)lib。

    接着將share版本文件夾中bin目錄下對應的所有dll複製到項目路徑下,如下圖所示:

3.測試

doc/examples目錄下複製metadata.c源文件到新建的"源.cpp"文件中,這是一個獨立的demo,作用是打印音視頻媒體文件基本信息。比如我們放一首音樂到工程目錄下,

接着嘗試運行該源文件,發現報錯!這是因爲我們的C++工程直接調用ffmpeg的C函數庫,導致C函數無法解析,此時用到extern “C”進行聲明即可,下面是聲明方式:

#ifndef INT64_C #define INT64_C(c) (c ## LL) #define UINT64_C(c) (c ## ULL) #endif

以及

#ifdef __cplusplus  extern "C" { #endif   /*Include ffmpeg header file*/ #include <libavformat/avformat.h>  #include <libavcodec/avcodec.h>  #include <libswscale/swscale.h>   #include <libavutil/imgutils.h>   #include <libavutil/opt.h>      #include <libavutil/mathematics.h>    #include <libavutil/samplefmt.h> //----代碼區--- #ifdef __cplusplus  } #endif

將剛剛的那個mp3文件輸入工程項目中試試看能否運行,

如果能運行說明基本配置完成,後續還有一些東西需要配置,主要是針對用到的uint8_t、int64_t等數據類型。

 

4.如何使用static版本


4.1 配置與運行

配置系統環境path環境變量,加入ffmpeg.exe所在目錄如我的:

然後可以在命令符窗口直接調用ffmpeg.exe

 

4.2 ffmpeg.exe的使用

一個簡單的轉碼命令可以這樣寫:

ffmpeg -i input.avi -b:v 640k output.ts

詳情參考ffmpeg參數中文詳細解釋

詳細的使用說明(英文):http://ffmpeg.org/ffmpeg.html

4.3 ffplay.exe

ffplay是用於播放的應用程序。一個簡單的播放命令可以這樣寫:

ffplay test.avi

具體使用方法參考  ffplay的快捷鍵以及選項
詳細的使用說明(英文):http://ffmpeg.org/ffplay.html

4.4 ffprobe.exe

ffprobe是用於查看文件格式的應用程序,詳細的使用說明(英文):http://ffmpeg.org/ffprobe.html

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章