【秒懂音視訊開發】02_Windows開發環境搭建
阿新 • • 發佈:2021-03-02
## 音視訊開發庫的選擇
每個主流平臺基本都有自己的音視訊開發庫(API),用以處理音視訊資料,比如:
- iOS:AVFoundation、AudioUnit等
- Android:MediaPlayer、MediaCodec等
- Windows:DirectShow等
- ...
為了讓所有平臺的開發者都能夠學習到音視訊開發的通用技術,本教程主要講解跨平臺的音視訊開發庫[FFmpeg](http://ffmpeg.org/)。其實只要你掌握了FFmpeg,也可以很快上手其他音視訊開發庫,因為底層原理都是一樣的,你最終操作的都是一樣的資料,比如MP3、MP4檔案。
## FFmpeg
### 下載
網上已經有編譯好的FFmpeg,目前最新的Release版本是4.3.2,可以直接下載到專案中進行開發使用。
- [Windows版本下載]( https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-github ):[ffmpeg-4.3.2-2021-02-27-full_build-shared.7z](https://github.com/GyanD/codexffmpeg/releases/download/4.3.2-2021-02-27/ffmpeg-4.3.2-2021-02-27-full_build-shared.7z)
- 原始碼下載:[ffmpeg-4.3.2.tar.xz](http://ffmpeg.org/releases/ffmpeg-4.3.2.tar.xz)
### 使用
```shell
# 標頭檔案路徑
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](https://www.qt.io/),官方的開發工具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](https://download.qt.io/archive/qt/5.14/5.14.2/qt-opensource-windows-x86-5.14.2.exe)
![qt安裝包](https://img2020.cnblogs.com/blog/497279/202103/497279-20210301223356865-1879489588.png)
### 安裝
![](https://img2020.cnblogs.com/blog/497279/202103/497279-20210301223446602-376823512.png)
![](https://img2020.cnblogs.com/blog/497279/202103/497279-20210301223448612-1507195124.png)
![](https://img2020.cnblogs.com/blog/497279/202103/497279-20210301223450410-1093878860.png)
![](https://img2020.cnblogs.com/blog/497279/202103/497279-20210301223452846-307812161.png)
![](https://img2020.cnblogs.com/blog/497279/202103/497279-20210301223454495-331255702.png)
![](https://img2020.cnblogs.com/blog/497279/202103/497279-20210301223456117-1313660492.png)
![](https://img2020.cnblogs.com/blog/497279/202103/497279-20210301223457841-1880158681.png)
![](https://img2020.cnblogs.com/blog/497279/202103/497279-20210301223459568-105685695.png)
![](https://img2020.cnblogs.com/blog/497279/202103/497279-20210301223501405-1820014781.png)
![](https://img2020.cnblogs.com/blog/497279/202103/497279-20210301223503444-2105003129.png)
### 解決控制檯中文亂碼
- 工具 -> 選項
![](https://img2020.cnblogs.com/blog/497279/202103/497279-20210301223542462-1404459733.png)
![](https://img2020.cnblogs.com/blog/497279/202103/497279-20210301223544116-15480510