Windows10平台編譯ffmpeg 4.0.2,產生ffplay

來源:互聯網
上載者:User

標籤:har   gnome   源碼包   min   ash   mmx   gcc   配置   .com   

Windows10平台編譯ffmpeg 4.0.2,產生ffplay

最近想研究下ffplay的代碼,學習代碼是枯燥無味的,也是抽象的,學習一個系統或者軟體之前,好的入門方法是先把系統搭建起來,或者把軟體編譯出來,直觀的操作一下相關的功能,由表入裡,熟悉功能之後,在慢慢深入代碼,由現象看到本質,才能理解的更加深刻。

ffmpeg目前最新的代碼是4.0.2.編譯ffmpeg代碼之前需要做一些準備工作。

安裝編譯環境

網上有兩種windows下的gcc編譯環境可供選擇,一個是MinGW,另外一個是cygwin,二者的區別可以參考一個文章。其中注意有一點是使用cygwin編譯出來的程式都要依賴Cygwin1.dll,因此決定使用WinGW編譯ffmpeg。

安裝minGW installation manager

下載連結

下載之後安裝,開啟主介面,安裝下面的組件。

安裝MinGW

下面的包都需要安裝(有可能遺漏,編譯ffmpeg時缺什麼可以回來安裝):

  • gcc-dev
  • gcc-bin
  • binutils-bin
  • libpthreadgc-dev
  • auto-make

MinGW的安裝目錄為C:\MinGW

繼續安裝MSYS

MSYS即Minimal GNU(POSIX)system on Windows,是一個小型的GNU環境,包括基本的bash,make等等。是Windows下最優秀的GNU環境。可以通過minGW installation manager進行安裝。

MSYS的預設安裝目錄為C:\MinGW\msys.

編譯ffmpeg

編譯ffmpeg是很簡單的,但預設編譯ffmpeg是不帶ffplay的。需要做額外的操作。

yasm

yasm是彙編編譯器,因為ffmpeg中為了提高效率用到了彙編指令,比如MMX和SSE。因此需要安裝這個工具。下載連結

我編譯的是32位的ffmpeg,所以下載“Win32.exe”。下載完成之後將yasm-1.3.0-win32.exe重新命名為yasm.exe,放到C:\MinGW\msys\1.0\bin下面。

pkg-config

pkg-config是一個輔助的配置、連結工具,可以方便的支援gcc自動設定。

下載連結,下載完之後將bin下面的pkg-config.exe拷貝到C:\MinGW\msys\1.0\bin下面。

SDL2

下載SDL2,解壓之後,把目錄下lib,bin.include,share下面的內容拷貝到C:\MinGW\msys\1.0的對應目錄下,注意,是全部。

ffmpeg-4.0.2

把下載的ffmpeg源碼包放到home目錄下面,開啟C:\MinGW\msys\1.0下的msys.bat,進入ffmpeg源碼根目錄,建立build檔案夾,進入檔案夾,執行下面的命令:

$ ../configure --disable-static --enable-shared --enable-gpl --enable-version3 --enable-pthreads --enable-sdl

成功之後,執行make

make

但是會報如下錯誤:

"ws2tcpip.h is not compatible with winsock.h. Include winsock2.h instead."

字面意思是某個檔案包含了winsock.h,但是應該包含winsock2.h。找了半天,最後想到一個辦法,把C:\MinGW\include下面的winsock.h刪掉,再次執行make命令,最後發現是ptw32_errno.h這個檔案包含了winsock.h,將其改為winsock2.h, 再次make,成功。

最後make install

make install

運行ffplay

ffplay.exe ed_1024_512.mp4

參考

https://www.cnblogs.com/tocy/p/windows_mingw_compile_ffmpeg_with_ffplay.html

Windows10平台編譯ffmpeg 4.0.2,產生ffplay

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.