ffmpeg使用中文使用+解釋

 ffmpeg使用中文使用+解釋 2010-11-06 14:22:00

分類: LINUX

例子:ffmpeg -y -i "1.avi" -title "Test" -vcodec xvid -s 368x208 -r 29.97 -b 1500 -acodec aac -ac 2 -ar 24000 -ab 128 -vol 200 -f psp -muxvb 768 "1.***"

解釋:以上命令可以在Dos命令行中輸入,也可以創建到批處理文件中運行。不過,前提是:要在ffmpeg所在的目錄中執 行(轉換君所在目錄下面的cores子目錄)。
參數:
-y(覆蓋輸出文件,即如果1.***文件已經存在的話,不經提示就覆蓋掉了)
-i "1.avi"(輸入文件是和ffmpeg在同一目錄下的1.avi文件,可以自己加路徑,改名字)
-title "Test"(在PSP中顯示的影片的標題)
-vcodec xvid(使用XVID編碼壓縮視頻,不能改的)
-s 368x208(輸出的分辨率爲368x208,注意片源一定要是16:9的不然會變形)
-r 29.97(幀數,一般就用這個吧)
-b 1500(視頻數據流量,用-b xxxx的指令則使用固定碼率,數字隨便改,1500以上沒效果;還可以用動態碼率如:-qscale 4和-qscale 6,4的質量比6高)
-acodec aac(音頻編碼用AAC)
-ac 2(聲道數1或2)
-ar 24000(聲音的採樣頻率,好像PSP只能支持24000Hz)
-ab 128(音頻數據流量,一般選擇32、64、96、128)
-vol 200(200%的音量,自己改)
-f psp(輸出psp專用格式)
-muxvb 768(好像是給PSP機器識別的碼率,一般選擇384、512和768,我改成1500,PSP就說文件損壞了)
"1.***"(輸出文件名, 也可以加路徑改文件名)
**************************************************************************************
a) 通用選項

-L license

-h 幫助

-fromats 顯示可用的格式,編解碼的,協議的。。。

-f fmt 強迫採用格式fmt

-I filename 輸入文件

-y 覆蓋輸出文件

-t duration 設置紀錄時間 hh:mm:ss[.xxx]格式的記錄時間也支持

-ss position 搜索到指定的時間 [-]hh:mm:ss[.xxx]的格式也支持

-title string 設置標題

-author string 設置作者

-copyright string 設置版權

-comment string 設置評論

-target type 設置目標文件類型(vcd,svcd,dvd) 所有的格式選項(比特率,編解碼以及緩衝區大小)自動設置 ,只需要輸入如下的就可以了:
ffmpeg -i myfile.avi -target vcd /tmp/vcd.mpg

-hq 激活高質量設置

-itsoffset offset 設置以秒爲基準的時間偏移,該選項影響所有後面的輸入文件。該偏移被加到輸入文件的時戳,定義一個正偏移意味着相應的流被延遲了 offset秒。 [-]hh:mm:ss[.xxx]的格式也支持

b) 視頻選項

-b bitrate 設置比特率,缺省200kb/s

-r fps 設置幀頻 缺省25

-s size 設置幀大小 格式爲WXH 缺省160X128.下面的簡寫也可以直接使用:
Sqcif 128X96 qcif 176X144 cif 252X288 4cif 704X576

-aspect aspect 設置橫縱比 4:3 16:9 或 1.3333 1.7777

-croptop size 設置頂部切除帶大小 像素單位

-cropbottom size –cropleft size –cropright size

-padtop size 設置頂部補齊的大小 像素單位

-padbottom size –padleft size –padright size –padcolor color 設置補齊條顏色(hex,6個16進制的數,紅:綠:蘭排列,比如 000000代表黑色)

-vn 不做視頻記錄

-bt tolerance 設置視頻碼率容忍度kbit/s

-maxrate bitrate設置最大視頻碼率容忍度

-minrate bitreate 設置最小視頻碼率容忍度

-bufsize size 設置碼率控制緩衝區大小

-vcodec codec 強制使用codec編解碼方式。 如果用copy表示原始編解碼數據必須被拷貝。

-sameq 使用同樣視頻質量作爲源(VBR)

-pass n 選擇處理遍數(1或者2)。兩遍編碼非常有用。第一遍生成統計信息,第二遍生成精確的請求的碼率

-passlogfile file 選擇兩遍的紀錄文件名爲file

c)高級視頻選項

-g gop_size 設置圖像組大小

-intra 僅適用幀內編碼

-qscale q 使用固定的視頻量化標度(VBR)

-qmin q 最小視頻量化標度(VBR)

-qmax q 最大視頻量化標度(VBR)

-qdiff q 量化標度間最大偏差 (VBR)

-qblur blur 視頻量化標度柔化(VBR)

-qcomp compression 視頻量化標度壓縮(VBR)

-rc_init_cplx complexity 一遍編碼的初始複雜度

-b_qfactor factor 在p和b幀間的qp因子

-i_qfactor factor 在p和i幀間的qp因子

-b_qoffset offset 在p和b幀間的qp偏差

-i_qoffset offset 在p和i幀間的qp偏差

-rc_eq equation 設置碼率控制方程 默認tex^qComp

-rc_override override 特定間隔下的速率控制重載

-me method 設置運動估計的方法 可用方法有 zero phods log x1 epzs(缺省) full

-dct_algo algo 設置dct的算法 可用的有 0 FF_DCT_AUTO 缺省的DCT 1 FF_DCT_FASTINT 2 FF_DCT_INT 3 FF_DCT_MMX 4 FF_DCT_MLIB 5 FF_DCT_ALTIVEC

-idct_algo algo 設置idct算法。可用的有 0 FF_IDCT_AUTO 缺省的IDCT 1 FF_IDCT_INT 2 FF_IDCT_SIMPLE 3 FF_IDCT_SIMPLEMMX 4 FF_IDCT_LIBMPEG2MMX 5 FF_IDCT_PS2 6 FF_IDCT_MLIB 7 FF_IDCT_ARM 8 FF_IDCT_ALTIVEC 9 FF_IDCT_SH4 10 FF_IDCT_SIMPLEARM

-er n 設置錯誤殘留爲n 1 FF_ER_CAREFULL 缺省 2 FF_ER_COMPLIANT 3 FF_ER_AGGRESSIVE 4 FF_ER_VERY_AGGRESSIVE

-ec bit_mask 設置錯誤掩蔽爲bit_mask,該值爲如下值的位掩碼 1 FF_EC_GUESS_MVS (default=enabled) 2 FF_EC_DEBLOCK (default=enabled)

-bf frames 使用frames B 幀,支持mpeg1,mpeg2,mpeg4

-mbd mode 宏塊決策 0 FF_MB_DECISION_SIMPLE 使用mb_cmp 1 FF_MB_DECISION_BITS 2 FF_MB_DECISION_RD

-4mv 使用4個運動矢量 僅用於mpeg4

-part 使用數據劃分 僅用於mpeg4

-bug param 繞過沒有被自動監測到編碼器的問題

-strict strictness 跟標準的嚴格性

-aic 使能高級幀內編碼 h263+

-umv 使能無限運動矢量 h263+

-deinterlace 不採用交織方法

-interlace 強迫交織法編碼 僅對mpeg2和mpeg4有效。當你的輸入是交織的並且你想要保持交織以最小圖像損失的時候採用該選項。可選的方法是不交織,但是損失更大

-psnr 計算壓縮幀的psnr

-vstats 輸出視頻編碼統計到vstats_hhmmss.log

-vhook module 插入視頻處理模塊 module 包括了模塊名和參數,用空格分開

D)音頻選項

-ab bitrate 設置音頻碼率

-ar freq 設置音頻採樣率

-ac channels 設置通道 缺省爲1

-an 不使能音頻紀錄

-acodec codec 使用codec編解碼

E)音頻/視頻捕獲選項

-vd device 設置視頻捕獲設備。比如/dev/video0

-vc channel 設置視頻捕獲通道 DV1394專用

-tvstd standard 設置電視標準 NTSC PAL(SECAM)

-dv1394 設置DV1394捕獲

-av device 設置音頻設備 比如/dev/dsp

F)高級選項

-map file:stream 設置輸入流映射

-debug 打印特定調試信息

-benchmark 爲基準測試加入時間

-hex 傾倒每一個輸入包

-bitexact 僅使用位精確算法 用於編解碼測試

-ps size 設置包大小,以bits爲單位

-re 以本地幀頻讀數據,主要用於模擬捕獲設備

-loop 循環輸入流。只工作於圖像流,用於ffserver測試

 


Video-basic:視頻基本設置   (視頻設置的解釋)

chapter Method 段落編輯方法 
Periodic - 設定段落間隔 
No Chapter Point 不設定段落 
Chapter Interval(mins.)用分鐘設定段落,如果設定3分鐘一個段落,那麼一個7分鐘的視頻文件將被分成3個段落 
Use DVD repeat mode:使用DVD循環播放功能 
Width視頻寬720 
Height視頻高576 
Frame rate幀速率 N制30 PAL制25 
Interlacing視頻場設置

Non-Interlaced (Progressive) - 沒有場,逐行顯示,如果在PC上觀看這樣設定逐行顯示 
Lower/Bottom Field First - 偶場,下場爲先 DV都是這樣的 
Upper/Top Field First - 奇場爲先,上場爲先 一些視頻採集卡是上場爲先。PROCODER會自動分辨 
Aspect Ratio 畫面寬高比 一般是4:3 或者是16:9 
Quality/Speed質量速度設置

High Speed - 高速度最低的生成質量 
High Quality - 平衡的生成速度與質量  
Highest Quality - 更好的生成質量,更低的生成速度  
Mastering Quality - 完美質量,不考慮生成速度

CQ (Constant Quality) - 固定質量生成 
VBR (Varible Bitrate) - 可編速率生成 
CBR (Constant Bitrate) - 固定速率生成 VCD是1150kbps SVCD不大於2600kbps [DVD使用2pass-VBR] 最高9800 但是不要小於4000,另外要根據DVD音頻文件容量設定,音頻+視頻不要超過4.7GB 
就是說,在確定音頻質量的前提下,最大化視頻解碼速率. 
VBR encoding分爲1路可變編碼與2路可編編碼

1 pass - 所有幀都依照相同的壓縮比例壓縮。很適合對一些AVI文件二次編碼。 
2 pass - 根據畫面運動指標來調整量化值和生成幀大小以其輸出最優畫面質量且符合用戶設置的目標大小的視頻文件。 
Max Bitrate(kbps) 
最大速率 dvd最大9800 但是如果你設定的音頻質量是PCM,有可能生成很大的音頻文件,所以正確的設定方法是4.7GB剪去音頻佔用的空間,用剩下DVD光盤容量計算視頻速率.PROCODER默認是6000,也有可能是9112.根據音頻質量的不同而改變.

Min Bitrate(kbps) 
最小速率 DVD不要小於4000 
Quantization Level 
使用CQ編碼時設定的圖像量化級別,數字越大質量越高,但是編碼時間越長.這個設定只有當你選用CQ編碼方式纔會出現,一般不使用. 
Reservoir Buffer Size(KB) 
1-PASS編碼方式下才可使用這個選項,有意思的是,PROCODER的程序編寫者說這個緩衝設置選項是:TODO(混亂),拿我們也TODO吧:)--默認就可以了,不要修改. 
Expense Buffer Size(KB) 
保持默認--TODO

Profile/Level 
 這個設定默認不讓改動,看介紹說這是一個MPEG2的標準 
 最高分辨率到1920*1088 最高速率80Mbps 最高幀速率60FPS 
MPEG-2標準與MPEG-1標準相似,其比特率比後者高得多,因而要求較高的帶寬和分解力。MPEG-2標準可定義高達400 Gb/s的比 特率和16 000×16 000像素的圖像。其採用幀內編碼與質劍GOP(圖像組)內分爲I幀(幀內編碼幀)、P幀(向前預測編碼幀)、B幀(雙向預測 幀),對它們採取不同的壓縮編碼方式。1996年1月,國際慕尼黑團體會議上又確認了具有高廣播級質量和高編輯精度的MPEG-2MP@ML標準,它允許 較短的GOP,使之適應於節目製作的精確編輯。MPEG-2在處理圖像的“簡單”與“複雜”區域能自動變換壓縮率,它能在同一幀內使用不同的壓縮比,因而 更加有效。在壓縮成相同圖像質量的條件下,MPEG-2圖像所佔的空間只是M-JPEG圖像的10%~15%。在圖像採集、製作、傳輸、播出等各領域 中,MPEG-2已逐漸被廣泛採用。引用<<廣播電視常用數字視頻編碼技術>>

Put Sequence Headers on each GOP 
放置GOP標識在每個GOP圖像封裝,這個選項默認是打開,介紹說是一些應用程序需要使用GOP標識,我想應該是針對一些編輯軟件 
播放軟件,比如WINDVD播放程序,需要細緻的逐幀播放 
Aspect Ratio Code 
寬高比編碼輸出,這個選項默認就可以了

VBV Buffer Size(KB) 
默認就可以,一個緩衝參數的設定,不過當你輸出高清視頻的時候或者更高速率的視頻文件,可是嘗試增加它的值 
Max GOP size 程序編寫者推薦使用默認設置. 
當使用N制中3_2下拉的時候,這個最大GOP尺寸將自動調整 
我們沒有膠轉磁的朋友吧&#61514;

GOP Structure 
Automatic默認就可以了,主要是調節GOP IBP次序 
DVD一般是3 frames 
Picture Structure 
這個選項默認就可以了,除非你確定你的DVD播放機有這個功能 
Always Field 總是場 
Always Frame 總是幀 
這個選項好像是用於優化DVD電子像冊用的. 
選Automatic就可以了

Use Closed GOP 
關閉GOP.如果不作GOP標識,那麼會帶來編碼效率的提高 
但是製做完MPEG視頻文件就不可能在一些MPEG剪輯軟件中精確的編輯了 
如果你確定你生成的文件不需要再編輯,可以關閉它.不推薦使用這個功能如果你時間充裕,還是不要勾選.

Chroma Format 
DV的壓縮是4:2:0 DVCAM是4:2:2 
Intra DC Precision 
設置數據轉換精度,可以嘗試使用10BIT模式 
不過需要與DVD機的測試.一般默認是9BIT

Use Strict GOP bitrate control 
使用精密的GOP 速率控制 
默認打開,推薦使用. 
Create DVD Compatible Stream 
起用PAL制DVD兼容播放模式,默認打開. 
Audio  
Audio Stream Type 
音頻標準 
MPEG2或者PCM (高質量不壓縮) 根據生成視頻的質量去選定. 
確定音頻+視頻不要超過4.7GB 
Error Protection 
一些應用程序需要CRC的錯誤幀測功能,推薦打開 
Copyright Flag 
版權設置,不推薦使用:) 
&#8226; Original Flag 
原始文件信息 
&#8226; Emphasis 
有些錄製音頻文件的低音是經過加重處理的 
None –錄製的音頻沒有經過加重處理.  
50/15 – 回放需要50/15低通濾波加重播放 
CCITT.J17 -回放需要CCITT.J17低通濾波加重播放

Audio Bitrate:參考

192KBPS是CD質量 
160KBPS是HIFI 
320KBPS是音頻工作室質量級別


這裏介紹一些簡單的常見的命令:
-fromats 顯示可用的格式
-f fmt 強迫採用格式fmt
-I filename 輸入文件
-y 覆蓋輸出文件
-t duration 設置紀錄時間 hh:mm:ss[.xxx]格式的記錄時間也支持(截圖需要)
-ss position 搜索到指定的時間 [-]hh:mm:ss[.xxx]的格式也支持
-title string 設置標題
-author string 設置作者
-copyright string 設置版權
-comment string 設置評論
-target type 設置目標文件類型(vcd,svcd,dvd),所有的格式選項(比特率,編解碼以及緩衝區大小)自動設置,只需要輸入如下的就可以了:ffmpeg -i myfile.avi -target vcd /tmp/vcd.mpg
-hq 激活高質量設置

-b bitrate 設置比特率,缺省200kb/s
-r fps 設置幀頻,缺省25
-s size 設置幀大小,格式爲WXH,缺省160X128.下面的簡寫也可以直接使用:Sqcif 128X96 qcif 176X144 cif 252X288 4cif 704X576
-aspect aspect 設置橫縱比 4:3 16:9 或 1.3333 1.7777
-croptop/botton/left/right size 設置頂部切除帶大小,像素單位
-padtop/botton/left/right size 設置頂部補齊的大小,像素單位
-padcolor color 設置補齊條顏色(hex,6個16進制的數,紅:綠:藍排列,比如 000000代表黑色)
-vn 不做視頻記錄
-bt tolerance 設置視頻碼率容忍度kbit/s
-maxrate bitrate設置最大視頻碼率容忍度
-minrate bitreate 設置最小視頻碼率容忍度
-bufsize size 設置碼率控制緩衝區大小
-vcodec codec 強制使用codec編解碼方式. 如果用copy表示原始編解碼數據必須被拷貝.(很重要)

-ab bitrate 設置音頻碼率
-ar freq 設置音頻採樣率
-ac channels 設置通道,缺省爲1
-an 不使能音頻紀錄
-acodec codec 使用codec編解碼

-vd device 設置視頻捕獲設備,比如/dev/video0
-vc channel 設置視頻捕獲通道 DV1394專用
-tvstd standard 設置電視標準 NTSC PAL(SECAM)
-dv1394 設置DV1394捕獲
-av device 設置音頻設備 比如/dev/dsp

-map file:stream 設置輸入流映射
-debug 打印特定調試信息
-benchmark 爲基準測試加入時間
-hex 傾倒每一個輸入包
-bitexact 僅使用位精確算法 用於編解碼測試
-ps size 設置包大小,以bits爲單位
-re 以本地幀頻讀數據,主要用於模擬捕獲設備
-loop 循環輸入流。只工作於圖像流,用於ffserver測試

      ffmpeg進行操作的常用方法:

    1.轉換成flv文件:ffmpeg -i infile.* -y (-ss second_offset -ar ar -ab ab -r vr -b vb -s vsize) outfile.flv
               其中second_offset是從開始的多好秒鐘.可以支持**:**:**格式,至於ar,ab是音頻的參數,可以指定 ar=22050,24000,44100(PAL制式),48000(NTSC制式),後兩種常見,ab=56(視音頻協議的codec而定,如果要聽 高品質,則80以上).vr,vb,vsize是視頻參數,可以指定 vr=15,25(PAL),29(NTSC),vb=200,500,800,1500(視視頻協議的codec而定,可以通過查看專業的codec說 明文檔獲取,如果你手頭有一份詳細的各種codec的文檔,請提供一份給我,不勝感激.)
               還有一些參數-acodec ac -vcodec vc(ac指定音頻codec,ar和ab可以省去,vc指定視頻codec,vr和vb可以省去,自動採用相應的codec參數)
               還有很多高級參數,如-qmin,-qcale等,請查看詳細文檔.
               還有-an和-vn參數,分別從多媒體文件中提取出純粹視頻和音頻.
               另,如果你是用shell批量處理,請使用-y參數覆蓋生成flv.

    2.截取圖片:ffmpeg -i infile.* -y (-ss second_offset) -t 0.001 -s msize (-f image_fmt) outfile.jpg
             其中second_offset同上,msize同vsize,圖片大小.image_fmt=image2強制使用jpg,image_fmt=gif,強制使用gif格式.
             還可以用-vframes fn指定截取某幀圖片,fn=1,2,3,...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章