IT_man 發表於 2015-10-10 10:47:21

Linux下安装FFmpeg ~1

本帖最後由 IT_man 於 2017-3-28 13:02 編輯

FFmpeg是一款强大的視訊編解碼工具,可以處理大量的編碼格式。ffmpeg是開放原碼,在Linux平台下開發,同時也可以在其它作業系统下編譯執行,包括Windows、Mac OS X等

方法一:

[安裝]
#tar -jxvf ffmpeg-2.5.3.tar.bz2
#cd ffmpeg-2.5.3


安裝yasm
ffmpeg編譯中為了提高compile速度,使用了匯編指令,于是需要使用這個工具。
ffmpeg-2.5.3]#yum -y install yasm
或者同樣使用源碼方式安裝,下載yasm源代碼,然后使用./configure、make以及make istall進行安裝
ffmpeg-2.5.3]#./configure --enable-shared --prefix=/usr/local/ffmpeg
其中–enable-shared表示產生動態連接庫,可以供以后編程使用,同時生成的可執行程序也依賴這些動態庫。如果不加上–enable-shared選項則使用靜態連接的方式編譯,此時不會產生動態庫,同時產生的ffmpeg等的可執行檔也比較大,但他們不需要動態庫就可以直接執行。
–prefix表示工具安裝的目錄,這裡設為/usr/local/ffmpeg。
ffmpeg-2.5.3]#make   
ffmpeg-2.5.3]#make install


路径處理:安裝完成后在/usr/local/ffmpeg產生三個目錄:
[*]bin:可執行檔目錄
[*]lib:動態連接庫目錄
[*]include:編程用到的頭文件目錄
不管是藉由compile還是可執行程序的執行都需要依賴lib下面的動態庫,可以把里面的so文件拷貝到/usr/lib下,也可以直接修改配置文件。查看/etc/ld.so.conf文件:
ffmpeg-2.5.3]#vi /etc/ld.so.conf
include ld.so.conf.d/*.conf

於是可以在/etc/ld.so.conf.d/建一個新的文件ffmpeg.conf,新增一行,即為ffmpeg的lib目錄:
/usr/local/ffmpeg/lib
再執行ldconfig,更新ld.so.cache,使修改生效。When run ldconfig show error:
ldconfig: /usr/lib64/libgd.so.2 不是一個符號連接檔 ==>
ll /usr/lib64/
-rwxr-xr-x 1 root root 275328 2015-01-11 08:03 /usr/lib64/libgd.so.2
-rwxr-xr-x 1 root root 275328 2015-01-11 08:03 /usr/lib64/libgd.so.2.0.0
So:
ln -s /usr/lib64/libgd.so.2.0.0   /usr/lib64/libgd.so.2   就解決
可以 vi /etc/ld.so.cache看看/usr/local/ffmpeg/lib 是否已加入 cache中

為了在任何地方能够直接用ffmpeg執行,而不用使用如./ffmpeg或者 /usr/local/ffmpeg/bin/ffmpeg的方式執行此工具,可以把可執行檔案複製到bin目錄下,或者在bin目錄下建立軟連結。類似于Windows下的捷徑,如果原可執行檔案被删除了,軟連結也不能繼續使用,而硬連結則可以繼續使用。建連結命令如下:

sudo ln -s /usr/local/ffmpeg/bin/ffmpeg /usr/local/bin/   or      # sudo ln -s /usr/local/ffmpeg/bin/ffmpeg.
sudo ln -s /usr/local/ffmpeg/bin/ffprobe /usr/local/bin/   or      # sudo ln -s /usr/local/ffmpeg/bin/ffprobe .
sudo ln -s /usr/local/ffmpeg/bin/ffserver /usr/local/bin/   or      # sudo ln -s /usr/local/ffmpeg/bin/ffserver .

另外,如果需要包含ffmpeg的頭文件,最好將include目錄下的ffmpeg複製到/usr/include中。
現在可以在shell中直接輸入ffmpeg執行,結果如下:


# ffmpeg
ffmpeg version 2.3.git Copyright (c) 2000-2014 the FFmpeg developers
built on Oct9 2015 16:11:13 with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-4)
configuration: --enable-shared --prefix=/usr/local/ffmpeg
libavutil      54.7.100 / 54.7.100
libavcodec   56.1.100 / 56.1.100
libavformat    56.4.100 / 56.4.100
libavdevice    56.0.100 / 56.0.100
libavfilter   5.1.100 /5.1.100
libswscale      3.0.100 /3.0.100
libswresample   1.1.100 /1.1.100
Hyper fast Audio and Video encoder
usage: ffmpeg [ -i infile]... { outfile}...
Use -h to get full help or, even better, run 'man ffmpeg'

方法二:

以 ffmpeginstaller 安裝 ffmpeg 相關套件:

到http://ffmpeginstaller.com下載到指定的目錄,例如:/tmp/
解開壓縮檔後,會產生一個 ffmpeginstaller+版本號 的目錄,例如:我下載解開後的目錄為
/tmp/ffmpeginstaller.8.0/
進去目錄後,下指令以執行

# ./install

安裝程式就會開始進行安裝,還會視情況自己上網去下載需要的檔案。
其實這個安裝程式就是 yum install 的腳本,安裝過程大約 1 小時
下圖是 ffmpeginstaller 會安裝跟ffmpeg相關的套件:



參考原發: http://oldgrayduck.blogspot.tw/2 ... staller-ffmpeg.html



頁: [1]
查看完整版本: Linux下安装FFmpeg ~1