當前位置:首頁 » 操作系統 » linux下ffmpeg

linux下ffmpeg

發布時間: 2022-06-07 12:34:49

linux伺服器怎麼安裝ffmpeg

1、下載ffmpeg。
2、解壓縮 tar -zxvf ffmpeg.tar.gz
3、編輯profile文件:

vi /etc/profile
在文件末尾加上兩句話:
export FFMPEG_HOME=/usr/local/ffmpeg
export PATH=$FFMPEG_HOME/bin:$PATH
4、配置安裝路徑之類的:
./configure --enable-shared --prefix=/usr/local/ffmpeg
--enable-shared 參數據說是允許其編譯產生動態庫,在以後的編程中要用到這個幾個動態庫。
如果出現異常,提示因為缺少yasm,需要添加參數,再執行以下命令:
./configure --enable-shared --disable-yasm --prefix=/usr/local/ffmpeg
如果執行結果不對,可以根據提示信息,並查看幫助,解決問題
./configure --help
5、編譯安裝
make
make install
6、安裝之後在/usr/local/ffmpeg會看到有三個目錄
bin 執行文件目錄
lib 靜態,動態鏈接庫目錄
include 編程用到的頭文件
7、為了防止執行程序找不到庫文件,
可以將/usr/local/ffmpeg/lib目錄設置到LD_LIBRARY_PATH環境變數
8、若出現error while loading shared libraries: libavdevice.so.52的錯誤
修改/etc/ld.so.conf 在最後一行加上/usr/local/ffmpeg/lib
ldconfig -v
並修改 /usr/local/ffmpeg/lib目錄下的文件許可權為777

② ffmpeg安裝在linux哪個目錄

Linux下ffmpeg的完整安裝
最近在做一個企業項目, 期間需要將用戶上傳的視頻轉成flv格式或mp4格式並用flash插件在前端播放, 我決定採用ffmpeg (http://www.ffmpeg.org/ )實現. 當然以前也用過ffmpeg, 但是沒有安裝額外的庫, 只是源代碼下簡單地 ./configure, 最後發現好多功能都用不了, 比如最流行的x264編碼器. 所以決心完整地安裝一下ffmpeg, 經過兩天痛苦地折騰, 終於成功了, 現在將過程記錄下來. 主要參考了 [1] 和 [2] 兩篇博文, 其中 [1] 是2007年寫成的, 其中所提到的依賴庫版本比較老, 本人安裝的都是相應最新的版本.

首先要安裝各種解碼器

1、lame
lame-3.99.5.tar.gz
Url:http://sourceforge.net/project/showfiles.php?group_id=290&package_id=309
安裝方法如下:
1 tar -zxvf lame-3.99.5.tar.gz
2 cd lame-3.99.5
3 ./configure --enable-shared 4 make
5 make install

2、libogg
libogg-1.3.1.tar.gz
Url:http://www.xiph.org/downloads/
安裝方法如下:
3、libvorbis
libvorbis-1.3.3.tar.gz
Url:http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz
(libvorbis依賴於libogg, 所以libogg必須先於libvorbis安裝)
安裝方法如下:
1 ./configure 2 make
3 make install

4、xvid
xvidcore-1.3.2.tar.gz
Url:http://downloads.xvid.org/downloads/xvidcore-1.3.2.tar.gz
安裝方法如下:
5、x264
latest_x264.tar.bz2 (其中包含的目錄是 x264-snapshot-20131023-2245)
Url:http://www.videolan.org/developers/x264.html
ftp://ftp.videolan.org/pub/videolan/x264/snapshots/
安裝方法如下:

1
2
3
4

1 tar -jxvf latest_x264.tar.bz2
2 ./configure
3 make
4 make install

6、libdts
libdca-0.0.5.tar.bz2
Url: http://www.videolan.org/developers/libdca.html
安裝方法:
7、a52
a52dec-0.7.4.tar.gz (這個庫從2002年就沒有更新過了)
http://liba52.sourceforge.net/downloads.html
安裝方法:
8、faad2
faad2-2.7.tar.gz
http://www.audiocoding.com/downloads.html
安裝方法
9、faac
faac-1.28.tar.gz
http://www.audiocoding.com/downloads.html
安裝方法:
10、amr-nb
amrnb-10.0.0.0.tar.bz2
http://ftp.penguin.cz/pub/users/utx/amr/ ( 從此處下載最新版本 )
安裝方法:
11、amr-wb
amrwb-7.0.0.1.tar.bz2
http://ftp.penguin.cz/pub/users/utx/amr/ ( 從此處下載最新版本 )
安裝方法:
1 ./configure 2 make
3 make install

12、最關鍵的一步, 安裝ffmpeg

1
2
3

1 ./configure --prefix=/usr/local/ffmpeg2 --enable-libmp3lame --enable-libvorbis --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libxvid --enable-postproc --enable-ffserver --enable-ffplay
2 make
3 make install

在./configure的時候會報錯, 提示說沒有libopencore-amrnb和libopencore-amrwb兩個庫. 我參考了 [2], 使用如下命令安裝它們:

1

sudo apt-get install libopencore-amrnb-dev libopencore-amrwb-dev

如果./configure的時候加入 --enable-shared, 編譯安裝沒有問題. 但是運行ffmpeg命令就會出錯:

1

relocation error: /usr/local/lib/libavfilter.so.3: symbol sws_get_class, version LIBSWSCALE_2 not defined in file libswscale.so.2 with link time reference;

這時可以參考 [3], 大意是說跟gstreamer的動態庫沖突了, 要卸載gstreamer. 但是如果卸載了gstreamer我的多媒體軟體多不能用了. 所以我卸載了ffmpeg並重新編譯成靜態庫. 安裝完之後, 運行ffmpeg成功, 輸出如下:

1
2
3
4
5
6
7
8
9
10
11
12
13

ffmpeg version 2.0.1 Copyright (c) 2000-2013 the FFmpeg developers
built on Oct 25 2013 17:40:51 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
configuration: --prefix=/usr/local/ffmpeg2 --enable-libmp3lame --enable-libvorbis --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libxvid --enable-postproc --enable-ffserver --enable-ffplay
libavutil 52. 38.100 / 52. 38.100
libavcodec 55. 18.102 / 55. 18.102
libavformat 55. 12.100 / 55. 12.100
libavdevice 55. 3.100 / 55. 3.100
libavfilter 3. 79.101 / 3. 79.101
libswscale 2. 3.100 / 2. 3.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 3.100 / 52. 3.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

[1] http://yezi.iteye.com/blog/139399
[2] http://www.learndiary.com/2011/04/ubuntu-linux-%E4%B8%8B-ffmpeg-%E5%8F%8A-mencoder-%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8%E5%B0%8F%E7%BB%93/
[3] http://blog.csdn.net/nil_foc/article/details/6547047

③ 如何在linux環境下使用ffmpeg壓縮視屏

格式轉換 (將file.avi 轉換成output.flv)C代碼
#ffmpeg -i file.avi output.flv

-i 表示輸入文件

:現在有個video.avi,有個音頻 audio.mp3,將其合並成output.avi
兩個命令(file.avi 是中間文件,用完可刪)
C代碼
#ffmpeg -i video.avi -vcodec -an video2.avi
#ffmpeg -i video2.avi -i audio.mp3 -vcodec -acodec output.avi

-i 表示輸入文件
-vcodec 表示 force video codec (『』 to stream) 這個不知怎麼譯 ,估計是直接
-acodec 這個說的應該是音頻了 跟上面一樣
-an:表示 disable audio 估計是audio no 之類的縮寫,表示去掉video.avi 原有的音頻

④ linux ffmpeg怎麼用

給兩個例子: ffmpeg -i t.raw -target pal-vcd t.mpg ffmpeg -i t.raw -target pal-vcd -s 352x194 -aspect 4:3 -padbottom 47 -padtop 47 t.mpg -i 是原視頻 -target 是預設的格式有VCD,DVD等,不用預設也可以自己指定格式如mp4等。

⑤ linux下怎麼配置ffmpeg庫

格式轉換 (將file.avi 轉換成output.flv)C代碼
#ffmpeg -i file.avi output.flv

-i 表示輸入文件

:現在有個視頻video.avi,有個音頻 audio.mp3,將其合並成output.avi
兩個命令(file.avi 是中間文件,用完可刪)
C代碼
#ffmpeg -i video.avi -vcodec -an video2.avi
#ffmpeg -i video2.avi -i audio.mp3 -vcodec -acodec output.avi

⑥ linux下怎麼變異ffmpeg

1、下載ffmpeg。

wget http://down1.chinaunix.net/distfiles/ffmpeg-0.4.9-p20051120.tar.bz2

我是在這個網址上下載ffmpeg-0.4.9-p20051120.tar.bz2,看網上有人用的是svn下載,但是我的機子中沒有svn客戶端,然後就在網上搜索,下載了這個版本。如果利用svn可以下載ffmpeg最新的版本。

svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg

2、解壓

tar xvfj ffmpeg-0.4.9-p20051120.tar.bz2

得到解壓後的目錄是ffmpeg-0.4.9-p20051120,名字太長,利用mv命令改為ffmpeg

mv ffmpeg-0.4.9-p20051120.tar.bz2 ffmpeg

3、配置

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

其中:--enable-shared 是允許其編譯產生動態庫,在以後的編程中要用到這個幾個動態庫。--prefix設置的安裝目錄。

4、編譯並安裝

make
make install

5、安裝之後在/usr/local/ffmpeg會看到有三個目錄

lib 動態鏈接庫位置
include 編程要用到頭文件
bin 執行文件所在的目錄

6、為了以後方便編程,我們把lib中的三個鏈接庫libavcodec.so libavformat.so libavutil.so復制到/usr/lib下。把include目錄下的ffmpeg目錄復制到/usr/include下。

這里我這樣復制了還是不對,-lavcodec -lavutil -lavformat的時候,提示找不到庫
然後我把 /usr/local/ffmpeg/lib 所有文件復制到 /usr/local/lib才可以的
執行bin目錄下的ffplay,可以去播放音頻或者視頻文件。例如播放1.mp3

./ffplay 1.mp3

另外,bin目錄下還有兩個文件:ffmpeg和ffserver

ffmpeg是一個很好的視頻和音頻的格式轉化工具。網上有很多它的說明文檔。如果不想生成ffserver,只要在./configure的時候加--disable-ffserver即可。

7、編程

如果寫了一個test.c文件,要包含ffmpeg的頭文件,可以這樣寫:

#include

編譯:gcc -o test test.c -lavformat -lavcodec -lavtuil (前提是有第6步的操作)

如果沒有第6部的操作,則編譯的時候如下:

gcc -o test test.c -I/usr/local/ffmpeg/include -L/usr/local/ffmpeg/lib -lavformat -lavcodec -lavtuil

編譯成功之後,執行的時候還是需要動態庫的支持,還是要把那三個動態庫文件復制到/usr/lib或者/lib中,不然執行的時候會說找不到動態庫鏈接。還有一個方法可以解決這個問題,就是把/usr/local/ffmpeg/lib這個目錄加入到/etc/ld.so.config中,然後執行 ldconfig,或者重啟電腦,這樣執行的時候系統就可以從/usr/local/ffmpeg/lib這個目錄下去找這三個動態庫文件了。

以上的方式是採用動態庫編譯ffmpeg的,如果在configure的時候不加上--enable-shared的,則採用靜態鏈接的方式,不會生成那三個動態庫。同時生成的ffplay、ffmpeg的執行文件也比較的大,因為他們不需要動態庫的支持,就可以執行。但是不利於再次開發,所以我採用動態鏈接的方式。configure中還有很多的選項,可以通過./configure --help查看,也可以直接查看configure文件。這在配置的時候很重要。

⑦ linux 可以運行ffmpeg嗎

對於linux系統,多數是不會直接提供執行文件。下載地址:http://ffmpeg.org/releases/ffmpeg-0.8.3.tar.bz2 下載後:tar xjvf ffmpeg-0.8.3.tar.bz2cd ffmpeg-0.8.3./configuremakemake intall

⑧ 如何安裝linux系統下的ffmpeg

linux下安裝ffmpeg1、下載ffmpeg。2、解壓tar xvfj ffmpeg-0.11.1.tar.bz2得到解壓後的目錄是ffmpeg-0.11.13、配置 ./configure --enable-shared --prefix=/usr/local/ffmpeg其中:--enable-shared 是允許其編譯產生動態庫,在以後的編程中要用到這個幾個動態庫。--prefix設置的安裝目錄。4、編譯並安裝makemake install5、安裝之後在/usr/local/ffmpeg會看到有四個目錄lib 動態鏈接庫位置include 編程要用到頭文件bin 執行文件所在的目錄 share6、為了以後方便編程,我們把lib中的三個鏈接庫libavcodec.so libavformat.so libavutil.so復制到/usr/lib下。把include目錄下的ffmpeg目錄復制到/usr/include下。執行bin目錄下的ffplay,可以去播放音頻或者視頻文件。例如播放1.mp3./ffplay 1.mp3 另外,bin目錄下還有兩個文件:ffmpeg和ffserverffmpeg是一個很好的視頻和音頻的格式轉化工具。網上有很多它的說明文檔。如果不想生成ffserver,只要在./configure的時候加--disable-ffserver即可。7、編程如果寫了一個test.c文件,要包含ffmpeg的頭文件,可以這樣寫:#include 編譯:gcc -o test test.c -lavformat -lavcodec -lavtuil (前提是有第6步的操作)如果沒有第6部的操作,則編譯的時候如下: gcc -o test test.c -I/usr/local/ffmpeg/include -L/usr/local/ffmpeg/lib -lavformat -lavcodec -lavtuil編譯成功之後,執行的時候還是需要動態庫的支持,還是要把那三個動態庫文件復制到/usr/lib或者/lib中,不然執行的時候會說找不到動態庫鏈接。還有一個方法可以解決這個問題,就是把/usr/local/ffmpeg/lib這個目錄加入到/etc/ld.so.config中,然後執行ldconfig,或者重啟電腦,這樣執行的時候系統就可以從/usr/local/ffmpeg/lib這個目錄下去找這三個動態庫文件了。以上的方式是採用動態庫編譯ffmpeg的,如果在configure的時候不加上--enable-shared的,則採用靜態鏈接的方式,不會生成那三個動態庫。同時生成的ffplay、ffmpeg的執行文件也比較的大,因為他們不需要動態庫的支持,就可以執行。但是不利於再次開發,所以我採用動態鏈接的方式。configure中還有很多的選項,可以通過./configure --help查看,也可以直接查看configure文件。這在配置的時候很重要。

熱點內容
linuxcls 發布:2024-11-01 03:34:11 瀏覽:509
c語言的提綱 發布:2024-11-01 03:34:07 瀏覽:101
如何使用西子伺服器 發布:2024-11-01 03:31:43 瀏覽:214
6s怎麼給相冊加密碼 發布:2024-11-01 03:30:58 瀏覽:778
數控圓球頭編程實例 發布:2024-11-01 03:30:18 瀏覽:281
excel腳本語言 發布:2024-11-01 03:13:27 瀏覽:922
雲伺服器漏洞軟體 發布:2024-11-01 03:12:18 瀏覽:790
c語言放音樂 發布:2024-11-01 03:12:16 瀏覽:55
backup是什麼文件夾 發布:2024-11-01 03:09:20 瀏覽:917
整理解壓 發布:2024-11-01 03:07:50 瀏覽:79