52AV手機A片王|52AV.one

 找回密碼
 立即註冊
查看: 1340|回復: 0

[linux指令] Linux下安装FFmpeg ~1[含1張圖]

[複製鏈接]
發表於 2015-10-10 10:47:21 | 顯示全部樓層 |閱讀模式
tid=19906& 本帖最後由 IT_man 於 2017-3-28 13:02 編輯 # g) H, q1 p4 |. N" `2 c6 U" k4 e
" G9 E4 T4 X! J5 v* P$ I
FFmpeg是一款强大的視訊編解碼工具,可以處理大量的編碼格式。ffmpeg是開放原碼,在Linux平台下開發,同時也可以在其它作業系统下編譯執行,包括Windows、Mac OS X等3 ^, A  X- e4 M' F' V
8 u, D& r( a% x4 r+ E, x
方法一:0 T3 t( K7 ?2 X, a8 ]
0 f2 l+ ?4 e/ ]
[安裝]: w: n& d- e8 s" G. M/ Z
[/usr/local]#tar -jxvf ffmpeg-2.5.3.tar.bz2
6 I1 z) G% Z" j. d1 [[/usr/local]#cd ffmpeg-2.5.3+ u( [1 w" J$ s3 R6 I% G

6 Q$ P& U( [5 `
% g% k5 [: ?8 ~8 l
安裝yasm% W3 B% m: j6 Q, o, ~. s5 z* u0 G
ffmpeg編譯中為了提高compile速度,使用了匯編指令,于是需要使用這個工具。9 ~" j( F5 A- b- w6 U
[/usr/local/ffmpeg-2.5.3]#yum -y install yasm
0 A' J* P/ L' s% i/ C+ y或者同樣使用源碼方式安裝,下載yasm源代碼,然后使用./configure、make以及make istall進行安裝
2 a) x/ o/ J: ]" W8 h[/usr/local/ffmpeg-2.5.3]#./configure --enable-shared --prefix=/usr/local/ffmpeg
/ Y0 R8 G3 V9 s( E# B6 p0 i其中–enable-shared表示產生動態連接庫,可以供以后編程使用,同時生成的可執行程序也依賴這些動態庫。如果不加上–enable-shared選項則使用靜態連接的方式編譯,此時不會產生動態庫,同時產生的ffmpeg等的可執行檔也比較大,但他們不需要動態庫就可以直接執行。/ H! |8 t" P/ e' n" ~! z0 U; I
–prefix表示工具安裝的目錄,這裡設為/usr/local/ffmpeg。

. y- O: y8 h" F2 p+ O$ S! k/ ^[/usr/local/ffmpeg-2.5.3]#make     
3 ~7 |$ c) r' |* K5 F  _[/usr/local/ffmpeg-2.5.3]#make install 7 m# H  u+ g- i# A

& r' g# d$ [7 M7 e

2 z0 d$ B% {- m2 {$ A% M3 @路径處理:

安裝完成后在/usr/local/ffmpeg產生三個目錄:

  • bin:可執行檔目錄
  • lib:動態連接庫目錄
  • include:編程用到的頭文件目錄
    , h+ }& Z' r2 ~( Z# L1 l
不管是藉由compile還是可執行程序的執行都需要依賴lib下面的動態庫,可以把里面的so文件拷貝到/usr/lib下,也可以直接修改配置文件。查看/etc/ld.so.conf文件:
6 B' y! C6 z& o8 c[/usr/local/ffmpeg-2.5.3]#vi /etc/ld.so.conf
6 W# B, T( Y" O; {* Q) ]include ld.so.conf.d/*.conf) n$ x7 E+ k" F, Y! w3 m4 @. ^
! e* `5 o. U# I  V% r$ g& u
於是可以在/etc/ld.so.conf.d/建一個新的文件ffmpeg.conf,新增一行,即為ffmpeg的lib目錄:
1 g! Q3 h0 Q7 Y# V6 a3 u2 p/usr/local/ffmpeg/lib
5 _" ^4 N! V0 ]& O% {再執行ldconfig,更新ld.so.cache,使修改生效。When run ldconfig show error:. G; U! |2 F$ r) [( K7 g9 x: O1 I( P
ldconfig: /usr/lib64/libgd.so.2 不是一個符號連接檔 ==>* \+ h7 I) I* N, p
ll /usr/lib64/
+ C+ f) T* \, e5 T- P-rwxr-xr-x 1 root root 275328 2015-01-11 08:03 /usr/lib64/libgd.so.2( V  m' k  I0 j# }/ o# p. g7 p% Y
-rwxr-xr-x 1 root root 275328 2015-01-11 08:03 /usr/lib64/libgd.so.2.0.0
$ V+ N4 O2 d  P& `So:$ v% D+ u1 {  {/ D
ln -s /usr/lib64/libgd.so.2.0.0   /usr/lib64/libgd.so.2     就解決
; Z) O8 j5 ?+ H" [2 ?( [可以 vi /etc/ld.so.cache  看看
/usr/local/ffmpeg/lib 是否已加入 cache中
5 A  r3 _. J! D
4 F" D: q  L, {, y為了在任何地方能够直接用ffmpeg執行,而不用使用如./ffmpeg或者 /usr/local/ffmpeg/bin/ffmpeg的方式執行此工具,可以把可執行檔案複製到bin目錄下,或者在bin目錄下建立軟連結。類似于Windows下的捷徑,如果原可執行檔案被删除了,軟連結也不能繼續使用,而硬連結則可以繼續使用。建連結命令如下: : }  a& ?( d/ Y" a& s1 J

0 d" t2 ]( x  g
sudo ln -s /usr/local/ffmpeg/bin/ffmpeg /usr/local/bin/   or      [/usr/local/bin]# sudo ln -s /usr/local/ffmpeg/bin/ffmpeg  .
9 S# Y% a2 p/ y6 ~2 M* N- S- M
sudo ln -s /usr/local/ffmpeg/bin/ffprobe /usr/local/bin/   or      [/usr/local/bin]# sudo ln -s /usr/local/ffmpeg/bin/ffprobe .
1 m& s0 d( o1 W- ]9 g7 X0 \& M
sudo ln -s /usr/local/ffmpeg/bin/ffserver /usr/local/bin/   or      [/usr/local/bin]# sudo ln -s /usr/local/ffmpeg/bin/ffserver .
6 b9 e  l: x+ n
# z( {. t1 C% I6 c, v另外,如果需要包含ffmpeg的頭文件,最好將include目錄下的ffmpeg複製到/usr/include中。; t' ]3 R, C/ g
現在可以在shell中直接輸入ffmpeg執行,結果如下:
7 n! w& J6 ]- x! |- [  |7 Y
( S. R4 d& [$ C# |

# t2 J! _1 ]4 _8 P[root@CentOS6 bin]# ffmpeg
/ p: g3 g2 Y8 Z4 y$ Qffmpeg version 2.3.git Copyright (c) 2000-2014 the FFmpeg developers0 `0 o3 V! t$ n
  built on Oct  9 2015 16:11:13 with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-4), D3 O9 L. h1 g; Z
  configuration: --enable-shared --prefix=/usr/local/ffmpeg
# A, T" R' u: }- b' L  libavutil      54.  7.100 / 54.  7.100; V! j( b0 U# M: G8 {* E
  libavcodec     56.  1.100 / 56.  1.100$ l6 |: v, j- Y  L
  libavformat    56.  4.100 / 56.  4.1008 t3 L  o# ]. U, T0 |
  libavdevice    56.  0.100 / 56.  0.100( G+ j" q7 y* T1 [. [! H
  libavfilter     5.  1.100 /  5.  1.1002 z# y2 m5 b$ K* w* T! \* a( e
  libswscale      3.  0.100 /  3.  0.100
' ^% t5 d! f% W1 ~  [0 }$ v  libswresample   1.  1.100 /  1.  1.100
* x+ q8 _4 g6 g+ qHyper fast Audio and Video encoder
$ v. U# [1 E; T  rusage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
/ q( G2 O  S8 Z% RUse -h to get full help or, even better, run 'man ffmpeg'

- e$ k8 e  W, s' a3 F1 {; G% S3 _0 D" e
方法二:& x! W- x7 e( }; X, n) @

8 T0 c% D. t- e9 P7 B6 ?6 o以 ffmpeginstaller 安裝 ffmpeg 相關套件:
% @0 N' Q) `7 U5 f0 d/ `) ?( }- U, a) ^# r$ _
http://ffmpeginstaller.com下載到指定的目錄,例如:/tmp/6 O( z: k: A  X( [
解開壓縮檔後,會產生一個 ffmpeginstaller+版本號 的目錄,例如:我下載解開後的目錄為
+ Y, J' F6 t  X6 P8 T6 Y3 Y
/tmp/ffmpeginstaller.8.0/. _9 y2 ^8 t6 Y0 f" b% C- V
進去目錄後,下指令以執行2 a+ m- a1 T5 [/ R
  K" ?8 [- N  @  ^
[root]# ./install9 N. G. W6 V+ f! B- n) S

$ k; ~; c" T9 e& W" f安裝程式就會開始進行安裝,還會視情況自己上網去下載需要的檔案。  k0 T1 n1 r( Y1 |1 T) b
其實這個安裝程式就是 yum install 的腳本,安裝過程大約 1 小時
* h0 Y9 J! Y* w. q/ Z" I
下圖是 ffmpeginstaller 會安裝跟ffmpeg相關的套件:/ r9 ]. [' p8 P! m7 ]/ {
! f% S$ y1 d. d5 a
ffmpeginstaller.png ! z" a9 v9 o; ^( Y$ X- ^8 g$ j; f
) Y5 t( |' ?, ], [9 D. V6 V
參考原發: http://oldgrayduck.blogspot.tw/2 ... staller-ffmpeg.html
2 q" C3 _1 S8 |: o& m

7 V/ k& M% ~0 Z, |3 E! w4 |& ^/ [: u+ y/ L# j

% u" M& L& A0 Q$ l
回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則



中文酷站排行榜

本區塊內容依據『電腦網路內容分級處理辦法』為限制級網站,限定年滿18歲以上或達當地國家法定年齡人士方可進入,且願接受本站各項條款,未滿18歲 謝絕進入瀏覽。為防範未滿18歲之未成年網友瀏覽網路上限制級內容的圖文資訊,建議您可進行網路內容分級組織ICRA分級服務的安裝與設定。 (為還給愛護 本站的網友一個純淨的論壇環境,本站設有管理員)

QQ|小黑屋|手機板| 52AV手機A片王

GMT+8, 2025-4-4 21:31 , Processed in 0.077550 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回復 返回頂部 返回列表