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

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

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

[複製鏈接]
發表於 2015-10-10 10:47:21 | 顯示全部樓層 |閱讀模式
tid=19906& 本帖最後由 IT_man 於 2017-3-28 13:02 編輯
% p+ F  p, _" V8 r$ X5 _7 C- d& C6 k9 u
FFmpeg是一款强大的視訊編解碼工具,可以處理大量的編碼格式。ffmpeg是開放原碼,在Linux平台下開發,同時也可以在其它作業系统下編譯執行,包括Windows、Mac OS X等4 z. O3 x/ c. [( Q0 ~! U3 K2 t* @0 R
4 t  g/ V$ ]8 n- j" s+ D$ y
方法一:0 L6 D: q# R9 P7 ?6 [  F
$ V( N1 a- i8 k3 s% }7 k. G
[安裝]
1 B. J. V1 b* x+ A* K4 k  r7 B( i[/usr/local]#tar -jxvf ffmpeg-2.5.3.tar.bz2
" m. @( m7 K5 @& Y' H5 D[/usr/local]#cd ffmpeg-2.5.3" m7 G/ J9 U3 E7 Z) a
& @- r& ]' s) }0 M
4 N! G0 S* O2 r  V
安裝yasm" m, Q6 j$ M, \. I% Y) @, c( n8 j
ffmpeg編譯中為了提高compile速度,使用了匯編指令,于是需要使用這個工具。2 k9 k  m4 F' Y5 E
[/usr/local/ffmpeg-2.5.3]#yum -y install yasm) n. X! V& r' n0 _
或者同樣使用源碼方式安裝,下載yasm源代碼,然后使用./configure、make以及make istall進行安裝
% p, e3 X  x) P% ?[/usr/local/ffmpeg-2.5.3]#./configure --enable-shared --prefix=/usr/local/ffmpeg) I7 B3 t9 x7 U5 e5 k
其中–enable-shared表示產生動態連接庫,可以供以后編程使用,同時生成的可執行程序也依賴這些動態庫。如果不加上–enable-shared選項則使用靜態連接的方式編譯,此時不會產生動態庫,同時產生的ffmpeg等的可執行檔也比較大,但他們不需要動態庫就可以直接執行。
( v3 a, _+ ?. z+ p–prefix表示工具安裝的目錄,這裡設為/usr/local/ffmpeg。
' Q7 X2 t6 I/ [! _) L- t0 q
[/usr/local/ffmpeg-2.5.3]#make     7 ?- F: j3 e- m* D2 o+ Z
[/usr/local/ffmpeg-2.5.3]#make install
! C4 t$ h4 c7 r% J$ P8 x% x. x9 E* O/ |- }! L* j6 j; Q% U0 R
- r: F9 c4 f& y$ U0 r
路径處理:

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

  • bin:可執行檔目錄
  • lib:動態連接庫目錄
  • include:編程用到的頭文件目錄
    4 }( T' A' V; i. q- c
不管是藉由compile還是可執行程序的執行都需要依賴lib下面的動態庫,可以把里面的so文件拷貝到/usr/lib下,也可以直接修改配置文件。查看/etc/ld.so.conf文件:6 |5 o+ \5 |" i: P
[/usr/local/ffmpeg-2.5.3]#vi /etc/ld.so.conf
" A/ u7 k/ J; s) b- C1 N  j! @include ld.so.conf.d/*.conf3 D9 d$ U0 P! p; r9 a% p

7 C( H! C* V- f3 k+ g- N6 I* z1 A4 ^於是可以在/etc/ld.so.conf.d/建一個新的文件ffmpeg.conf,新增一行,即為ffmpeg的lib目錄:& H5 ^- d1 D& T7 ?( c
/usr/local/ffmpeg/lib
* y* X  G- @' k0 R  Y" j再執行ldconfig,更新ld.so.cache,使修改生效。When run ldconfig show error:
& N- D: E9 M+ D! t* Uldconfig: /usr/lib64/libgd.so.2 不是一個符號連接檔 ==>' K6 a- F9 x/ j% z: X5 B- S) O
ll /usr/lib64/
* X. g% }; Y2 \% I1 R! V; U-rwxr-xr-x 1 root root 275328 2015-01-11 08:03 /usr/lib64/libgd.so.2
& t5 Y) z, x8 M: s-rwxr-xr-x 1 root root 275328 2015-01-11 08:03 /usr/lib64/libgd.so.2.0.0) P5 N8 H0 w- w; j: j
So:$ |5 g- m; f; ]" u, j5 z
ln -s /usr/lib64/libgd.so.2.0.0   /usr/lib64/libgd.so.2     就解決
4 U. o( t& d/ U4 |6 `1 \8 g可以 vi /etc/ld.so.cache  看看
/usr/local/ffmpeg/lib 是否已加入 cache中2 O0 x3 {( G4 k

4 z5 Q: m. ?* R; d3 U5 ?為了在任何地方能够直接用ffmpeg執行,而不用使用如./ffmpeg或者 /usr/local/ffmpeg/bin/ffmpeg的方式執行此工具,可以把可執行檔案複製到bin目錄下,或者在bin目錄下建立軟連結。類似于Windows下的捷徑,如果原可執行檔案被删除了,軟連結也不能繼續使用,而硬連結則可以繼續使用。建連結命令如下: ) m4 a6 s: D0 C7 n7 H( ~4 Q: t  k
& x2 e7 I5 }" o  [/ Y3 ]& z" r
sudo ln -s /usr/local/ffmpeg/bin/ffmpeg /usr/local/bin/   or      [/usr/local/bin]# sudo ln -s /usr/local/ffmpeg/bin/ffmpeg  .
/ ?; `2 M; g' A9 u5 A. p
sudo ln -s /usr/local/ffmpeg/bin/ffprobe /usr/local/bin/   or      [/usr/local/bin]# sudo ln -s /usr/local/ffmpeg/bin/ffprobe . ' I0 I. t2 t0 g) ?; \, |7 d; o
sudo ln -s /usr/local/ffmpeg/bin/ffserver /usr/local/bin/   or      [/usr/local/bin]# sudo ln -s /usr/local/ffmpeg/bin/ffserver . # W4 ~8 Y7 J, j) S

: ~8 c0 r$ n4 A3 N* U7 E另外,如果需要包含ffmpeg的頭文件,最好將include目錄下的ffmpeg複製到/usr/include中。& o5 \; z8 d1 {: e. V# }
現在可以在shell中直接輸入ffmpeg執行,結果如下:
9 _3 Z, A5 `0 T; v1 Q. J
; ]% Y- c; b  J

& K. v4 X7 d! n4 _) G[root@CentOS6 bin]# ffmpeg
) T# k0 d- Y- f- ?  L. effmpeg version 2.3.git Copyright (c) 2000-2014 the FFmpeg developers
$ I5 S  C0 P/ V5 r  built on Oct  9 2015 16:11:13 with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-4)$ G& S8 s- }6 T6 P) J/ ^8 Q8 ?
  configuration: --enable-shared --prefix=/usr/local/ffmpeg+ s3 f/ E9 q) F% y: E5 j8 F8 z
  libavutil      54.  7.100 / 54.  7.1005 A+ v" f$ c2 H! ?* O: w  P8 z
  libavcodec     56.  1.100 / 56.  1.100
. ?, n( J; e. Q  _  libavformat    56.  4.100 / 56.  4.100
5 b8 h% e; v/ ^8 p; A  libavdevice    56.  0.100 / 56.  0.100
" l, m3 u( \0 z* i; D  libavfilter     5.  1.100 /  5.  1.100
  k) }5 P1 a; c- K  libswscale      3.  0.100 /  3.  0.100$ E* M! s$ o& w, E
  libswresample   1.  1.100 /  1.  1.100
/ o) S- t! E+ R( E' MHyper fast Audio and Video encoder2 I: p5 M6 @, p. F
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
- J$ v1 A1 ~0 UUse -h to get full help or, even better, run 'man ffmpeg'
" _+ {! P  o" o5 s) f. D' _

! |% E& ?5 }  F3 w4 Q# Y方法二:
. P+ P8 P1 ]) X; v9 j
" q/ Y1 I' n3 n0 S以 ffmpeginstaller 安裝 ffmpeg 相關套件:
# I" q- p/ d" k- b
; @& |. s$ p$ v* z
http://ffmpeginstaller.com下載到指定的目錄,例如:/tmp/& A: e  C' S' \% @. y
解開壓縮檔後,會產生一個 ffmpeginstaller+版本號 的目錄,例如:我下載解開後的目錄為& C) B$ W( D0 P/ h* K: w
/tmp/ffmpeginstaller.8.0/0 i6 b% A: i5 O" o
進去目錄後,下指令以執行
/ j) G+ y+ x9 E7 L' P3 O; p
1 L* `3 c! g7 m! t) S5 J[root]# ./install
* {( o' o  e7 A0 @: n; H# |7 k4 _) c7 b: |' K
安裝程式就會開始進行安裝,還會視情況自己上網去下載需要的檔案。
( X. M, y" j+ O- c, _其實這個安裝程式就是 yum install 的腳本,安裝過程大約 1 小時
( L4 F1 D7 _+ g+ ~8 X
下圖是 ffmpeginstaller 會安裝跟ffmpeg相關的套件:
! m0 k+ |7 e. e5 V& Y. f
3 s( l* \+ \/ Z$ X2 t7 z ffmpeginstaller.png
/ X5 a* {1 |  c- [+ C2 z/ z( p! }6 V8 V$ x6 P1 G- I3 \7 a0 N' d
參考原發: http://oldgrayduck.blogspot.tw/2 ... staller-ffmpeg.html
& j7 `  u" e% Q) J) _6 z
2 z, L. ^$ `/ ?6 {+ K7 p) Q$ O5 w

! l! q4 J( @+ a' {% |3 |3 A
5 V! n* {# f. u) J1 q( n, A: I1 D
回復

使用道具 舉報

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

本版積分規則



中文酷站排行榜

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

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

GMT+8, 2024-10-29 04:35 , Processed in 0.077399 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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