程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> FFmpeg使用手冊 - FFmpeg 的編譯安裝

FFmpeg使用手冊 - FFmpeg 的編譯安裝

編輯:關於PHP編程

FFmpeg使用手冊 - FFmpeg 的編譯安裝


FFMpeg在官方網站中提供了已經編譯好的可執行文件,用FFmpeg的人很多,因為FFmpeg是開源的,並且可以自己DIY,而且很強大,所以,FFmpeg還有一個優勢就是開源。而在使用Linux時,無論是用ubuntu或者redhat,如果使用系統提供的源安裝ffmpeg時會發現,版本相對比較老舊,例如apt-get install ffmpeg後或者yum install ffmpeg後會發現,版本很老,有些新的功能不一定支持,例如一些新的封裝格式,或者通信協議。所以會編譯FFmpeg這個技能就至關重要了,甚至讓自己DIY起來更加順利。

2.1 FFmpeg Windows平台編譯
FFmpeg在Windows平台中編譯時使用的cygwin來進行編譯,首先需要安裝cygwin環境,然後才可以編譯,如果不希望使用cygwin而使用Visual Studio的話,則需要消耗很多時間去支持到Visual Studio平台,與其話費時間去做這些事,還不如直接使用cygwin進行支持。
由於cygwin的平台使用方式為模擬Linux的環境,所以編譯FFmpeg在cygwin平台下,也同樣簡單,同樣方便。

Configure之後,可以通過make;make install安裝源碼編譯的ffmpeg,在cygwin平台下make編譯ffmpeg是一個比較漫長的過程。當編譯安裝完成後,即可使用ffmpeg命令,但是這個編譯出來的ffmpeg僅僅為最簡易的ffmpeg,並沒有支持h264、h265、加字幕等編碼支持,如果需要支持更多模塊和參數,還需要進行更加詳細的定制。
2.2 FFmpeg Linux平台編譯
FFmpeg在很多Linux的發行版本源中已經包含,例如Ubuntu / Fedora的鏡像源中包含了安裝包,但是版本相對來說比較老,有些甚至不支持H264、H265編碼,或者不支持rtmp協議等,為了支持這些協議,編碼,需要自己手動編譯一套FFmpeg,所以在Linux下面,推薦的最好的FFmpeg就是根據自己的需求進行定制的FFmpeg,默認編譯FFmpeg的時候,需要用到yasm匯編器對FFmpeg中的匯編部分進行編譯,如果不用匯編部分的代碼,可以不安裝yasm匯編器。默認執行配置的時候,提示錯誤:

根據圖中的錯誤提示,可以使--disable-yasm來進行ffmpeg的編譯配置,不過這麼做的話就不編譯ffmpeg的匯編代碼部分,相關的優化會少一些。如果需要去掉這些錯誤,可以通過安裝yasm匯編器來解決:

下載yasm匯編器後,configure過後,可以通過make編譯,make install安裝即可;
然後再回到ffmpeg源代碼目錄中進行之前的configure操作,就會消失。


2.3 FFmpeg OSX平台編譯
有些人在OSX下面使用FFmpeg進行一些編轉碼或流媒體采集等工作,為了方便調試,需要生成OSX平台相關的FFmpeg,在OSX下面編譯FFmpeg前,首先需要安裝編譯環境,在OSX下面使用的編譯工具鏈為LLVM,如圖:

還需要安裝yasm匯編編譯工具,否則在生成Makefile時會報未安裝yasm工具的錯誤.

在LLVM下源碼安裝FFmpeg,與其他平台幾本相同,尤其與Linux相同,FFmpeg從git://source.ffmpeg.org/ffmpeg.git中git clone下來:

源代碼down下來之後,可以開始進入進入編譯階段,通過如下幾部可以完成基本的編譯工作:

接著只需要執行make編譯與make install安裝即可。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved