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

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

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

[複製鏈接]
發表於 2015-10-10 10:47:21 | 顯示全部樓層 |閱讀模式
tid=19906& 本帖最後由 IT_man 於 2017-3-28 13:02 編輯 1 w; {- W8 {& P3 y& i* R) Q5 F

0 o4 v( g7 O: E/ K* N) L: `4 {FFmpeg是一款强大的視訊編解碼工具,可以處理大量的編碼格式。ffmpeg是開放原碼,在Linux平台下開發,同時也可以在其它作業系统下編譯執行,包括Windows、Mac OS X等
' L, n. j8 z9 B. k; ^9 A9 T( Z' b4 ]4 C4 M4 _
方法一:
( d( K2 @/ ~5 Q4 ^1 p

% i+ b) f, D: ]$ C[安裝]: b" W; L( j1 {% R+ C
[/usr/local]#tar -jxvf ffmpeg-2.5.3.tar.bz2
% `8 z3 n9 I8 I7 `5 Y# ]/ {) m[/usr/local]#cd ffmpeg-2.5.3
# M" _$ V( P, y  u- H  l2 \
8 [6 W2 a+ |) R; a, c- r8 G) ^1 K

% B5 `4 r* X. J7 S安裝yasm( r6 l8 M( x& j$ M' l
ffmpeg編譯中為了提高compile速度,使用了匯編指令,于是需要使用這個工具。
+ z- }0 o9 L( U5 ]3 s[/usr/local/ffmpeg-2.5.3]#yum -y install yasm* c2 K9 Q7 X* A: {! w/ m
或者同樣使用源碼方式安裝,下載yasm源代碼,然后使用./configure、make以及make istall進行安裝
) n3 B: }6 c+ p& v- x[/usr/local/ffmpeg-2.5.3]#./configure --enable-shared --prefix=/usr/local/ffmpeg
" E, Y( K) W' y4 T7 |$ W/ {其中–enable-shared表示產生動態連接庫,可以供以后編程使用,同時生成的可執行程序也依賴這些動態庫。如果不加上–enable-shared選項則使用靜態連接的方式編譯,此時不會產生動態庫,同時產生的ffmpeg等的可執行檔也比較大,但他們不需要動態庫就可以直接執行。4 f" {0 r, D8 S6 V8 q
–prefix表示工具安裝的目錄,這裡設為/usr/local/ffmpeg。
& s. l5 i* W; q
[/usr/local/ffmpeg-2.5.3]#make     - y" o* c8 ?/ m; R( ]6 Y
[/usr/local/ffmpeg-2.5.3]#make install
5 T, J$ F% P0 j$ B# E) W6 C
# ~( t8 G1 a- }4 S+ p) p; s
+ r$ }( p' p1 u- H- t
路径處理:

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

  • bin:可執行檔目錄
  • lib:動態連接庫目錄
  • include:編程用到的頭文件目錄2 V& V8 K& B" [& W  `8 r
不管是藉由compile還是可執行程序的執行都需要依賴lib下面的動態庫,可以把里面的so文件拷貝到/usr/lib下,也可以直接修改配置文件。查看/etc/ld.so.conf文件:
( `( K. b- I, k  R1 a8 x% f+ I9 B[/usr/local/ffmpeg-2.5.3]#vi /etc/ld.so.conf8 [# v: ~$ J2 k- q5 Q
include ld.so.conf.d/*.conf
0 U$ F2 ?0 D6 ]) H# a/ {0 }' d8 x7 I5 F3 P& y& Y, H& x
於是可以在/etc/ld.so.conf.d/建一個新的文件ffmpeg.conf,新增一行,即為ffmpeg的lib目錄:- ~! M$ I) q( b
/usr/local/ffmpeg/lib% p# j8 ~8 b) s9 X
再執行ldconfig,更新ld.so.cache,使修改生效。When run ldconfig show error:
' J! I5 s7 z  L6 Mldconfig: /usr/lib64/libgd.so.2 不是一個符號連接檔 ==>
6 q% W4 {3 F' R9 I8 [) Jll /usr/lib64/
( J# _/ Q; I2 A5 a: w-rwxr-xr-x 1 root root 275328 2015-01-11 08:03 /usr/lib64/libgd.so.2* U9 M% A/ x% X1 v* w1 e
-rwxr-xr-x 1 root root 275328 2015-01-11 08:03 /usr/lib64/libgd.so.2.0.0+ L5 M3 o+ ~0 |7 f3 d# {: x' G
So:
& x9 R! J" _% z# p& H, Z1 Jln -s /usr/lib64/libgd.so.2.0.0   /usr/lib64/libgd.so.2     就解決4 f1 g& T* J2 {6 C; h. v+ p' f% _. z
可以 vi /etc/ld.so.cache  看看
/usr/local/ffmpeg/lib 是否已加入 cache中% s4 B& O3 M% k1 r

; c- Z: i: B1 u為了在任何地方能够直接用ffmpeg執行,而不用使用如./ffmpeg或者 /usr/local/ffmpeg/bin/ffmpeg的方式執行此工具,可以把可執行檔案複製到bin目錄下,或者在bin目錄下建立軟連結。類似于Windows下的捷徑,如果原可執行檔案被删除了,軟連結也不能繼續使用,而硬連結則可以繼續使用。建連結命令如下: ) a/ B/ X; L, P% v6 B

) ^! T" h# f0 e0 f5 J2 Y1 @
sudo ln -s /usr/local/ffmpeg/bin/ffmpeg /usr/local/bin/   or      [/usr/local/bin]# sudo ln -s /usr/local/ffmpeg/bin/ffmpeg  .
: D8 ~9 X4 y3 H3 f+ V
sudo ln -s /usr/local/ffmpeg/bin/ffprobe /usr/local/bin/   or      [/usr/local/bin]# sudo ln -s /usr/local/ffmpeg/bin/ffprobe . ( v5 D/ m8 P* W/ C# K
sudo ln -s /usr/local/ffmpeg/bin/ffserver /usr/local/bin/   or      [/usr/local/bin]# sudo ln -s /usr/local/ffmpeg/bin/ffserver .   o# i$ }5 h) f/ j( W0 `, B* V

, E0 e% _! V& D另外,如果需要包含ffmpeg的頭文件,最好將include目錄下的ffmpeg複製到/usr/include中。
3 T: n- d/ P2 F現在可以在shell中直接輸入ffmpeg執行,結果如下:0 A3 G( j' [- B2 p0 B' }  y

, m( r  ~' b  {- Q& Q6 I5 w* O* |

8 e/ |$ [7 s, @- o: y/ O4 z4 I[root@CentOS6 bin]# ffmpeg8 _' H+ c/ I% @" f
ffmpeg version 2.3.git Copyright (c) 2000-2014 the FFmpeg developers0 V+ r% S, L5 c9 l
  built on Oct  9 2015 16:11:13 with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-4)
/ A4 ~0 v" ]! j3 x; c  configuration: --enable-shared --prefix=/usr/local/ffmpeg
* w% D9 y$ Z# E# N3 N' j2 ^  libavutil      54.  7.100 / 54.  7.100
1 V1 p7 e3 A# F! u1 L# |/ G- ^  libavcodec     56.  1.100 / 56.  1.100
2 @4 m2 x) o. ~4 R7 M: F7 G  libavformat    56.  4.100 / 56.  4.100
5 L+ c" Y) b; z* l4 Z5 c  libavdevice    56.  0.100 / 56.  0.100# b+ N; R8 \4 S/ @1 x/ F: |+ `5 q" N
  libavfilter     5.  1.100 /  5.  1.100: _- {( \, G' e
  libswscale      3.  0.100 /  3.  0.100
6 i  n  s: b1 t) z6 j! t  libswresample   1.  1.100 /  1.  1.100
( ^5 M& T, v- B! Y! MHyper fast Audio and Video encoder; r5 _8 h4 P  d4 B% P% C
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...; ^( M( B/ K" t% }5 d) J
Use -h to get full help or, even better, run 'man ffmpeg'
& k+ u  \! z; |7 N: F; a

& Z8 G5 }1 @8 _( q6 i方法二:  |. C6 d- K& L! b' y* Z( `

( Z. C7 s' C& k3 x* D  Z以 ffmpeginstaller 安裝 ffmpeg 相關套件:
3 J5 \5 U* \  p  {3 O! E: `3 X- _- @$ K3 `
http://ffmpeginstaller.com下載到指定的目錄,例如:/tmp/
) Z7 V! M5 \$ A8 p7 |9 n
解開壓縮檔後,會產生一個 ffmpeginstaller+版本號 的目錄,例如:我下載解開後的目錄為
6 k: B% H, p; q& X4 F
/tmp/ffmpeginstaller.8.0/7 F% w: U/ r. ^3 l3 Q2 v
進去目錄後,下指令以執行- X) s. _* y7 T7 {9 Z8 v( e
) R% k/ r- H' ]7 C& R
[root]# ./install4 [  r  H7 G, Z  C9 h3 U3 q
/ u/ a! W' J; I  h
安裝程式就會開始進行安裝,還會視情況自己上網去下載需要的檔案。
; p  r! Y) ?" H' R/ S3 f4 g其實這個安裝程式就是 yum install 的腳本,安裝過程大約 1 小時
0 E3 E9 t8 n$ A, a4 w8 `
下圖是 ffmpeginstaller 會安裝跟ffmpeg相關的套件:9 f6 E# N; P) z* r( R3 H

9 X' q: j& ^( r6 y7 z ffmpeginstaller.png + Q% D' n; J! L- a" P2 I
6 N; H' a9 T( x( P/ M; R
參考原發: http://oldgrayduck.blogspot.tw/2 ... staller-ffmpeg.html
- N- f3 X/ ?' J+ {; x+ N# N

- R* U2 _9 o4 i( W& L
9 [% s9 p6 o9 ?% g( o1 Z1 a6 x* E( n  k; h3 m9 V) d: T) F
回復

使用道具 舉報

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

本版積分規則



中文酷站排行榜

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

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

GMT+8, 2025-12-6 19:20 , Processed in 0.077771 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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