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

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

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

[複製鏈接]
發表於 2015-10-10 10:47:21 | 顯示全部樓層 |閱讀模式
tid=19906& 本帖最後由 IT_man 於 2017-3-28 13:02 編輯 + S* u9 C- z  T! c1 w2 M5 h4 v

$ N! Y4 {  v. a+ {FFmpeg是一款强大的視訊編解碼工具,可以處理大量的編碼格式。ffmpeg是開放原碼,在Linux平台下開發,同時也可以在其它作業系统下編譯執行,包括Windows、Mac OS X等
  T5 C/ p7 C* g: S* j8 p$ Q: P3 j4 o' b
方法一:
4 q$ _( S5 y$ {

: m9 M' b+ ]6 o; U8 T; G! Q[安裝]8 ]2 L5 K1 X' _* I5 G  i2 ?
[/usr/local]#tar -jxvf ffmpeg-2.5.3.tar.bz23 c( c9 R2 l* b& W' z
[/usr/local]#cd ffmpeg-2.5.3
3 ~: B' A: {. t! R) P7 d& Z/ V
+ w& @6 z5 A' t$ \9 W
0 d6 a" v" E- G% g
安裝yasm
/ C+ G: E9 ?' f/ sffmpeg編譯中為了提高compile速度,使用了匯編指令,于是需要使用這個工具。
; P6 ^9 y7 F  ~[/usr/local/ffmpeg-2.5.3]#yum -y install yasm
& O$ @% P) F& ]或者同樣使用源碼方式安裝,下載yasm源代碼,然后使用./configure、make以及make istall進行安裝0 J! q+ @: q+ q9 V# r, G  X
[/usr/local/ffmpeg-2.5.3]#./configure --enable-shared --prefix=/usr/local/ffmpeg, _: U4 X9 v9 m. U
其中–enable-shared表示產生動態連接庫,可以供以后編程使用,同時生成的可執行程序也依賴這些動態庫。如果不加上–enable-shared選項則使用靜態連接的方式編譯,此時不會產生動態庫,同時產生的ffmpeg等的可執行檔也比較大,但他們不需要動態庫就可以直接執行。
+ v) d2 c1 L5 W–prefix表示工具安裝的目錄,這裡設為/usr/local/ffmpeg。
7 Q3 M/ _' m; W
[/usr/local/ffmpeg-2.5.3]#make     5 O# y' g+ N: y$ J  E
[/usr/local/ffmpeg-2.5.3]#make install , j2 n2 o! p2 G- |) d6 o7 V% D
: K, \) a* f8 ~( @+ U0 {: k9 A" K
3 d: u! m4 y3 t" `
路径處理:

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

  • bin:可執行檔目錄
  • lib:動態連接庫目錄
  • include:編程用到的頭文件目錄9 N+ @8 {3 C: h8 h% d. {# U: `
不管是藉由compile還是可執行程序的執行都需要依賴lib下面的動態庫,可以把里面的so文件拷貝到/usr/lib下,也可以直接修改配置文件。查看/etc/ld.so.conf文件:, y2 u# r$ ]7 r5 m
[/usr/local/ffmpeg-2.5.3]#vi /etc/ld.so.conf+ Z8 W4 P" l+ R; h5 U9 U' y
include ld.so.conf.d/*.conf
. @- u$ j9 K0 _) J/ X7 L7 P/ Y0 u$ M- J2 k% L% {
於是可以在/etc/ld.so.conf.d/建一個新的文件ffmpeg.conf,新增一行,即為ffmpeg的lib目錄:& v  t' j( @5 F2 @) \- r
/usr/local/ffmpeg/lib0 @5 O5 B, e1 L7 g7 T
再執行ldconfig,更新ld.so.cache,使修改生效。When run ldconfig show error:  ~4 [/ _1 c. I7 v/ _; \( X
ldconfig: /usr/lib64/libgd.so.2 不是一個符號連接檔 ==>
1 M# l1 R& [( T) D( g4 t, A- fll /usr/lib64/  H( B! M, u! |
-rwxr-xr-x 1 root root 275328 2015-01-11 08:03 /usr/lib64/libgd.so.2' i: x" ~/ x# W+ `
-rwxr-xr-x 1 root root 275328 2015-01-11 08:03 /usr/lib64/libgd.so.2.0.0
7 x6 H6 d+ `" n! j, JSo:
! \/ h& A2 Z3 a7 S& w! N( cln -s /usr/lib64/libgd.so.2.0.0   /usr/lib64/libgd.so.2     就解決! i. N0 h3 B  E
可以 vi /etc/ld.so.cache  看看
/usr/local/ffmpeg/lib 是否已加入 cache中+ _8 Y0 R# f. ~) s

- [. ?  y7 z+ p為了在任何地方能够直接用ffmpeg執行,而不用使用如./ffmpeg或者 /usr/local/ffmpeg/bin/ffmpeg的方式執行此工具,可以把可執行檔案複製到bin目錄下,或者在bin目錄下建立軟連結。類似于Windows下的捷徑,如果原可執行檔案被删除了,軟連結也不能繼續使用,而硬連結則可以繼續使用。建連結命令如下:
! g1 Y5 }* j: w4 g9 c( Z* U  u( g

& l' V" U4 x$ }* |
sudo ln -s /usr/local/ffmpeg/bin/ffmpeg /usr/local/bin/   or      [/usr/local/bin]# sudo ln -s /usr/local/ffmpeg/bin/ffmpeg  .   ]$ F* O7 Z% T+ Y: F. Q' h: Q2 B# t
sudo ln -s /usr/local/ffmpeg/bin/ffprobe /usr/local/bin/   or      [/usr/local/bin]# sudo ln -s /usr/local/ffmpeg/bin/ffprobe .
4 d) `- @: U( t" t- ~
sudo ln -s /usr/local/ffmpeg/bin/ffserver /usr/local/bin/   or      [/usr/local/bin]# sudo ln -s /usr/local/ffmpeg/bin/ffserver . : N/ A6 f: N- z  ^5 m

7 }  A+ Y4 R) c另外,如果需要包含ffmpeg的頭文件,最好將include目錄下的ffmpeg複製到/usr/include中。
5 r' l3 T1 }2 _/ ?0 q現在可以在shell中直接輸入ffmpeg執行,結果如下:
8 S! i3 E9 o7 z
7 @# m1 V! `) n) }3 `  [& h# V

. o  x0 a3 Y* `% j/ n[root@CentOS6 bin]# ffmpeg% o- b& X  y( D
ffmpeg version 2.3.git Copyright (c) 2000-2014 the FFmpeg developers/ ]8 }0 [" a% q  L7 f+ ?# D
  built on Oct  9 2015 16:11:13 with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-4)0 M& H/ r5 l* O$ B2 i# I7 E% d
  configuration: --enable-shared --prefix=/usr/local/ffmpeg
% u& u0 J9 |+ b, ?# P9 S' k  libavutil      54.  7.100 / 54.  7.100; Y. F+ x8 o- H1 J% a2 x4 E
  libavcodec     56.  1.100 / 56.  1.100( C  g! e/ a# ]# ^+ P3 p/ Z: O- n
  libavformat    56.  4.100 / 56.  4.1005 {' \9 G/ c5 b" X! \
  libavdevice    56.  0.100 / 56.  0.100; t8 K/ N: |$ ~6 q- a
  libavfilter     5.  1.100 /  5.  1.100; N& [$ k6 y# c4 a1 U  c
  libswscale      3.  0.100 /  3.  0.100# R/ d& K% r8 E: {$ P3 ~4 A
  libswresample   1.  1.100 /  1.  1.100
1 D: e7 C% l! M; AHyper fast Audio and Video encoder
* ^& t# u( A# M* r. r" Cusage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...3 b, d1 ?9 {9 g) K. M2 V2 G8 x
Use -h to get full help or, even better, run 'man ffmpeg'
/ a: O* A/ n0 ]! ]# u

- V; v; @3 V: W! i( ~0 c方法二:8 t* [  ~6 }# w

" V$ z1 T, m' ]- X* i6 ]; Y% G# q以 ffmpeginstaller 安裝 ffmpeg 相關套件:7 a/ O/ Q6 m4 x7 P, r

" E7 C2 L0 c$ E
http://ffmpeginstaller.com下載到指定的目錄,例如:/tmp/
2 V3 ~+ H' r$ ?. o
解開壓縮檔後,會產生一個 ffmpeginstaller+版本號 的目錄,例如:我下載解開後的目錄為
$ h3 k4 o3 I9 Y$ D- Z
/tmp/ffmpeginstaller.8.0/+ Z* A/ d) O+ M: ~- l+ `  A9 \
進去目錄後,下指令以執行
) y( f: {9 X) q9 }! r' B4 g& c+ @( n* l; p: b) o  ?
[root]# ./install
3 R. ]3 {; j0 D4 u, d0 z- [3 T7 b3 r
安裝程式就會開始進行安裝,還會視情況自己上網去下載需要的檔案。
2 q3 W- M# g. M8 D) U1 o其實這個安裝程式就是 yum install 的腳本,安裝過程大約 1 小時! C* F' x4 C- t+ s
下圖是 ffmpeginstaller 會安裝跟ffmpeg相關的套件:
# x( H- r$ h3 t9 ]8 Z8 |
! x. L/ m8 r- | ffmpeginstaller.png 0 D6 _9 F) s1 b/ W* m; S3 L& Q
' ~8 S6 |# U" ]
參考原發: http://oldgrayduck.blogspot.tw/2 ... staller-ffmpeg.html. Z; ]- g" Q" z+ z/ g" U
, `4 G  Z# H$ o
4 }: R2 r* r' M

4 A( k- }1 t  |4 q" w, i, b
回復

使用道具 舉報

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

本版積分規則



中文酷站排行榜

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

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

GMT+8, 2024-12-25 14:15 , Processed in 0.072016 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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