歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu 下編譯ffmpeg和x264解編碼器

Ubuntu 下編譯ffmpeg和x264解編碼器

日期:2017/2/28 16:50:51   编辑:Linux教程

Ubuntu(Linux)下編譯ffmpeg(svn版)和x264(git版)解編碼器

ffmpeg是一款多媒體視頻和音頻文件解碼和編碼的工具,用來提供眾多的多媒體(主要指視頻和音頻)文件的播放和轉換支持。x264是一個編解碼H264視頻格式的庫文件,相比較xvid或者其它流行的編解碼器轉換效率和轉換後的畫面質量都更加優異。Avidemux, VLC Player, MEncoder, 和Handbrake中都可利用x264庫文件。

盡管ffmpeg和x264存在於Ubuntu的軟件倉庫中,但是實際上通過Uuntu軟件倉庫apt-get方式安裝的ffmpeg是不完整的的版本,仍需要我們通過自行編譯才能提供對更多視頻、音頻格式(例如3gp)轉換支持。

獲取相應的依賴軟件

1. 首先請確認在軟件源中已經添加了相應的Universe和Multiverse軟件源,目的是我們要通過軟件倉庫來解決x264和ffmpeg的依賴文件。

2. 接下來如果您之前安裝了x264,libx264-dev和ffmpeg請先把它卸載,打開X終端或控制台運行下面的命令:

sudo apt-get purge ffmpeg x264 libx264-dev

下面的步驟我們會安裝依賴軟件及其它編譯所需要的軟件

對於Ubuntu的版本:Intrepid Ibex 8.10

命令:

sudo apt-get update

sudo apt-get install build-essential subversion git-core checkinstall yasm texi2html libfaad-dev libfaac-dev libmp3lame-dev libtheora-dev

對於Ubuntu的版本:Hardy Heron 8.04:

命令:

sudo apt-get update

sudo apt-get install build-essential subversion git-core checkinstall texi2html libfaad-dev libfaac-dev liblame-dev libtheora-dev

Intrepid Ibex 8.10 和 Hardy Heron 8.04都用到的依賴包:

libsdl1.2-dev: 運行 ffplay需要

libfaad-dev libfaac-dev libmp3lame-dev libtheora-dev libvorbis-dev libxvidcore4-dev libschroedinger-dev libspeex-dev libgsm1-dev: ffmpeg開發應用到的一些文件,其中一些已經在ffmpeg的源碼中包含,如果系統中包含且版本太低,可能會導致安裝失敗(不常見)。

3. 使用Ubuntu版本為Hardy Heron 8.04請注意下。請最好先安裝yasm(一個匯編編譯軟器,和gcc類似)。它可以優化x264的代碼。當然即便沒有yasm,也可以在編譯過程中加入–disable-asm參數來編譯,不過這樣得到的x264運行效率會稍差一些。

好像在Ubuntu Hardy Heron 8.04軟件倉庫中的Yasm的版本是0.5.0,而最新版本的x264的匯編編譯部分需要yasm的版本至少為0.6.1,否則在執行編譯命令時會提示:Minimum version is yasm-0.6.1。這時我們可以通過執行:

命令:

cd ~/

wget http://www.tortall.net/projects/yasm/releases/yasm-0.7.2.tar.gz

tar xzvf yasm-0.7.2.tar.gz

cd yasm-0.7.2

./configure

make

sudo checkinstall

來自行下載並編譯相應的軟件

Copyright © Linux教程網 All Rights Reserved