標籤:h265 ffmpeg2 mingw h264 windows
0、前言
據說新出來了h265的視頻,在迅雷看看上面看到的,網上查看了一下簡介,貌似h265的視頻比h264的視頻壓縮率要高,而且能做4K的視頻。
同時看到網上有人試過ffmpeg在編譯的時候加上了h265,這樣ffmpeg看起來倒是能外掛h265的編解碼,所以這篇blog文,主要是用ffmpeg來嘗試一下h265。
這裡引用幾張x265的介紹圖片(當然我自己的顯示器也是4k的):
1、首先下載ffmpeg原始碼
目前最新版是2.2.4
下載傳送門:http://www.ffmpeg.org/releases/ffmpeg-2.2.4.tar.gz
2、假設已經配置好了mingw我的系統是win7,網上配置mingw的文章還是挺多的
3、編譯x264(ffmpeg同樣需要外掛h264的編解碼)來這裡下載:http://www.videolan.org/developers/x264.html
解壓出來,用mingw進入原始碼目錄
執行:./configure --prefix=/x264 --enable-shared--enable-static
make
make install
這時候在C:\MinGW\msys\1.0下面會出現一個x264檔案夾,裡面就是所需要的庫了
4、編譯x265(這是主要需要的)x265的原始碼是用hg形式複製的(和git一樣的原始檔控制總管)
因為原始碼的編譯使用的是cmake,所以還要配置cmake的環境,只需要下載一個綠色免安裝版本的cmake,然後填寫系統的環境變數到cmake.exe即可,所以下面的步驟假設已經配置好了cmake
那麼首先,用mingw進入x265的原始碼目錄中的msys檔案夾中:
cdx265/build/msys/
執行sh make-Makefiles.sh
這樣就開啟了cmake的配置介面
因為已經配置過,要是首次配置(出了配置安裝路徑之外),還需要找到yasm.exe來支援彙編(這個需要單獨下載,網上也很多下載的地方)
然後依次點擊configure----generate
這樣設定檔就產生了,關掉cmake(右上方關閉),這時回到mingw中
make
make install
這樣就在C:\x265_libs產生了x265的dll
5、產生ffmpeg前需要做的配置
把上面產生的x264的檔案夾:
產生的x265的檔案夾:
都拷貝一份,放到mingw的根目錄中:
6、編譯ffmpegmingw進入原始碼目錄中,執行:
./configure --enable-yasm--prefix=/ffmpeg --disable-debug --disable-static \
--enable-shared--enable-gpl --enable-libx265 --enable-libx264
這樣就代表已經配置成功了
make
make install
7、測試使用ffmpeg壓縮視頻
測試使用的環境是虛擬機器中,這樣可以發現我們在運行exe的時候缺少什麼dll
把bin檔案夾下的ffmpeg.exe放到虛擬機器中跑,最終發現,除了bin裡面出現的這些dll之外,還需要用到mingw中的libgcc_s_dw2-1.dll、libiconv-2.dll(可以通過搜尋mingw根目錄得到)
還需要x265和x264的dll,在這兩個原始碼的工程,搜尋得到
然後使用命令,壓縮一個視頻,分別看看x264和x265的區別
a、ffmpeg -i 1.mp4 -acodec copy -vcodec libx264-f mp4 h264.mp4
b、ffmpeg -i 1.mp4 -acodec copy -vcodeclibx265 -f mp4 h265.mp4
可以看到這兩個檔案的大小比較(壓縮速度,在這裡x264比較快):
其實還是比較不錯的,壓縮度,對於更大的視頻,要省掉不少的空間佔用。