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

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

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

[複製鏈接]
發表於 2015-10-10 10:47:21 | 顯示全部樓層 |閱讀模式
tid=19906& 本帖最後由 IT_man 於 2017-3-28 13:02 編輯
& G' i1 o+ _; A( e3 M
0 {/ g) [6 f& cFFmpeg是一款强大的視訊編解碼工具,可以處理大量的編碼格式。ffmpeg是開放原碼,在Linux平台下開發,同時也可以在其它作業系统下編譯執行,包括Windows、Mac OS X等
: ~9 q4 B; p, @. q6 P9 P: K& U7 I6 R5 k
方法一:2 W6 w/ k0 E) k" z% A' U
$ Y5 r' o8 R8 M+ k7 ~
[安裝]
+ @  z4 \7 T" B6 i+ A) o* K9 U6 ?* O3 I[/usr/local]#tar -jxvf ffmpeg-2.5.3.tar.bz2. \9 b1 C6 r; J& g
[/usr/local]#cd ffmpeg-2.5.33 J" X1 T2 }4 W: l
2 g# {8 e3 e$ f. B
) @9 ]  ~$ o5 g, i6 f# H# o
安裝yasm
' Q% I* t, x" v' R' Y; nffmpeg編譯中為了提高compile速度,使用了匯編指令,于是需要使用這個工具。
* L1 v+ G+ L, C# Z3 R[/usr/local/ffmpeg-2.5.3]#yum -y install yasm
6 D* d6 [7 u+ U. C% Z1 p# s或者同樣使用源碼方式安裝,下載yasm源代碼,然后使用./configure、make以及make istall進行安裝+ K+ S2 O3 Q2 m1 ^
[/usr/local/ffmpeg-2.5.3]#./configure --enable-shared --prefix=/usr/local/ffmpeg
4 C- w+ T- q# t3 ]! o, z. a1 }其中–enable-shared表示產生動態連接庫,可以供以后編程使用,同時生成的可執行程序也依賴這些動態庫。如果不加上–enable-shared選項則使用靜態連接的方式編譯,此時不會產生動態庫,同時產生的ffmpeg等的可執行檔也比較大,但他們不需要動態庫就可以直接執行。) ^! q4 g# N3 _* e+ E: o% `
–prefix表示工具安裝的目錄,這裡設為/usr/local/ffmpeg。
, f, _3 d9 q0 A1 I" Q8 x' `( [
[/usr/local/ffmpeg-2.5.3]#make     
2 `1 _; A# J  G# u7 w+ e1 j[/usr/local/ffmpeg-2.5.3]#make install , Q) n5 B6 _% M4 w6 A

7 _* i9 D! Y: V# x6 D/ m* K* D

% Z4 W8 V& @$ @2 u5 w路径處理:

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

  • bin:可執行檔目錄
  • lib:動態連接庫目錄
  • include:編程用到的頭文件目錄+ A8 M  L; S: o9 D3 m% H
不管是藉由compile還是可執行程序的執行都需要依賴lib下面的動態庫,可以把里面的so文件拷貝到/usr/lib下,也可以直接修改配置文件。查看/etc/ld.so.conf文件:2 j$ T, w+ E* ?- k5 e
[/usr/local/ffmpeg-2.5.3]#vi /etc/ld.so.conf! V5 j  q+ a: m
include ld.so.conf.d/*.conf3 Q8 B- W7 e4 Y) F$ ]) @# a0 }$ U* C
2 f; t$ h% l) z6 O! {" |) Q  I
於是可以在/etc/ld.so.conf.d/建一個新的文件ffmpeg.conf,新增一行,即為ffmpeg的lib目錄:, C/ S! z5 m% @. z0 \
/usr/local/ffmpeg/lib
2 {. P5 o( z$ [2 Y' \& k$ v7 Q再執行ldconfig,更新ld.so.cache,使修改生效。When run ldconfig show error:: E& a2 S- G' F
ldconfig: /usr/lib64/libgd.so.2 不是一個符號連接檔 ==>/ k6 i3 |0 S! a( E* C
ll /usr/lib64/
1 v$ C- ?7 ?# F-rwxr-xr-x 1 root root 275328 2015-01-11 08:03 /usr/lib64/libgd.so.2
, c: r7 U5 M& X3 U-rwxr-xr-x 1 root root 275328 2015-01-11 08:03 /usr/lib64/libgd.so.2.0.08 Y  B9 t) N* v) m) w
So:. t% Y- [6 W2 @8 g
ln -s /usr/lib64/libgd.so.2.0.0   /usr/lib64/libgd.so.2     就解決
9 l- B8 }" p8 z: F6 ]) k; A可以 vi /etc/ld.so.cache  看看
/usr/local/ffmpeg/lib 是否已加入 cache中
9 Y# N0 F, ^6 t8 ~
5 B4 s' ^$ n( R& x  Z為了在任何地方能够直接用ffmpeg執行,而不用使用如./ffmpeg或者 /usr/local/ffmpeg/bin/ffmpeg的方式執行此工具,可以把可執行檔案複製到bin目錄下,或者在bin目錄下建立軟連結。類似于Windows下的捷徑,如果原可執行檔案被删除了,軟連結也不能繼續使用,而硬連結則可以繼續使用。建連結命令如下: 9 P, d# ?2 A! @$ ~# j  P
8 L0 N$ o: `6 |0 i7 \3 ^
sudo ln -s /usr/local/ffmpeg/bin/ffmpeg /usr/local/bin/   or      [/usr/local/bin]# sudo ln -s /usr/local/ffmpeg/bin/ffmpeg  . ) t- [$ y. L, M2 v/ t7 B# M& N/ ]
sudo ln -s /usr/local/ffmpeg/bin/ffprobe /usr/local/bin/   or      [/usr/local/bin]# sudo ln -s /usr/local/ffmpeg/bin/ffprobe .
6 A+ ]9 b9 j- z/ X
sudo ln -s /usr/local/ffmpeg/bin/ffserver /usr/local/bin/   or      [/usr/local/bin]# sudo ln -s /usr/local/ffmpeg/bin/ffserver . # C; u0 u- r  L
6 _$ }5 l2 L. q# z0 ?
另外,如果需要包含ffmpeg的頭文件,最好將include目錄下的ffmpeg複製到/usr/include中。1 o$ F7 [/ ]3 ?/ u- ^
現在可以在shell中直接輸入ffmpeg執行,結果如下:' V. o" }6 k/ {9 s% i+ S; M5 c
2 A1 @: m5 t: t% \9 s. y

) P9 J3 |0 {/ y% M[root@CentOS6 bin]# ffmpeg0 R" v/ a4 b! e2 ?" ]1 u
ffmpeg version 2.3.git Copyright (c) 2000-2014 the FFmpeg developers
2 o5 J8 w  _- m$ a  built on Oct  9 2015 16:11:13 with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-4)
( u- }0 r6 n' }8 a4 b' o" B  configuration: --enable-shared --prefix=/usr/local/ffmpeg
/ o. r2 p! t! j, G& p% N7 r+ K  libavutil      54.  7.100 / 54.  7.100
: c# R6 j8 r6 j) l0 q' F  libavcodec     56.  1.100 / 56.  1.100
/ w- H  d' [2 X) U3 n  libavformat    56.  4.100 / 56.  4.1001 |. H5 E1 d4 k$ i+ |4 _
  libavdevice    56.  0.100 / 56.  0.100- C$ h/ f% w, k8 L* d' [% p4 u
  libavfilter     5.  1.100 /  5.  1.100' j4 q2 G% R( h, f) d
  libswscale      3.  0.100 /  3.  0.100
% k( i8 a6 g8 s  libswresample   1.  1.100 /  1.  1.100  |! p: }1 C: a
Hyper fast Audio and Video encoder
9 {5 s* b; |+ Y3 w( @* `usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...% u+ ?; t- Q! U) `, ?/ Y
Use -h to get full help or, even better, run 'man ffmpeg'
/ i. Y/ U3 }/ E( }2 o2 d) _! s
! ]2 N3 p: B+ J  K9 X& z8 x
方法二:  \5 d7 n+ d  U
: H  b- Z% D' ^0 X0 i  \
以 ffmpeginstaller 安裝 ffmpeg 相關套件:
7 s# }" E7 o' T6 l% V  G, o( q8 T0 v" ^7 v
http://ffmpeginstaller.com下載到指定的目錄,例如:/tmp/* C; M) z! {4 u$ S  R5 Q
解開壓縮檔後,會產生一個 ffmpeginstaller+版本號 的目錄,例如:我下載解開後的目錄為) q' K( _' V$ ^5 L# y  ], U
/tmp/ffmpeginstaller.8.0/
' y/ `+ r3 ~  B4 A; I! d% v進去目錄後,下指令以執行% A7 C4 t; V  q0 v

+ T5 h# I/ l+ `* n2 E9 G[root]# ./install
1 \2 t1 o8 D( ?" h! C. n2 j. ?9 A$ k
安裝程式就會開始進行安裝,還會視情況自己上網去下載需要的檔案。
8 I; Q0 P! e  Q5 T7 b3 `9 q, y其實這個安裝程式就是 yum install 的腳本,安裝過程大約 1 小時
% }% d2 i. w- N- I& k# T
下圖是 ffmpeginstaller 會安裝跟ffmpeg相關的套件:
1 X6 Q; e/ s7 @1 ^
& F+ t$ J0 B. s, a; ~0 B- q& h' Q ffmpeginstaller.png
8 g) d% s) m* P6 S  j( W  O* A
6 Y; ^/ E  u% _8 p參考原發: http://oldgrayduck.blogspot.tw/2 ... staller-ffmpeg.html. f" {# ~5 `9 n3 }& Z
8 _; e; K8 t& n$ d9 u

' s4 v- V% u8 b/ j+ @# h1 {
# N8 R7 r  t' i* V
回復

使用道具 舉報

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

本版積分規則



中文酷站排行榜

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

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

GMT+8, 2024-10-29 04:29 , Processed in 0.138886 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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