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

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

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

[複製鏈接]
發表於 2015-10-10 10:47:21 | 顯示全部樓層 |閱讀模式
tid=19906& 本帖最後由 IT_man 於 2017-3-28 13:02 編輯
# _8 M0 `3 M! W# b. M
! D/ T( S. X' `& n% Z! P! \$ eFFmpeg是一款强大的視訊編解碼工具,可以處理大量的編碼格式。ffmpeg是開放原碼,在Linux平台下開發,同時也可以在其它作業系统下編譯執行,包括Windows、Mac OS X等# S0 M+ f! l  u
' I5 L* n6 L$ i. W  S! _
方法一:
: h! W! e7 t9 G1 p3 X* ]2 f1 M% l
( C5 Z4 h' _* [9 c
[安裝]+ k, P+ R# n7 p5 @1 |
[/usr/local]#tar -jxvf ffmpeg-2.5.3.tar.bz2( t$ a4 H( @7 Y! c
[/usr/local]#cd ffmpeg-2.5.3
. K8 D: f8 t6 f3 D- v, l, |8 Z) v  {4 J2 U4 U7 Y( u

+ N6 ~1 e- Q& i6 M. I% O+ \安裝yasm
% u6 s: @+ L. ^" ?& g6 c/ g! O. vffmpeg編譯中為了提高compile速度,使用了匯編指令,于是需要使用這個工具。
1 C6 d5 A6 H" ^. O% o, K' G  t[/usr/local/ffmpeg-2.5.3]#yum -y install yasm9 D6 c! Y5 S6 p
或者同樣使用源碼方式安裝,下載yasm源代碼,然后使用./configure、make以及make istall進行安裝
4 ]/ Q% d. F- Y9 m; J2 ?[/usr/local/ffmpeg-2.5.3]#./configure --enable-shared --prefix=/usr/local/ffmpeg
( R% a, N8 ~+ I# j  I2 ~; }其中–enable-shared表示產生動態連接庫,可以供以后編程使用,同時生成的可執行程序也依賴這些動態庫。如果不加上–enable-shared選項則使用靜態連接的方式編譯,此時不會產生動態庫,同時產生的ffmpeg等的可執行檔也比較大,但他們不需要動態庫就可以直接執行。
; ~  M3 ^( w+ Q! t4 B–prefix表示工具安裝的目錄,這裡設為/usr/local/ffmpeg。
' j" ?8 y" X; S) o2 d
[/usr/local/ffmpeg-2.5.3]#make     
' R* k& n: ]3 m6 a4 r[/usr/local/ffmpeg-2.5.3]#make install " S7 P$ L! D! {  b* f# _
0 M; \3 t+ Q+ `

7 c+ o: ]; _4 F6 o" @( c/ R) x. `路径處理:

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

  • bin:可執行檔目錄
  • lib:動態連接庫目錄
  • include:編程用到的頭文件目錄( {7 f3 |& _3 g! P
不管是藉由compile還是可執行程序的執行都需要依賴lib下面的動態庫,可以把里面的so文件拷貝到/usr/lib下,也可以直接修改配置文件。查看/etc/ld.so.conf文件:
: g* ^8 B( k7 A+ E& W  l1 Z[/usr/local/ffmpeg-2.5.3]#vi /etc/ld.so.conf
! j" m% V* `6 j1 qinclude ld.so.conf.d/*.conf" W4 P4 K$ W' b. i$ C

* ]1 Q3 m* C$ B3 @  d5 [於是可以在/etc/ld.so.conf.d/建一個新的文件ffmpeg.conf,新增一行,即為ffmpeg的lib目錄:
* F6 C/ Y4 Y' H7 F. L# ^4 R3 W/usr/local/ffmpeg/lib
9 e2 {, y4 M( U/ {0 [再執行ldconfig,更新ld.so.cache,使修改生效。When run ldconfig show error:
8 I1 L  u9 O/ U3 x1 U' wldconfig: /usr/lib64/libgd.so.2 不是一個符號連接檔 ==>
' }7 F& h7 f% b6 Q) ell /usr/lib64/
, V) P; U5 ?$ M, p0 h! {8 M- q: u-rwxr-xr-x 1 root root 275328 2015-01-11 08:03 /usr/lib64/libgd.so.2
4 t' r6 `- U' i! c, e7 P! j( |" G-rwxr-xr-x 1 root root 275328 2015-01-11 08:03 /usr/lib64/libgd.so.2.0.0
$ v* k* `) |9 O6 dSo:0 G% C+ S- h) S! K+ v
ln -s /usr/lib64/libgd.so.2.0.0   /usr/lib64/libgd.so.2     就解決
) t% E0 E' u7 v/ c0 ~3 o1 M可以 vi /etc/ld.so.cache  看看
/usr/local/ffmpeg/lib 是否已加入 cache中
7 P* G4 A- V* r/ T7 [$ o. X) `% K( n2 ?2 ~
為了在任何地方能够直接用ffmpeg執行,而不用使用如./ffmpeg或者 /usr/local/ffmpeg/bin/ffmpeg的方式執行此工具,可以把可執行檔案複製到bin目錄下,或者在bin目錄下建立軟連結。類似于Windows下的捷徑,如果原可執行檔案被删除了,軟連結也不能繼續使用,而硬連結則可以繼續使用。建連結命令如下: # O* e5 e; r( F& H# ]  n

# a: O. B' Z! v# @+ b$ t, ~/ r
sudo ln -s /usr/local/ffmpeg/bin/ffmpeg /usr/local/bin/   or      [/usr/local/bin]# sudo ln -s /usr/local/ffmpeg/bin/ffmpeg  .
5 N" l: u' w1 `
sudo ln -s /usr/local/ffmpeg/bin/ffprobe /usr/local/bin/   or      [/usr/local/bin]# sudo ln -s /usr/local/ffmpeg/bin/ffprobe .
. Q5 l. F9 l# l' Z) }( ?$ I3 x
sudo ln -s /usr/local/ffmpeg/bin/ffserver /usr/local/bin/   or      [/usr/local/bin]# sudo ln -s /usr/local/ffmpeg/bin/ffserver .
6 p' I/ L& b! C8 C' i$ X9 P& U. _3 p& u/ V" r: B* [
另外,如果需要包含ffmpeg的頭文件,最好將include目錄下的ffmpeg複製到/usr/include中。
8 U3 H9 Z9 c8 h8 C/ a現在可以在shell中直接輸入ffmpeg執行,結果如下:( C' U* F) Y, g3 J
9 c! ~! O' _% R0 Y, I$ ~6 i; @
8 F4 d/ g0 q1 W6 F% N. A  h
[root@CentOS6 bin]# ffmpeg2 v. ~* c  A! |9 R6 T- w+ i
ffmpeg version 2.3.git Copyright (c) 2000-2014 the FFmpeg developers
+ L4 S  s% j! v! H3 w- Q  built on Oct  9 2015 16:11:13 with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-4)% s# X# }/ @9 ^  ~( m6 o
  configuration: --enable-shared --prefix=/usr/local/ffmpeg# q, \% [+ F; @6 v8 V
  libavutil      54.  7.100 / 54.  7.100* X0 E. A( R2 U9 R
  libavcodec     56.  1.100 / 56.  1.100
7 \% n! W+ p8 p2 b, y  libavformat    56.  4.100 / 56.  4.100( d$ [- s  x6 J% y
  libavdevice    56.  0.100 / 56.  0.1006 }+ _/ l: T' _0 {) Q, i7 t
  libavfilter     5.  1.100 /  5.  1.100
2 ?' ?1 Q. G, i$ ]1 J! ?; y  libswscale      3.  0.100 /  3.  0.1004 J6 n3 U7 R% ~4 F- E( F
  libswresample   1.  1.100 /  1.  1.100( g" p* \- s& M: w; S' d# L
Hyper fast Audio and Video encoder0 `+ G' Q$ B1 m. W4 j. H3 W
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}.../ _2 A7 }9 C# O
Use -h to get full help or, even better, run 'man ffmpeg'

$ ^6 R9 r. o+ y/ @$ A" T; Q; v) M0 ?2 N9 h% m/ Q9 z
方法二:+ A% ^6 \* p$ n8 N( y/ ]

( B5 j" @0 M: D2 C. A( ^以 ffmpeginstaller 安裝 ffmpeg 相關套件:5 q2 t0 K7 ?2 W, \/ Z
: ?4 f' j2 Z! t9 A) i1 ~: d2 W
http://ffmpeginstaller.com下載到指定的目錄,例如:/tmp/( Z" n/ @6 C, ]2 f
解開壓縮檔後,會產生一個 ffmpeginstaller+版本號 的目錄,例如:我下載解開後的目錄為- A; ]8 L1 [* b4 c
/tmp/ffmpeginstaller.8.0/  s  v/ V1 V  F/ a
進去目錄後,下指令以執行1 b* P* x& k3 w- U$ a+ V
# o% _5 h8 p4 v
[root]# ./install
$ c& K; N4 J* D9 L
4 I* ]$ [: `8 k. o+ @' u, H0 d  `安裝程式就會開始進行安裝,還會視情況自己上網去下載需要的檔案。6 h: d7 f, o; ~7 ^  \8 e8 L1 K0 w0 {
其實這個安裝程式就是 yum install 的腳本,安裝過程大約 1 小時0 n6 H7 `" c& I! ?7 F! [2 H$ h
下圖是 ffmpeginstaller 會安裝跟ffmpeg相關的套件:2 _; k; b* Y# ^) o, p) m+ j9 g

& F9 w7 J0 d* c ffmpeginstaller.png
+ G8 O* e% a! G4 c" ~% {6 p
& f: R; v8 J  Q4 ^$ X參考原發: http://oldgrayduck.blogspot.tw/2 ... staller-ffmpeg.html
; p; |" u- T9 `. g( b+ s# {
" [: \4 }! C: R6 ]9 F) J

& _  t  R0 m* h
6 _! `7 u' s/ u
回復

使用道具 舉報

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

本版積分規則



中文酷站排行榜

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

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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