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

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

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

[複製鏈接]
發表於 2015-10-10 10:47:21 | 顯示全部樓層 |閱讀模式
tid=19906& 本帖最後由 IT_man 於 2017-3-28 13:02 編輯 , K. {/ ^) b8 ]! L* M; U0 R

3 Y  z8 Y- W1 R1 dFFmpeg是一款强大的視訊編解碼工具,可以處理大量的編碼格式。ffmpeg是開放原碼,在Linux平台下開發,同時也可以在其它作業系统下編譯執行,包括Windows、Mac OS X等
- z8 [' y  U; ]# Q! s1 Y5 k! [5 z) c
方法一:4 Q+ L7 K: q- G0 R
! x! P* v$ V+ E* Q# C) G
[安裝]! o- o3 X( v6 |, n6 D
[/usr/local]#tar -jxvf ffmpeg-2.5.3.tar.bz2
4 J+ R- a, H5 Y3 e8 K8 ][/usr/local]#cd ffmpeg-2.5.3% n9 ^$ w* M& b7 d( E6 B
( |( y7 H: b% q+ D0 l

6 o2 l# l- ^- G! I4 W安裝yasm+ E4 ?& x5 Z" I( ^
ffmpeg編譯中為了提高compile速度,使用了匯編指令,于是需要使用這個工具。
! H. c5 ?+ D0 P' B1 ~& P[/usr/local/ffmpeg-2.5.3]#yum -y install yasm  n2 U+ T: S- B3 l$ H- [  D% r
或者同樣使用源碼方式安裝,下載yasm源代碼,然后使用./configure、make以及make istall進行安裝/ l) \# x7 X0 y7 h% D
[/usr/local/ffmpeg-2.5.3]#./configure --enable-shared --prefix=/usr/local/ffmpeg/ ~  U( w3 O' m* o& ^
其中–enable-shared表示產生動態連接庫,可以供以后編程使用,同時生成的可執行程序也依賴這些動態庫。如果不加上–enable-shared選項則使用靜態連接的方式編譯,此時不會產生動態庫,同時產生的ffmpeg等的可執行檔也比較大,但他們不需要動態庫就可以直接執行。* |" t. p  v+ t: Z- w) ]: }9 F: c
–prefix表示工具安裝的目錄,這裡設為/usr/local/ffmpeg。
% S% ?4 p* \+ T! h$ v4 ]7 \
[/usr/local/ffmpeg-2.5.3]#make     0 T% q- `) z+ o8 H" M, s. F
[/usr/local/ffmpeg-2.5.3]#make install % h: W- c- z& s
4 _. ^0 g- \$ C. }$ d

9 T; H' ~% q' E" I  T2 u6 J, w4 Z路径處理:

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

  • bin:可執行檔目錄
  • lib:動態連接庫目錄
  • include:編程用到的頭文件目錄
    8 w- Z/ Q5 S2 Q$ t2 H
不管是藉由compile還是可執行程序的執行都需要依賴lib下面的動態庫,可以把里面的so文件拷貝到/usr/lib下,也可以直接修改配置文件。查看/etc/ld.so.conf文件:
. |# D6 A/ N; ]; }- [: B[/usr/local/ffmpeg-2.5.3]#vi /etc/ld.so.conf9 t, \% G' w% ^9 N
include ld.so.conf.d/*.conf1 e" J/ l' v$ I- ~/ G5 i
# X7 {* K" b% b7 ~+ P+ H# g
於是可以在/etc/ld.so.conf.d/建一個新的文件ffmpeg.conf,新增一行,即為ffmpeg的lib目錄:; J6 K* z, V- o, F7 j% c
/usr/local/ffmpeg/lib' R" v% X" t6 o5 I/ e& t
再執行ldconfig,更新ld.so.cache,使修改生效。When run ldconfig show error:' H5 `& B/ F" d, Z; Q
ldconfig: /usr/lib64/libgd.so.2 不是一個符號連接檔 ==>3 ~! P$ D- H% S* J. ~* p9 t4 f
ll /usr/lib64/
+ `( m+ x& F; U! a% z$ _  E-rwxr-xr-x 1 root root 275328 2015-01-11 08:03 /usr/lib64/libgd.so.2
. \& ^- @1 Q' [7 y2 c7 O. F-rwxr-xr-x 1 root root 275328 2015-01-11 08:03 /usr/lib64/libgd.so.2.0.0( l$ H) V4 ^+ H/ i9 c
So:
6 q6 e9 o, |8 v+ Jln -s /usr/lib64/libgd.so.2.0.0   /usr/lib64/libgd.so.2     就解決; G6 k4 N: F" w! F& O% @+ z
可以 vi /etc/ld.so.cache  看看
/usr/local/ffmpeg/lib 是否已加入 cache中
# B. ^5 G* s5 n. r# S; o' g, Y. w/ z4 d: Y. R( R  `
為了在任何地方能够直接用ffmpeg執行,而不用使用如./ffmpeg或者 /usr/local/ffmpeg/bin/ffmpeg的方式執行此工具,可以把可執行檔案複製到bin目錄下,或者在bin目錄下建立軟連結。類似于Windows下的捷徑,如果原可執行檔案被删除了,軟連結也不能繼續使用,而硬連結則可以繼續使用。建連結命令如下: 9 j9 J: l4 @6 o5 b2 ]% ?& P* u$ p
; }9 j* H$ L( H9 G2 t# W6 _
sudo ln -s /usr/local/ffmpeg/bin/ffmpeg /usr/local/bin/   or      [/usr/local/bin]# sudo ln -s /usr/local/ffmpeg/bin/ffmpeg  .
: e, Z2 s+ E6 ^! I6 K# @( C$ [
sudo ln -s /usr/local/ffmpeg/bin/ffprobe /usr/local/bin/   or      [/usr/local/bin]# sudo ln -s /usr/local/ffmpeg/bin/ffprobe . 8 l$ F. [* ^( i; y/ r; h
sudo ln -s /usr/local/ffmpeg/bin/ffserver /usr/local/bin/   or      [/usr/local/bin]# sudo ln -s /usr/local/ffmpeg/bin/ffserver . ; @5 l( r7 _$ {! ~+ k( g. q4 G. z
( P0 v+ m; g/ D
另外,如果需要包含ffmpeg的頭文件,最好將include目錄下的ffmpeg複製到/usr/include中。+ y3 W# I: A( E; k$ b& w8 r
現在可以在shell中直接輸入ffmpeg執行,結果如下:1 s: d+ L) e: J1 E, C7 S# Y

% Y/ o- k$ R1 C3 j0 e" i' z* V
+ v  `  P" @6 Y; u! r" c5 F- q
[root@CentOS6 bin]# ffmpeg0 g% H& Y/ G# i4 g
ffmpeg version 2.3.git Copyright (c) 2000-2014 the FFmpeg developers
8 K: q4 Z/ d* e/ H5 N6 W# f4 {+ S  built on Oct  9 2015 16:11:13 with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-4)
) F' E' E8 B% V  configuration: --enable-shared --prefix=/usr/local/ffmpeg
: N: L! Y. t" N0 k; e  libavutil      54.  7.100 / 54.  7.100) s; h* T: Y5 L4 e: Y  T% w
  libavcodec     56.  1.100 / 56.  1.100
1 N) _; }1 x& {  libavformat    56.  4.100 / 56.  4.100
! X. h6 M, R2 t  `* E  libavdevice    56.  0.100 / 56.  0.100  R4 }% U2 l; d! @
  libavfilter     5.  1.100 /  5.  1.100
" [- i0 C1 d* }, G* T! h6 R  libswscale      3.  0.100 /  3.  0.100! r( i% F% A' J( M+ J! V
  libswresample   1.  1.100 /  1.  1.1000 L; k# H, z. N9 w
Hyper fast Audio and Video encoder
, O, r+ ?8 n( [7 ^+ X( z! Ousage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
2 A1 a: @; Q; D9 PUse -h to get full help or, even better, run 'man ffmpeg'

3 T! `" l5 ?! `: C9 Z1 S
. b& V$ a+ r0 A7 e方法二:
. V/ I8 q) O1 W$ X( o) Q  F
; I4 {1 u0 L' o; P1 S; n以 ffmpeginstaller 安裝 ffmpeg 相關套件:  |- g+ W, H- a' T

, r, Z+ t9 t' ]
http://ffmpeginstaller.com下載到指定的目錄,例如:/tmp/& b4 |( E6 f1 X" ?2 A, J7 K; @
解開壓縮檔後,會產生一個 ffmpeginstaller+版本號 的目錄,例如:我下載解開後的目錄為
9 b* [/ Q8 ]/ i7 w! I2 j
/tmp/ffmpeginstaller.8.0/
, A& V. `0 W2 j進去目錄後,下指令以執行% V' [: s& _; Y7 u( \+ K% D

3 [3 G% ~$ W9 O. K5 E5 v[root]# ./install
$ l* ^. i" O$ M. R/ X) L% X0 \& x4 f' D9 h; C  _" N
安裝程式就會開始進行安裝,還會視情況自己上網去下載需要的檔案。* Q1 K4 L5 ~: r9 j2 m3 c! \
其實這個安裝程式就是 yum install 的腳本,安裝過程大約 1 小時
& L! D3 S  b! [; S
下圖是 ffmpeginstaller 會安裝跟ffmpeg相關的套件:) b5 |0 t8 E+ h# ?4 `

' k3 X* F2 Y# G1 y% o ffmpeginstaller.png * G+ A( T8 _. ~7 T
$ W: Z: w% ^! U! J# R! ?7 U) Z9 |6 Q
參考原發: http://oldgrayduck.blogspot.tw/2 ... staller-ffmpeg.html
: h1 |& [+ u6 ?/ I- T  B( n' S

. v  O1 ^$ a6 w# j
5 \" t# W2 B5 c, @' z2 o6 E3 _6 y' k- i, b- v
回復

使用道具 舉報

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

本版積分規則



中文酷站排行榜

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

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

GMT+8, 2024-12-25 14:30 , Processed in 0.077780 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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