1. 程式人生 > >【秒懂音視訊開發】02_Windows開發環境搭建

【秒懂音視訊開發】02_Windows開發環境搭建

## 音視訊開發庫的選擇 每個主流平臺基本都有自己的音視訊開發庫(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