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

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

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

[複製鏈接]
發表於 2015-10-10 10:47:21 | 顯示全部樓層 |閱讀模式
tid=19906& 本帖最後由 IT_man 於 2017-3-28 13:02 編輯 ; m5 S' u" E) N" W$ ?8 t5 ~
! u5 L: a2 W/ ^! z+ d/ l" v
FFmpeg是一款强大的視訊編解碼工具,可以處理大量的編碼格式。ffmpeg是開放原碼,在Linux平台下開發,同時也可以在其它作業系统下編譯執行,包括Windows、Mac OS X等9 y, U; P. [  {1 J: {+ m' @: H

/ i$ o& n0 [# R5 z: Q" h方法一:. b0 U! G' u% O# @' ^6 i( G

. ]" D& j/ }6 I% G$ T[安裝]
) G9 r' b& V# v5 @. U' z[/usr/local]#tar -jxvf ffmpeg-2.5.3.tar.bz2
5 S, G% }& W3 N0 z5 Q[/usr/local]#cd ffmpeg-2.5.3
8 r) F) @2 |' z" R- m: ]) r  k6 Z8 C: ?6 ?9 L
% [6 `/ `  l+ u; ~2 ?8 f
安裝yasm0 Q: N$ P* i2 v3 O5 \
ffmpeg編譯中為了提高compile速度,使用了匯編指令,于是需要使用這個工具。' v2 d, W* a9 N3 y. G9 V# Z1 U" ]
[/usr/local/ffmpeg-2.5.3]#yum -y install yasm
* x: C# C: q1 L. z) c. ^% x或者同樣使用源碼方式安裝,下載yasm源代碼,然后使用./configure、make以及make istall進行安裝) ^! D* Y% h' u6 ]  G5 o* M' O* [
[/usr/local/ffmpeg-2.5.3]#./configure --enable-shared --prefix=/usr/local/ffmpeg! F# C& I, W1 b
其中–enable-shared表示產生動態連接庫,可以供以后編程使用,同時生成的可執行程序也依賴這些動態庫。如果不加上–enable-shared選項則使用靜態連接的方式編譯,此時不會產生動態庫,同時產生的ffmpeg等的可執行檔也比較大,但他們不需要動態庫就可以直接執行。
& q5 S6 r- w( E( S–prefix表示工具安裝的目錄,這裡設為/usr/local/ffmpeg。

7 w9 D" Q2 C" O" J, q: p[/usr/local/ffmpeg-2.5.3]#make     
8 g! c! k$ u7 I+ u. `[/usr/local/ffmpeg-2.5.3]#make install 3 F* s6 g6 s1 H3 g1 V4 _5 `* L
4 i$ F4 }. ^: C0 S9 r
# ~- t2 ~8 V) W$ T1 w& f
路径處理:

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

  • bin:可執行檔目錄
  • lib:動態連接庫目錄
  • include:編程用到的頭文件目錄
    ; Y. c% D5 Z$ S& N) s% e. F8 Q
不管是藉由compile還是可執行程序的執行都需要依賴lib下面的動態庫,可以把里面的so文件拷貝到/usr/lib下,也可以直接修改配置文件。查看/etc/ld.so.conf文件:
" I+ j3 [+ B* n: T[/usr/local/ffmpeg-2.5.3]#vi /etc/ld.so.conf
& p& J0 t& j3 t9 C3 F& ~# \include ld.so.conf.d/*.conf/ c9 }& x0 i% D2 Q% x6 \
' p1 O& e8 z3 I2 Q# |; b' V2 L
於是可以在/etc/ld.so.conf.d/建一個新的文件ffmpeg.conf,新增一行,即為ffmpeg的lib目錄:0 j% y( n; O4 t6 H1 C
/usr/local/ffmpeg/lib! |2 c) ?7 E0 `* h
再執行ldconfig,更新ld.so.cache,使修改生效。When run ldconfig show error:
& L  U& h, ]) ?' I  A8 g7 fldconfig: /usr/lib64/libgd.so.2 不是一個符號連接檔 ==>
# t; P' n; r( N0 G9 y1 ^& [ll /usr/lib64/
6 [" C7 a6 m8 o6 v* M-rwxr-xr-x 1 root root 275328 2015-01-11 08:03 /usr/lib64/libgd.so.20 U6 _: z& f) }/ T$ L* n
-rwxr-xr-x 1 root root 275328 2015-01-11 08:03 /usr/lib64/libgd.so.2.0.0" z% T) E- i! C. J
So:
( K' ?( C- L4 n6 |7 O& Nln -s /usr/lib64/libgd.so.2.0.0   /usr/lib64/libgd.so.2     就解決' K( O; q7 _8 b( S0 e+ |
可以 vi /etc/ld.so.cache  看看
/usr/local/ffmpeg/lib 是否已加入 cache中) M. ~& B+ o* @( G, z: n' w3 V

8 @3 S7 J3 y. k. Q9 O; J為了在任何地方能够直接用ffmpeg執行,而不用使用如./ffmpeg或者 /usr/local/ffmpeg/bin/ffmpeg的方式執行此工具,可以把可執行檔案複製到bin目錄下,或者在bin目錄下建立軟連結。類似于Windows下的捷徑,如果原可執行檔案被删除了,軟連結也不能繼續使用,而硬連結則可以繼續使用。建連結命令如下:
4 [: o# d" h( @' I7 U- j' u2 o
; t: v! Y* |2 C) f  c
sudo ln -s /usr/local/ffmpeg/bin/ffmpeg /usr/local/bin/   or      [/usr/local/bin]# sudo ln -s /usr/local/ffmpeg/bin/ffmpeg  . , [7 c6 @9 @0 U4 Z6 \8 r
sudo ln -s /usr/local/ffmpeg/bin/ffprobe /usr/local/bin/   or      [/usr/local/bin]# sudo ln -s /usr/local/ffmpeg/bin/ffprobe . # D6 W2 o) W) f* |' F) b. z* C
sudo ln -s /usr/local/ffmpeg/bin/ffserver /usr/local/bin/   or      [/usr/local/bin]# sudo ln -s /usr/local/ffmpeg/bin/ffserver .
* H6 \5 U! O% `# e% @: r) s4 y( b
+ ^3 r, t/ S1 t2 `另外,如果需要包含ffmpeg的頭文件,最好將include目錄下的ffmpeg複製到/usr/include中。& b$ e  n/ Z* U, f8 W
現在可以在shell中直接輸入ffmpeg執行,結果如下:7 O# W* T9 D% s  S

! ]4 [, j% ?) e

3 ~- t* ^% s; V+ i! k, w[root@CentOS6 bin]# ffmpeg
2 b, i# P0 h1 ~( _. xffmpeg version 2.3.git Copyright (c) 2000-2014 the FFmpeg developers
+ N  c4 ?( }7 e  built on Oct  9 2015 16:11:13 with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-4)
. s$ [% Q, D* D# ?% }) Y* u  configuration: --enable-shared --prefix=/usr/local/ffmpeg" t. F7 j( r2 j: d: h
  libavutil      54.  7.100 / 54.  7.100. v4 o% S0 p: F2 f9 N
  libavcodec     56.  1.100 / 56.  1.100' i- B' z4 G/ ?
  libavformat    56.  4.100 / 56.  4.100
1 P+ q- e% ~. N# e  libavdevice    56.  0.100 / 56.  0.100
# g& p  w( X  b4 ?. W% J8 k/ ]( ~1 U1 d  libavfilter     5.  1.100 /  5.  1.100
0 Y0 z( Y: p+ V; e5 T& D" b  libswscale      3.  0.100 /  3.  0.100
- ]$ [# j# ~2 ^# p/ k% @% f6 c; M  libswresample   1.  1.100 /  1.  1.100
& {' H/ U5 a8 jHyper fast Audio and Video encoder8 D+ i( M9 q) O/ @( C
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
5 ^( f0 ]- S$ k3 RUse -h to get full help or, even better, run 'man ffmpeg'

% m5 B9 Y) }) K% i4 }; A; A
: [6 n' `& R0 r2 I5 H& P- {7 k方法二:# `+ Z' Y3 \+ z$ |% g" w! }3 T
6 K+ R9 L$ a; r- J
以 ffmpeginstaller 安裝 ffmpeg 相關套件:
; ]0 M7 _, |. ?# w$ _% l/ o: E! A
1 `, f# L* x  d
http://ffmpeginstaller.com下載到指定的目錄,例如:/tmp/
2 k( a4 `- f! L7 U' I
解開壓縮檔後,會產生一個 ffmpeginstaller+版本號 的目錄,例如:我下載解開後的目錄為
( k5 \2 l" Z; H9 |$ }$ z' b/ S* r
/tmp/ffmpeginstaller.8.0/
0 X8 B! U0 U5 n+ f/ g8 p! r進去目錄後,下指令以執行
7 U! M8 w  {- j" c
4 e* B. H" r  N0 j% C0 i. {8 J[root]# ./install5 e) a; S$ z$ U& M. D* h5 P
& L" {+ Q) @/ f: J' T: J
安裝程式就會開始進行安裝,還會視情況自己上網去下載需要的檔案。
( V6 e6 m1 S; D' U6 V  F其實這個安裝程式就是 yum install 的腳本,安裝過程大約 1 小時
' y) H  D4 Z& e1 ], i7 I: @
下圖是 ffmpeginstaller 會安裝跟ffmpeg相關的套件:
0 z; H2 o6 u+ |6 m: G; `% c! ]
5 m2 ~. ~, K% z* N1 i+ V ffmpeginstaller.png $ R; c& Q! W1 V6 l

! `4 U4 K0 L, V% A* e2 K. M參考原發: http://oldgrayduck.blogspot.tw/2 ... staller-ffmpeg.html
2 j4 q# D* f: g

. v2 ]5 Y7 e2 x7 l) F9 b9 B
( U" P# ?0 Y8 }3 F4 o- E/ e3 }# f5 P; Q/ O* c, W* F
回復

使用道具 舉報

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

本版積分規則



中文酷站排行榜

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

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

GMT+8, 2026-2-5 06:39 , Processed in 0.076493 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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