音視訊開發庫的選擇
每個主流平臺基本都有自己的音視訊開發庫(API),用以處理音視訊資料,比如:
- iOS:AVFoundation、AudioUnit等
- Android:MediaPlayer、MediaCodec等
- Windows:DirectShow等
- ...
為了讓所有平臺的開發者都能夠學習到音視訊開發的通用技術,本教程主要講解跨平臺的音視訊開發庫FFmpeg。其實只要你掌握了FFmpeg,也可以很快上手其他音視訊開發庫,因為底層原理都是一樣的,你最終操作的都是一樣的資料,比如MP3、MP4檔案。
FFmpeg
下載
網上已經有編譯好的FFmpeg,目前最新的Release版本是4.3.2,可以直接下載到專案中進行開發使用。
使用
# 標頭檔案路徑
INCLUDEPATH += %FFmpeg_Build%/include
# 庫檔案路徑
LIBS += -L %FFmpeg_Build%/lib\
-lavcodec\
-lavdevice\
-lavfilter\
-lavformat\
-lavutil\
-lpostproc\
-lswscale\
-lswresample
# 將%FFmpeg_Build%/bin目錄中的所有dll檔案拷貝到exe檔案所在路徑
GUI庫的選擇
如果要想開發一個播放器,肯定得編寫介面,同樣為了保證跨平臺開發,這裡採用的GUI庫是Qt,官方的開發工具QtCreator是跨平臺的(Windows、Mac、Linux都有)。採用的程式語言是C++。
QtCreator
下載
課程中選擇5.14.2版本(從5.15版本開始是收費版本)
- 下載地址:https://download.qt.io/archive/qt/5.14/5.14.2/
- Windows系統選擇下載:qt-opensource-windows-x86-5.14.2.exe
安裝
解決控制檯中文亂碼
- 工具 -> 選項