LINUX 下编译 ffmpeg
轉(zhuǎn)載請把頭部出處鏈接和尾部二維碼一起轉(zhuǎn)載,本文出自:http://blog.csdn.net/hejjunlin/article/details/52402759
今天介紹下FFmpeg在Linux下安裝編譯過程,用的是CentOS, 總體過程比較順利,就是在ffmpeg等的時間稍長點。沒什么技術(shù)難點。僅當(dāng)記錄。
關(guān)于FFmpeg
FFmpeg是一個開源免費跨平臺的視頻和音頻流方案,屬于自由軟件,采用LGPL或GPL許可證(依據(jù)你選擇的組件)。它提供了錄制、轉(zhuǎn)換以及流化音視頻的完整解決方案。它包含了非常先進的音頻/視頻編解碼庫libavcodec,為了保證高可移植性和編解碼質(zhì)量,libavcodec里很多codec都是從頭開發(fā)的。
FFmpeg配置
在安裝ffmpeg之前,首先要安裝yasm
1.安裝yasm
百度百科這么解釋的:yasm是一個完全重寫的NASM匯編。目前,它支持x86和AMD64指令集,接受NASM和氣體匯編語法,產(chǎn)出二進制, ELF32 , ELF64 , COFF , Mach - O的( 32和64 ) , RDOFF2 ,的Win32和Win64對象的格式,并生成STABS 調(diào)試信息的來源,DWARF 2 ,CodeView 8格式。之所以在FFmpeg中用這個,主要是支持編譯ffmpeg-x264.
1.下載yasm-1.3.0.tar.gz這個版本:
wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz- 1
如圖:
2.下載完成后,用開始解壓
tar xzvf yasm-1.3.0.tar.gz- 1
3.進入目錄,開始編譯
cd yasm-1.3.0 ./configure make- 1
- 2
- 3
4.安裝
make install- 1
完成后如圖:
5.開始下載FFmpeg,這里下載3.1.3 release ffmpeg的版本
完成后如圖:
6.下載完成后,用開始解壓
tar -zxvf ffmpeg-3.1.3.tar.gz- 1
7.進入目錄,開始編譯
cd ffmpeg-3.1.3 ./configure make- 1
- 2
- 3
本文出自:http://blog.csdn.net/hejjunlin/article/details/52402759
8.安裝
make install- 1
以上過程就編譯安裝完成了,上圖中黑色粗體文件就是編譯出的。
以_g的的表示這個帶調(diào)試信息的可執(zhí)行程序。
實例用法
編譯完成后,自然希望能我們有所作用,否則也不會沒事編譯ffmpeg。
1.把視頻的前120幀轉(zhuǎn)換成一個gif圖,大小指定為230*450:
ffmpeg -i device-2016-08-25-193402.mp4 -vframes 120 -s 230x405 -y -f gif Super3.gif- 1
2.調(diào)用ffmpeg命令將一個視頻轉(zhuǎn)成3gp格式:
ffmpeg -i device-2016-08-25-193402.mp4 -y -b 20 -s sqcif -r 10 -acodec amr_wb -ab 23.85 -ac 1 -ar 16000 video.3gp- 1
其他FFmpeg使用
語法:ffmpeg [[options][`-i’ input_file]]… {[options] output_file}…
截取一張352x240尺寸大小的,格式為jpg的圖片
ffmpeg -i test.asf -y -f image2 -t 0.001 -s 352x240 s.jpg截取指定時間的縮略圖
ffmpeg -i test.avi -y -f image2 -ss 8 -t 0.001 -s 350x240 test.jpg
-ss后跟的時間單位為秒轉(zhuǎn)換文件為3GP格式
ffmpeg -y -i test.mpeg -bitexact -vcodec h263 -b 128 -r 15 -s 176x144
-acodec aac -ac 2 -ar 22500 -ab 24 -f 3gp test.3gp
或 ffmpeg -y -i test.wmv -ac 1 -acodec libamr_nb -ar 8000 -ab 12200 -s 176x144 -b 128 -r 15 test.3gp視頻格式轉(zhuǎn)換
如何使用 ffmpeg 編碼得到高質(zhì)量的視頻
ffmpeg.exe -i “c:device-2016-08-25-193402.mp4” -target film-dvd -s 720x352
-padtop 64 -padbottom 64 -maxrate 7350000 -b 3700000 -sc_threshold 1000000000
-trellis -cgop -g 12 -bf 2 -qblur 0.3 -qcomp 0.7 -me full -dc 10 -mbd 2
-aspect 16:9 -pass 2 -passlogfile “D:Videoffmpegencode” -an -f mpeg2video “D:Fearless.m2v”轉(zhuǎn)換指定格式文件到FLV格式
ffmpeg.exe -i meng.mp3 -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 f:/device-2016-09.flv
ffmpeg.exe -i meng.wmv -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 f:/device-2016-09.flv轉(zhuǎn)換文件為MP4格式
ffmpeg -y -i input.wmv -f mp4 -async 1-s 480x320 -acodec libfaac -vcodec libxvid -qscale 7 -dts_delta_threshold 1 output.mp4
ffmpeg -y -i source_video.avi input -acodec libfaac -ab 128000 -vcodec mpeg4 -b 1200000 -mbd 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2 -s 320x180 -title X final_video.mp4使用ffmpeg錄像屏幕
ffmpeg -vcodec mpeg4 -b 1000 -r 10 -g 300 -vd x11:0,0 -s 1024x768 ~/device-2016-09-02-193402.avi
:其中,-vd x11:0,0 指錄制所使用的偏移為 x=0 和 y=0,-s 1024×768 指錄制視頻的大小為 1024×768。錄制的視頻文件為 test.avi,將保存到用戶主目錄中
如果你只想錄制一個應(yīng)用程序窗口或者桌面上的一個固定區(qū)域,那么可以指定偏移位置和區(qū)域大小。使用xwininfo -frame命令可以完成查找上述參數(shù)。重新調(diào)整視頻尺寸大小
ffmpeg -vcodec mpeg4 -b 1000 -r 10 -g 300 -i ~/device-2016-08-25-193402.avi -s 800×600 ~/device-2016-08-25-193402-800-600.avi
注:ffmpeg的屏幕錄制功能只能在Linux環(huán)境下有效。視頻采集
把攝像頭的實時視頻錄制下來,存儲為文件
ffmpeg -f video4linux -s 320*240 -r 10 -i /dev/video0 test.asf
第一時間獲得博客更新提醒,以及更多android干貨,源碼分析,歡迎關(guān)注我的微信公眾號,掃一掃下方二維碼或者長按識別二維碼,即可關(guān)注。
如果你覺得好,隨手點贊,也是對筆者的肯定,也可以分享此公眾號給你更多的人,原創(chuàng)不易
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的LINUX 下编译 ffmpeg的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。