ffmpeg作為媒體文件處理軟件,基本用法如下:
ffmpeg -i INPUTfile [OPTIONS] OUTPUTfile
輸入輸出文件通常就是待處理的多媒體文件了。可以是純粹的音頻文件,純粹的視頻文件,或者混合的。ffmpeg主持絕大部分的常見音頻,
視頻格式,象常見的各mpeg,AVI封裝的DIVX和Xvid等等,具體的格式支持列表可以使用ffmpeg -formats查看或直接查閱文檔。
另外,由於Linux把設備視為文件愛你,因此,-i 選項后可以跟設備名。比如DV,視頻卡,光驅或者其它的各類設備。輸出的內容通過:
Options調整,其主要的選擇如下:
-vcodec視頻流編碼方式
-b 視頻流幀碼率(默認只有200k,一般都需要手動設置,具體的數值視codec選擇而定)
-r 視頻流幀率(一般說來PAL制式通常用25,NTSC制式通常用29)
-s 視頻解析度(分辨率,也要視codec和你的需要而定。另:具體寫法使用“數字x數字”的形式)
-t 處理持續時間
-acodec 音頻流編碼方式
-ab 音頻流碼率(默認是同源文件碼率,也需要視codec而定)
-ar 音頻流采樣率(大多數情況下使用44100和48000,分別對應PAL制式和NTSC制式,根據需要選擇)
-vn 屏蔽視頻流
-an 屏蔽音頻流
-author 設置媒體文件的作者
-title 設置媒體文件的題目
-f 強制使用某種格式
- target type 使用預置的格式轉換(可以轉換dvd,vcd或svcd)
除此之外還有些更高級的選擇,如設定vbr,或設定high quality,或者設定vbr的buff和max/min碼率,像一般我們自用的dvd抓軌,DV轉vcd,dvd,網上下載的電影
轉成vcd或dvd都不一定需要用到它們。
常用命令選擇說明
-fromats 現實可用的格式
-f fmt強迫采用格式fmt
-l 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.
-aspect aspect 設置橫縱比4:316: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 bitrate設置最小視頻碼率容忍度
-bufsize size 設置碼率控制緩沖大小
-vcodec codec 強制使用codec編碼方式,如果用copy便是原始編碼數據必須被拷貝
-ab bitrate 設置音頻碼率
-ar freq 設置音頻采樣率
-ac channels 設置通道,缺省為1
-an 不使能音頻記錄
-acodec codec 使用codec編解碼
-vd device 設置視頻捕獲設備,比如/dev/video o
-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測試