windows 編譯ffmpeg4.x for Qt Mingw

之前windows系統上面都是直接使用ffmpeg官網編譯好的動態庫,已經包含了H264,能滿足使用條件就沒有去折騰,但是最近項目需要解決ffmpeg rtsp視頻流 udp傳輸,存在丟包、花屏、嚴重馬賽克等問題,需要修改ffmpeg源碼,so比較自己編譯ffmpeg4.x了。

window編譯ffmpeg mingw,因此要在windows搭建一個模擬linux環境,下載安裝MSYS-1.0.11, 網址:https://sourceforge.net/projects/mingw-w64/files/

下載後直接雙擊運行安裝就可以了,沒有特別需要修改和注意的地方。

進入到安裝目錄下面的 msys\1.0\etc有兩個文件fstab和fstab.sample,如果沒有fstab就自己創建一個。把裏面的的mingw路徑修改爲電腦qt自帶的mingw路徑,注意i686-w64-ming32和/mingw中間有一個空格。如下圖

這樣編譯ffmpeg和x264的模擬linux環境就搭建好了。

開始編譯操作:

1. 分別到ffmpeg和x264官網下載源碼,ffmpeg我使用的是4.1.0版本的源碼,x264下載的最新源碼。

2. 先編譯x264 :到剛剛安裝好的MSYS目錄下面啓動linux環境命令框,是一個.bat批處理,如下圖:直接雙擊打開即可

在命令框內進入到x264源碼路徑下  cd  xx/xx/x264source

然後編譯三部曲 ./configure --enable-static --disable-asm,make,make install這樣就編譯好了一個靜態的x264.a文件和頭文件。 make DESTDIR=xx/xx install 可以指定安裝目錄。期間可能會出現一個錯誤:沒有找到C編譯器。那是因爲你qt的mingw工具沒有添加到系統的環境變量所有提示找不到gcc命令。把qt的mingw工具添加到系統環境變量即可。

3. 編譯ffmpeg4.1.0源碼,步驟跟編譯x264差不多 在MSYS linux環境命令框裏面先進入到ffmpeg源碼路徑

cd xx/xx/ffmpeg4.1.0source

配置命令如下:

 ./configure --enable-shared --disable-yasm --enable-debug=3 --enable-libx264 --enable-gpl

--extra-cflags='-IC:/Users/ASUS/Downloads/last_x264/x264-snapshot-20191128-2245/static_build/include'

--extra-ldflags='-LC:/Users/ASUS/Downloads/last_x264/x264-snapshot-20191128-2245/static_build/lib' 

--prefix=D:/ffmpeg4.1.0_build

要指定剛剛編譯好的x264 include和lib 不然會提示找不到,比較簡單我就不多解釋了,

配置完成後在運行: make -j8
最後運行: make install

大功告成。

 

 

 

 

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