天天看點

ffmpeg常用參數使用

基本選項:

-formats

輸出所有可用格式

-f fmt

指定格式(音頻或視訊格式)

-i filename

指定輸入檔案名,在linux下當然也能指定:0.0(螢幕錄制)或攝像頭

-y

覆寫已有檔案

-t duration

記錄時長為t

-fs limit_size

設定檔案大小上限

-ss time_off

從指定的時間(s)開始, [-]hh:mm:ss[.xxx]的格式也支援

-itsoffset time_off

設定時間偏移(s),該選項影響所有後面的輸入檔案。該偏移被加到輸入檔案的時戳,定義一個正偏移意味着相應的流被延遲了 offset秒。 [-]hh:mm:ss[.xxx]的格式也支援

-title string

标題

-timestamp time

時間戳

-author string

作者

-copyright string

版權資訊

-comment string

評論

-album string

album名

-v verbose

與log相關的

-target type

設定目标檔案類型("vcd", "svcd", "dvd", "dv", "dv50", "pal-vcd", "ntsc-svcd", ...)

-dframes number

設定要記錄的幀數

視訊選項:

-b

指定比特率(bits/s),似乎ffmpeg是自動VBR的,指定了就大概是平均比特率

-bitexact

使用标準比特率

-vb

指定視訊比特率(bits/s)

-vframes number

設定轉換多少桢(frame)的視訊

-r rate

幀速率(fps) (可以改,确認非标準桢率會導緻音畫不同步,是以隻能設定為15或者29.97)

-s size

指定分辨率 (320x240)

-aspect aspect

設定視訊長寬比(4:3, 16:9 or 1.3333, 1.7777)

-croptop size

設定頂部切除尺寸(in pixels)

-cropbottom size

設定底部切除尺寸(in pixels)

-cropleft size

設定左切除尺寸 (in pixels)

-cropright size

設定右切除尺寸 (in pixels)

-padtop size

設定頂部補齊尺寸(in pixels)

-padbottom size

底補齊(in pixels)

-padleft size

左補齊(in pixels)

-padright size

右補齊(in pixels)

-padcolor color

補齊帶顔色(000000-FFFFFF)

-vn

取消視訊

-vcodec codec

強制使用codec編解碼方式('copy' to copy stream)

-sameq

使用同樣視訊品質作為源(VBR)

-pass n

選擇處理遍數(1或者2)。兩遍編碼非常有用。第一遍生成統計資訊,第二遍生成精确的請求的碼率

-passlogfile file

選擇兩遍的紀錄檔案名為file

-newvideo

在現在的視訊流後面加入新的視訊流

進階視訊選項

-pix_fmt format

set pixel format, 'list' as argument shows all the pixel formats supported

-intra

僅适用幀内編碼

-qscale q

以<數值>品質為基礎的VBR,取值0.01-255,約小品質越好

-loop_input

設定輸入流的循環數(目前隻對圖像有效)

-loop_output

設定輸出視訊的循環數,比如輸出gif時設為0表示無限循環

-g int

設定圖像組大小

-cutoff int

設定截止頻率

-qmin int

設定最小品質,與-qmax(設定最大品質)共用,比如-qmin 10 -qmax 31

-qmax int

設定最大品質

-qdiff int

量化标度間最大偏差 (VBR)

-bf int

使用frames B 幀,支援mpeg1,mpeg2,mpeg4

音頻選項:

-ab

設定比特率(機關:bit/s,也許老版是kb/s)前面-ac設為立體聲時要以一半比特率來設定,比如192kbps的就設成96,轉換 預設比特率都較小,要聽到較高品質聲音的話建議設到160kbps(80)以上。

-aframes number

設定轉換多少桢(frame)的音頻

-aq quality

設定音頻品質 (指定編碼)

-ar rate

設定音頻采樣率 (機關:Hz),PSP隻認24000

-ac channels

設定聲道數,1就是單聲道,2就是立體聲,轉換單聲道的TVrip可以用1(節省一半容量),高品質的DVDrip就可以用2

-an

取消音頻

-acodec codec

指定音頻編碼('copy' to copy stream)

-vol volume

設定錄制音量大小(預設為256) <百分比> ,某些DVDrip的AC3軌音量極小,轉換時可以用這個提高音量,比如200就是原來的2倍

-newaudio

在現在的音頻流後面加入新的音頻流

字幕選項:

-sn

取消字幕

-scodec codec

設定字幕編碼('copy' to copy stream)

-newsubtitle

在目前字幕後新增

-slang code

設定字幕所用的ISO 639編碼(3個字母)

Audio/Video 抓取選項:

-vc channel

設定視訊捕獲通道(隻對DV1394)

-tvstd standard

設定電視标準 NTSC PAL(SECAM)

        要得到一個高畫質音質低容量的MP4的話,首先畫面最好不要用固定比特率,而用VBR參數讓程式自己去判斷,而音質參數可以在原來的基礎上提升一點,聽起來要舒服很多,也不會太大(看情況調整 ) 

        轉換為flv: 

<code>   </code><code>ffmpeg -i </code><code>test</code><code>.mp3 -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 </code><code>test</code><code>.flv </code>

<code>    </code><code>ffmpeg -i </code><code>test</code><code>.wmv -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 </code><code>test</code><code>.flv</code>

        轉換檔案格式的同時抓縮微圖: 

<code>    </code><code>ffmpeg -i </code><code>"test.avi"</code> <code>-y -f image2 -ss 8 -t 0.001 -s 350x240 </code><code>'test.jpg'</code>

        對已有flv抓圖: 

<code>  </code><code>ffmpeg -i </code><code>"test.flv"</code> <code>-y -f image2 -ss 8 -t 0.001 -s 350x240 </code><code>'test.jpg'</code>

        轉換為3gp:

<code>    </code><code>ffmpeg -y -i </code><code>test</code><code>.mpeg -bitexact -vcodec h263 -b 128 -r 15 -s 176x144 -acodec aac -ac 2 -ar 22500 -ab 24 -f 3gp </code><code>test</code><code>.3gp </code>

<code>    </code><code>ffmpeg -y -i </code><code>test</code><code>.mpeg -ac 1 -acodec amr_nb -ar 8000 -s 176x144 -b 128 -r 15 </code><code>test</code><code>.3gp</code>

        例:ffmpeg -y -i "test.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 "test.***" 

    # 參數解釋: 

    -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就說檔案損壞了) 

    "test.***"(輸出檔案名,也可以加路徑改檔案名)

本文轉自 藍葉子Sheep 51CTO部落格,原文連結:http://blog.51cto.com/dellinger/1958587,如需轉載請自行聯系原作者

繼續閱讀