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

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

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

[複製鏈接]
發表於 2015-10-10 10:47:21 | 顯示全部樓層 |閱讀模式
tid=19906& 本帖最後由 IT_man 於 2017-3-28 13:02 編輯
" E, O) u1 e/ o3 D9 M' ~: Y
# M* Q9 X' }( t: M) Z/ yFFmpeg是一款强大的視訊編解碼工具,可以處理大量的編碼格式。ffmpeg是開放原碼,在Linux平台下開發,同時也可以在其它作業系统下編譯執行,包括Windows、Mac OS X等+ B$ f. b$ Q& J' V9 T
0 E: a% c: W  t1 G% j8 h
方法一:: h  K9 [- k  h) X

; x! V% G- {0 [7 T& W[安裝]/ ]+ g9 T+ |8 X" C
[/usr/local]#tar -jxvf ffmpeg-2.5.3.tar.bz2
4 u) W8 \6 D: M# z4 y7 k[/usr/local]#cd ffmpeg-2.5.33 a! k8 w0 F- o, p3 Y
/ F0 ]. P: ^% [7 D9 f; i
) @2 A* y0 R3 O+ `$ x" ?! W3 A& v! N
安裝yasm, _/ b2 g; ?6 m% z
ffmpeg編譯中為了提高compile速度,使用了匯編指令,于是需要使用這個工具。7 P' i0 |- ?  s; g; a5 N9 U
[/usr/local/ffmpeg-2.5.3]#yum -y install yasm8 X& Z# ~( p' c, }, Z  N* f8 i
或者同樣使用源碼方式安裝,下載yasm源代碼,然后使用./configure、make以及make istall進行安裝& Y" \9 s8 L& _/ q  _/ H3 R  F
[/usr/local/ffmpeg-2.5.3]#./configure --enable-shared --prefix=/usr/local/ffmpeg% b9 i. f# }# j* K0 X1 _
其中–enable-shared表示產生動態連接庫,可以供以后編程使用,同時生成的可執行程序也依賴這些動態庫。如果不加上–enable-shared選項則使用靜態連接的方式編譯,此時不會產生動態庫,同時產生的ffmpeg等的可執行檔也比較大,但他們不需要動態庫就可以直接執行。* ]- S( C! c  b7 I6 X  R
–prefix表示工具安裝的目錄,這裡設為/usr/local/ffmpeg。
- F$ d  j3 [% \6 a5 T% U1 E2 W
[/usr/local/ffmpeg-2.5.3]#make     
2 a3 X8 y' e+ T1 p% J8 ?[/usr/local/ffmpeg-2.5.3]#make install
0 _) D0 c3 K2 Z( q
; w/ s6 m  l% J3 S: \) X6 b9 g# y( R7 K

. \! y  f- N: ^7 }1 a路径處理:

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

  • bin:可執行檔目錄
  • lib:動態連接庫目錄
  • include:編程用到的頭文件目錄
    : ^2 p/ f% ^  ~' b, N: G
不管是藉由compile還是可執行程序的執行都需要依賴lib下面的動態庫,可以把里面的so文件拷貝到/usr/lib下,也可以直接修改配置文件。查看/etc/ld.so.conf文件:
  x, T4 G: W, D( r# `" l[/usr/local/ffmpeg-2.5.3]#vi /etc/ld.so.conf
3 i. g; ?% E, I; R6 jinclude ld.so.conf.d/*.conf; w4 i' C! Z6 y4 j6 u9 D
( Z. M- `0 \6 X0 n! [. [- u
於是可以在/etc/ld.so.conf.d/建一個新的文件ffmpeg.conf,新增一行,即為ffmpeg的lib目錄:
% d) w6 r% z! \& r3 D- D/usr/local/ffmpeg/lib) T; Z0 ^% }2 R  G! E
再執行ldconfig,更新ld.so.cache,使修改生效。When run ldconfig show error:
: @6 ^$ ~" V" O- }9 }/ J1 k. wldconfig: /usr/lib64/libgd.so.2 不是一個符號連接檔 ==>
! [& q+ w! u- k& X) i" ill /usr/lib64/
0 s" }/ ~& n9 O- Z6 j4 S4 n* g-rwxr-xr-x 1 root root 275328 2015-01-11 08:03 /usr/lib64/libgd.so.23 k( U+ b7 E, F0 K
-rwxr-xr-x 1 root root 275328 2015-01-11 08:03 /usr/lib64/libgd.so.2.0.0
- ^8 c2 l* W- E& d, n( LSo:
' Y8 b/ p6 t1 L$ ?  H& G: Fln -s /usr/lib64/libgd.so.2.0.0   /usr/lib64/libgd.so.2     就解決
) ~  k* P( g- N* \& E可以 vi /etc/ld.so.cache  看看
/usr/local/ffmpeg/lib 是否已加入 cache中9 o2 b0 ^& P8 |* p; Z0 R

; r; r! B1 h, |3 |9 u為了在任何地方能够直接用ffmpeg執行,而不用使用如./ffmpeg或者 /usr/local/ffmpeg/bin/ffmpeg的方式執行此工具,可以把可執行檔案複製到bin目錄下,或者在bin目錄下建立軟連結。類似于Windows下的捷徑,如果原可執行檔案被删除了,軟連結也不能繼續使用,而硬連結則可以繼續使用。建連結命令如下:
- M6 X: ?7 i# e1 p1 J

9 E+ D9 K0 z' S. ]7 j+ V( u
sudo ln -s /usr/local/ffmpeg/bin/ffmpeg /usr/local/bin/   or      [/usr/local/bin]# sudo ln -s /usr/local/ffmpeg/bin/ffmpeg  . % y" m2 ~( ?3 `" L. k% a; n; d
sudo ln -s /usr/local/ffmpeg/bin/ffprobe /usr/local/bin/   or      [/usr/local/bin]# sudo ln -s /usr/local/ffmpeg/bin/ffprobe . ; N$ M  j9 \! F$ B& y
sudo ln -s /usr/local/ffmpeg/bin/ffserver /usr/local/bin/   or      [/usr/local/bin]# sudo ln -s /usr/local/ffmpeg/bin/ffserver .
2 Y5 Q) Q7 {, S* D, h2 Q' Z* |* F! I0 W& y5 V# }- y
另外,如果需要包含ffmpeg的頭文件,最好將include目錄下的ffmpeg複製到/usr/include中。; B* Y  V- |" U& z. `8 g; S
現在可以在shell中直接輸入ffmpeg執行,結果如下:( a5 Y/ G" v1 z

" y, s; p; }( @- o
: Z8 X! n" i. |- c0 i  r
[root@CentOS6 bin]# ffmpeg
$ z5 q( D+ S/ yffmpeg version 2.3.git Copyright (c) 2000-2014 the FFmpeg developers: N( A1 X* L, N& w+ ^. t; `
  built on Oct  9 2015 16:11:13 with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-4)
' C0 }3 y7 i  L3 L# X# W  configuration: --enable-shared --prefix=/usr/local/ffmpeg
5 F$ ]3 A2 K3 s7 _7 _! o1 O1 z  libavutil      54.  7.100 / 54.  7.100
/ L8 E% x, l2 q& S5 |  libavcodec     56.  1.100 / 56.  1.100
$ c" m; ~3 y+ {6 X7 H3 y2 M( }& J  libavformat    56.  4.100 / 56.  4.100; T& r- g8 m8 K3 h
  libavdevice    56.  0.100 / 56.  0.100
( I3 D# q( O" ~4 u( {, h  libavfilter     5.  1.100 /  5.  1.100
3 a( e4 {* W7 r; I  libswscale      3.  0.100 /  3.  0.100
0 X, T! z$ q: t4 z& y  libswresample   1.  1.100 /  1.  1.100
/ D: z) d5 ]4 I; L% Z) J: {Hyper fast Audio and Video encoder& O8 R; Q" Y6 \! `% l6 A8 l+ T
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...6 v$ [2 v$ V3 Q& p5 B: D
Use -h to get full help or, even better, run 'man ffmpeg'

0 h6 F+ {+ z- s! Z  m' R6 c
* v. T5 d4 H% B) ^5 |5 O方法二:
9 J- a" f6 b/ p
9 Y- Y( j6 q5 ~* d; C! u% n# O' e以 ffmpeginstaller 安裝 ffmpeg 相關套件:
4 a, u; r# H) h( \( x+ u+ H9 B& }6 V+ }  v2 ?: l: ?9 o+ r
http://ffmpeginstaller.com下載到指定的目錄,例如:/tmp/2 F  y+ ^& o, ^; X/ O$ H+ A- \- Y" g
解開壓縮檔後,會產生一個 ffmpeginstaller+版本號 的目錄,例如:我下載解開後的目錄為# c' A* f+ h9 x+ {" q
/tmp/ffmpeginstaller.8.0/6 g9 d5 A: V1 l- y; e
進去目錄後,下指令以執行: L4 i( |5 F0 L( H/ w

: T% i, t" P. x7 n& c* `. s+ K- p5 [[root]# ./install
6 N$ P0 k0 J' h9 N0 |5 P- t/ x- U+ X2 V# e
安裝程式就會開始進行安裝,還會視情況自己上網去下載需要的檔案。
( K* s6 @7 i2 Z% o! V3 P3 J1 L/ c其實這個安裝程式就是 yum install 的腳本,安裝過程大約 1 小時
7 b+ X: H, t1 Y! N4 g- c) B" t
下圖是 ffmpeginstaller 會安裝跟ffmpeg相關的套件:6 w- d5 D' q% [/ g! Q0 x' i  Z
2 r0 Q0 {7 E; t7 R6 w! u
ffmpeginstaller.png 1 H1 b8 W8 Z- }  o1 F0 y
# D$ m2 H+ P* F$ H/ ]* Z% ?
參考原發: http://oldgrayduck.blogspot.tw/2 ... staller-ffmpeg.html6 r' q" y+ r( T/ i: W' E! v

- _% B  S3 T( v8 A; h: l# _
% s0 D, T! J  N! W' R7 w2 A; Z$ c& h' s% m: H8 m8 k
回復

使用道具 舉報

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

本版積分規則



中文酷站排行榜

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

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

GMT+8, 2026-3-23 22:21 , Processed in 0.065874 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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