歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

FFmpeg Linux下編譯整理

今天終於將服務器架設起來了.心理舒坦,所以總結一下,我使用的操作系統是:Ubuntu 9.10,我是參考這裡的來進行編譯的插件安裝的,不過有些插件安裝不上,注意在Ubuntu下如果執行命令make install失敗,則使用sudo make install使用root 權限來執行,因為有些目錄普通用戶不能創建。基本編譯過程和需要安裝的差價包上面博客講的很詳細,網上也有很多教程。

一、安裝編譯所需的工具和庫:

(1)先可以執行命令:

sudo apt-get purge ffmpeg x264 libx264-dev

清除原來的安裝包

(2)然後執行命令:

sudo apt-get install build-essential subversion git-core checkinstall yasm texi2html libfaac-dev libfaad-dev libMP3lame-dev libsdl1.2-dev libtheora-dev libx11-dev libxvidcore4-dev zlib1g-dev

二、編譯和安裝x264庫

git clone git://git.videolan.org/x264.git

cd x264

./configure

make

sudo make install

有時候編譯不過去,則可以使用新力德軟件安裝程序來進行安裝,使用方便

三、編譯和裝ffmpeg:

svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg

cd ffmpeg

./configure –enable-gpl –enable-nonfree –enable-pthreads –enable-libfaac –enable-libfaad –enable-libMP3lame –enable-libtheora –enable-libx264 –enable-libxvid –enable-x11grab –enable-libopencore-amrnb   –enable-libopencore-amrwb –enable-libopencore-amrnb –enable-version3

make

sudo make install

一般就可以了,輸入ffplay  xxx.rm 播放OK。configure 不用帶參數也行,就用默認的。

//------------------------------------------

 

//

在此我遇到了一個奇怪的問題,編譯是通過了,但是編譯出來的ffmpeg有問題,在進行流媒體解碼時出錯,於是我去官方網站手動下載了ffmpeg源碼包

順利編譯完成後,輸入命令ffserver,ffmpeg,ffplay都會有相應的提示,說明你以經安裝完成,具體安裝在哪裡,一般在/usr/local/bin/下面,也可以在./configure參數指定

接下來,我們通過ffserver,ffmpeg,ffplay,來時間流媒體播放功能

第一步:

ffserver.conf 配置

Port 8090

BindAddress 0.0.0.0

MaxHTTPConnections 2000

MaxClients 1000

MaxBandwidth 1000

CustomLog -

NoDaemon

<Stream testflv>

File "test.flv"

Format flv

</Stream>

<Stream Blue>

File "Blur.MP3"

Format flv

</Stream>

<Feed feed1.ffm>

File /tmp/feed1.ffm

FileMaxSize 2M

ACL allow 127.0.0.1

</Feed>

<Stream mytest>

Feed feed1.ffm

Format flv

</Stream>

<Redirect index.html>

URL http://www.ffmpeg.org/

</Redirect>

參數說明:

我上面創建了三個流,其中Blue,testflv都是直接使用本地文件創建的

<Stream Blue>

File "Blur.MP3"

Format flv

</Stream>

表示創建一個以當前文件所在目錄下的Blur.MP3創建的流,Blue,並將他以flv格式播放

Feed feed1.ffm>

File /tmp/feed1.ffm

FileMaxSize 2M

ACL allow 127.0.0.1

</Feed>

表示:在/tmp/下創建一個緩沖區,feed1.ffm,大小為2M,這個可以自己根據需要修改

ACL allow 127.0.0.1 表示可以訪問的IP

<Stream mytest>

Feed feed1.ffm

Format flv

</Stream>

表示:以緩沖區feed1.ffm 創建的流mytest

其它東西不用管,OK,ffserver.conf配置好後,我們開始啟動ffserver服務器

啟動命令:

打開終端,輸入 ffserver -f ffserver.conf  命令啟動ffserver

這裡注意,你的ffserver.conf路徑,我一般是在當前ffserver.conf所以的文件夾下運行終端的

當啟動成功後,就不用管了,我們另開啟一個終端測試,是否配置成功

輸入:

ffplay http://localhost:8090/Blue

ffplay http://localhost:8090/testflv

如果能正常播放的話,那說明已經配置成功了

現在我們要做的是通過ffmpeg來將,數據字入緩沖區feed1.ffm中

注意,由於我們現在的緩存沖只有2M所以,當緩沖區的內容滿後,他會自動覆蓋

我們打開一個新的終端:

輸入:ffmpeg -i inputfile -an http://localhost:800/feed1.ffm

啟動ffmpeg

inputfile 為輸入文件名,由於要達到電影播放效果,我使用了一個MP4格式的電影,後成,是將數據寫了緩沖區feed1.ffm

如果沒有問題,則會出現轉換數據,一直在轉換,那說明正在轉換了,本人剛開始用svn下載的版本,在此執行就出問題了,後面自己去官方網站下載了一個ffmpeg源碼壓縮包,便運行成功了

OK,現在我們再用ffplay測試一下吧

新開一個終端輸入:ffplay http://localhost:8090/mytest

OK,達到我們想要的效果了。。如果大家在以上出現什麼問題,可以和我交流

首先要安裝各種解碼器

1、lame

lame-3.97.tar.gz

Url:http://sourceforge.net/project/showfiles.php?group_id=290&package_id=309

安裝方法如下:Java代碼

tar -zxvf lame-3.97.tar.gz  

cd lame-3.97

 

./configure --enable-shared --prefix=/usr  

make  

make install

tar -zxvf lame-3.97.tar.gz

cd lame-3.97

./configure --enable-shared --prefix=/usr

make

make install

2、libogg

libogg-1.1.3.tar.gz

Url:http://downloads.xiph.org/releases/ogg/libogg-1.1.3.tar.gz

安裝方法如下:

Java代碼

./configure --prefix=/usr  

make  

make install

./configure --prefix=/usr

make

make install

3、libvorbis

libvorbis-1.1.2.tar.gz

Url:http://downloads.xiph.org/releases/vorbis/libvorbis-1.1.2.tar.gz

安裝方法如下:

Java代碼

./configure --prefix=/usr  

make  

make install

./configure --prefix=/usr

make

make install

4、xvid

xvidcore-1.1.3.tar.gz

Url:http://downloads.xvid.org/downloads/xvidcore-1.1.3.tar.gz

安裝方法如下:

Java代碼

tar zvxf xvidcore-1.1.3.tar.gz  

cd xvidcore-1.1.3/build/generic  

./configure --prefix=/usr  

make  

make install

tar zvxf xvidcore-1.1.3.tar.gz

cd xvidcore-1.1.3/build/generic

./configure --prefix=/usr

make

make install

5、x264

x264-snapshot-20071107-2245.tar.bz2

Url:http://www.videolan.org/developers/x264.html

ftp://ftp.videolan.org/pub/videolan/x264/snapshots/

安裝方法如下:Java代碼

bunzip2 x264-snapshot-20070913-2245.tar.bz2  

tar xvf x264-snapshot-20070913-2245.tar  

./configure --prefix=/usr --enable-shared  

make  

make install

bunzip2 x264-snapshot-20070913-2245.tar.bz2

tar xvf x264-snapshot-20070913-2245.tar

./configure --prefix=/usr --enable-shared

make

make install

6、libdts

libdts-0.0.2.tar.gz

[url]http://download.videolan.org/pub/videolan/libdca/0.0.2/libdca-0.0.2.tar.gz [/url]

安裝方法:Java代碼

tar zxvf libdts-0.0.2.tar.gz  

cd libdts-0.0.2 

./configure --prefix=/usr  

make  

make install

tar zxvf libdts-0.0.2.tar.gz

cd libdts-0.0.2

./configure --prefix=/usr

make

make install

 

7、a52

a52dec-0.7.4.tar.gz http://liba52.sourceforge.net/downloads.html

安裝方法:Java代碼

./configure --prefix=/usr  

make  

make install

./configure --prefix=/usr

make

make install

8、faad2

faad2-2.6.1.tar.gz http://www.audiocoding.com/downloads.html

安裝方法Java代碼

autoreconf -vif  

./configure --prefix=/usr --with-MP4v2 --enable-shared  

make  

make install

autoreconf -vif

./configure --prefix=/usr --with-MP4v2 --enable-shared

make

make install

9、faac

faac-1.26.tar.gz http://linux.softpedia.com/progDownload/FAAC-Download-554.html

安裝方法:Java代碼

tar zxvf faac-1.26.tar.gz  

cd faac  

./bootstrap  

./configure --prefix=/usr  

make   

make install

tar zxvf faac-1.26.tar.gz

cd faac

./bootstrap

./configure --prefix=/usr

make

make install

10、amr-nb

amrnb-6.1.0.4.tar.bz2 http://ftp.penguin.cz/pub/users/utx/amr/amrnb-6.1.0.4.tar.bz2

安裝方法:Java代碼

./configure --prefix=/usr  

make  

make install

./configure --prefix=/usr

make

make install

11、amr-wb

amrwb-7.0.0.1.tar.bz2

http://ftp.penguin.cz/pub/users/utx/amr/amrwb-7.0.0.1.tar.bz2

安裝方法:Java代碼

./configure --prefix=/usr  

make  

make install

./configure --prefix=/usr

make

make install

12、lib52

a52dec-0.7.4.tar.gz http://liba52.sourceforge.net/downloads.html

如果前面的安裝一切順利的話,恭喜你,可以安裝ffmpeg了

安裝ffmpeg

Java代碼

./configure --prefix=/usr --enable-gpl --enable-shared --enable-libMP3lame --enable-libogg --enable-libvorbis --enable-libamr-nb --enable-libamr-wb --enable-libxvid --enable-libx264 --enable-liba52 --enable-liba52bin --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-pp --enable-pthreads --disable-ffserver --disable-ffplay  

make  

make install

Copyright © Linux教程網 All Rights Reserved