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

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

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

[複製鏈接]
發表於 2015-10-10 10:47:21 | 顯示全部樓層 |閱讀模式
tid=19906& 本帖最後由 IT_man 於 2017-3-28 13:02 編輯
9 e  b% T% U0 w3 {2 ^% e( X, E/ b/ ?, q* r$ W. y1 _7 v$ L
FFmpeg是一款强大的視訊編解碼工具,可以處理大量的編碼格式。ffmpeg是開放原碼,在Linux平台下開發,同時也可以在其它作業系统下編譯執行,包括Windows、Mac OS X等
+ G4 o( m$ k. S9 f
4 k7 l" p- f9 d! [' h- a方法一:/ n* [* x- D! v* J

- ~: |& ]3 I) o) p4 E[安裝]0 A) Z8 Y$ Z9 g7 h
[/usr/local]#tar -jxvf ffmpeg-2.5.3.tar.bz25 N% Z/ c" _# J5 A
[/usr/local]#cd ffmpeg-2.5.3
. a9 s# q: L# B  H; q
+ t2 x7 N  V% e4 \, C( ]

! x8 y4 N) l) M安裝yasm$ Y: O2 D: P$ ?; M" _1 P( Y
ffmpeg編譯中為了提高compile速度,使用了匯編指令,于是需要使用這個工具。9 g' n+ `8 D/ s/ ~; Y% j7 Y! j
[/usr/local/ffmpeg-2.5.3]#yum -y install yasm
4 W# I- {2 |1 M: r, G或者同樣使用源碼方式安裝,下載yasm源代碼,然后使用./configure、make以及make istall進行安裝, ^4 n- {7 d  c1 j5 V8 D
[/usr/local/ffmpeg-2.5.3]#./configure --enable-shared --prefix=/usr/local/ffmpeg. p) K5 ~% o4 [& s" g& f8 X
其中–enable-shared表示產生動態連接庫,可以供以后編程使用,同時生成的可執行程序也依賴這些動態庫。如果不加上–enable-shared選項則使用靜態連接的方式編譯,此時不會產生動態庫,同時產生的ffmpeg等的可執行檔也比較大,但他們不需要動態庫就可以直接執行。" I0 C/ {$ H+ [, X
–prefix表示工具安裝的目錄,這裡設為/usr/local/ffmpeg。
& b5 ~0 @5 V/ ]' _; f' L8 I
[/usr/local/ffmpeg-2.5.3]#make     
( _+ W+ v- R. H5 l2 f. z2 D[/usr/local/ffmpeg-2.5.3]#make install ) P9 f! P; w- n4 p( p) T% [

3 B8 j5 n# L" u/ O
- e$ k; z0 }$ f8 s( K  `0 e9 G+ b
路径處理:

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

  • bin:可執行檔目錄
  • lib:動態連接庫目錄
  • include:編程用到的頭文件目錄
    ; [) k- }$ j% w4 {4 ~4 g
不管是藉由compile還是可執行程序的執行都需要依賴lib下面的動態庫,可以把里面的so文件拷貝到/usr/lib下,也可以直接修改配置文件。查看/etc/ld.so.conf文件:
/ m+ Z5 }! y1 g* T[/usr/local/ffmpeg-2.5.3]#vi /etc/ld.so.conf/ Y* R+ U5 g% ^4 Q8 U! x5 v3 _3 r
include ld.so.conf.d/*.conf& [; N0 o& u2 C/ }

$ N8 k. X" e9 S2 G# X# \於是可以在/etc/ld.so.conf.d/建一個新的文件ffmpeg.conf,新增一行,即為ffmpeg的lib目錄:
$ s# O6 x' }) _: a6 U0 J/usr/local/ffmpeg/lib+ y& n. G  R& u% B+ c) `
再執行ldconfig,更新ld.so.cache,使修改生效。When run ldconfig show error:. U* y3 d" w1 Q" d1 W& R
ldconfig: /usr/lib64/libgd.so.2 不是一個符號連接檔 ==>
* A6 H0 D2 s0 r" S0 C1 G8 ^, Lll /usr/lib64/1 G6 j, \7 h8 x1 `4 i* h+ a
-rwxr-xr-x 1 root root 275328 2015-01-11 08:03 /usr/lib64/libgd.so.2) q4 G$ j5 f: `9 G$ B# r! @8 J
-rwxr-xr-x 1 root root 275328 2015-01-11 08:03 /usr/lib64/libgd.so.2.0.0
. k  n/ w+ F. F8 g6 I3 JSo:
+ \, S' D; |# E. g  tln -s /usr/lib64/libgd.so.2.0.0   /usr/lib64/libgd.so.2     就解決
# l3 u$ w( _5 K$ H, ~3 D可以 vi /etc/ld.so.cache  看看
/usr/local/ffmpeg/lib 是否已加入 cache中; U: N8 s2 W; ]& V7 [. _+ W

6 t6 V9 K( \7 h& f7 v5 t4 Z為了在任何地方能够直接用ffmpeg執行,而不用使用如./ffmpeg或者 /usr/local/ffmpeg/bin/ffmpeg的方式執行此工具,可以把可執行檔案複製到bin目錄下,或者在bin目錄下建立軟連結。類似于Windows下的捷徑,如果原可執行檔案被删除了,軟連結也不能繼續使用,而硬連結則可以繼續使用。建連結命令如下: : G: A7 Y1 J/ D( F1 R; L
9 y0 D/ D( w. K: z; X
sudo ln -s /usr/local/ffmpeg/bin/ffmpeg /usr/local/bin/   or      [/usr/local/bin]# sudo ln -s /usr/local/ffmpeg/bin/ffmpeg  .
6 n" s" @2 r5 U; [: z5 L6 I
sudo ln -s /usr/local/ffmpeg/bin/ffprobe /usr/local/bin/   or      [/usr/local/bin]# sudo ln -s /usr/local/ffmpeg/bin/ffprobe . 2 ^0 I  f3 y8 n" r( }
sudo ln -s /usr/local/ffmpeg/bin/ffserver /usr/local/bin/   or      [/usr/local/bin]# sudo ln -s /usr/local/ffmpeg/bin/ffserver . ! Z$ S" A, z& U  l: |2 t
! w6 @! y$ \: A# p
另外,如果需要包含ffmpeg的頭文件,最好將include目錄下的ffmpeg複製到/usr/include中。# o$ R$ x% n) i) \, }
現在可以在shell中直接輸入ffmpeg執行,結果如下:" E/ @& C3 V) W2 m* d3 z3 r2 C

; X+ _2 \9 ?. N

& e' s' K% D* \4 c[root@CentOS6 bin]# ffmpeg! B' @( G' G  C0 W+ o8 A- s' E
ffmpeg version 2.3.git Copyright (c) 2000-2014 the FFmpeg developers
: m$ e, S9 _; E- @% H! P  built on Oct  9 2015 16:11:13 with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-4)( K4 {9 W2 G; R$ Q  V! P
  configuration: --enable-shared --prefix=/usr/local/ffmpeg
. U! K0 z) M/ o, }( b; Z; Z  libavutil      54.  7.100 / 54.  7.100: F5 k2 B# W5 A2 \. i' ]. ]5 j/ W
  libavcodec     56.  1.100 / 56.  1.100; d; u9 u' A! z4 i' A
  libavformat    56.  4.100 / 56.  4.100* {1 o8 c# y1 Z& v2 i
  libavdevice    56.  0.100 / 56.  0.100
- l  l# f1 ~- W0 f+ C$ b% ~  libavfilter     5.  1.100 /  5.  1.100
6 |2 @8 p6 k3 ^4 T. P$ O( Y  libswscale      3.  0.100 /  3.  0.100# L  E, u. L; R/ K
  libswresample   1.  1.100 /  1.  1.100: n( y% ?) w/ |5 J
Hyper fast Audio and Video encoder
& L$ @: I8 Y$ f& Ousage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...6 g/ q, }3 r5 r0 s
Use -h to get full help or, even better, run 'man ffmpeg'
! v9 ?# k; f7 G

* _7 m6 N+ c  N0 t, z& I方法二:1 S, T, D; b# Z' D. A% k
; J& U; [8 ?, W# I/ z: ^: j( i
以 ffmpeginstaller 安裝 ffmpeg 相關套件:5 t0 H4 r8 |) ]2 j, U$ s+ u
: @$ E0 p1 N% j8 S
http://ffmpeginstaller.com下載到指定的目錄,例如:/tmp/' |0 D# ~* \: Y/ Y4 {# W
解開壓縮檔後,會產生一個 ffmpeginstaller+版本號 的目錄,例如:我下載解開後的目錄為
/ u3 U4 N8 w. H' @) J
/tmp/ffmpeginstaller.8.0/! b+ ~8 A2 l1 N% d5 k
進去目錄後,下指令以執行
! S7 P' V* {" }# r, z. f' o0 d( u  I* `3 p; B1 p
[root]# ./install
+ H$ L1 }, ]$ J: t" s3 {! n& f0 h, x; m- K
安裝程式就會開始進行安裝,還會視情況自己上網去下載需要的檔案。3 ^+ x, L% m& e$ Q, N0 z/ a$ y  \
其實這個安裝程式就是 yum install 的腳本,安裝過程大約 1 小時
  W& O; C- x4 B+ H. k
下圖是 ffmpeginstaller 會安裝跟ffmpeg相關的套件:
% D, O9 Q  e6 w, h1 O) @0 r: o  b4 ~. T
ffmpeginstaller.png 2 `: Z* v: z( w6 q. W7 k5 D
, r6 y+ K: J0 j6 Z/ f
參考原發: http://oldgrayduck.blogspot.tw/2 ... staller-ffmpeg.html, L+ k% l5 s1 {) o, ]0 O

0 n- r3 N$ X2 ?* N3 k5 K' B  ^: N$ V( f/ j1 X
, m, b7 j2 r6 {3 Y* s, z2 D
回復

使用道具 舉報

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

本版積分規則



中文酷站排行榜

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

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

GMT+8, 2026-3-23 19:47 , Processed in 0.065282 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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