FFMPEG完美入門資料---001---介紹和參數(shù)說明

寫在前面

如果對FFmpeg有需要更多了解的請訂閱我的專題:音視頻專輯

文檔介紹

1.1 文檔目的

整理出開源代碼 ffmpeg 的資料, 方便公司同事后續(xù)使用。

1.2 文檔范圍

較為詳細的介紹 ffmpeg 的功能涮较、使用以及二次開發(fā)。

1.3 讀者對象

希望了解 ffmpeg 知識落午, 從事 USM 及 IPTV 的同事店茶。

1.4 參考文獻

1.5 術(shù)語與縮寫解釋

縮略語/術(shù)語 全稱 介紹說明
ffmpeg Fast forword mpeg 音視頻轉(zhuǎn)換器
ffplay Fast forword play 用 ffmpeg 實現(xiàn)的播放器
ffserver Fast forword server 用 ffmpeg 實現(xiàn)的 rstp 服務(wù)器
ffprobe Fast forword probe 用來輸入分析輸入流

FFmpeg 支持能力說明

FFmpeg 介紹及安裝

2.1.1 FFmpeg 簡介

FFmpeg 是一個開源免費跨平臺的視頻和音頻流方案, 屬于自由軟件姨伤, 采用 LGPL 或GPL 許可證(依據(jù)你選擇的組件)哨坪。 它提供了錄制、轉(zhuǎn)換以及流化音視頻的完整解決方案乍楚。 它包含了非常先進的音頻/視頻編解碼庫 libavcodec当编, 為了保證高可移植性和編解碼質(zhì)量, libavcodec 里很多 codec 都是從頭開發(fā)的徒溪。

ffmpeg 項目由以下幾部分組成:

  • 1.ffmpeg 視頻文件轉(zhuǎn)換命令行工具,也支持經(jīng)過實時電視卡抓取和編碼成視頻文件.
  • 2.ffserver 基于 HTTP忿偷、RTSP 用于實時廣播的多媒體服務(wù)器.也支持時間平移
  • 3.ffplay 用 SDL 和 FFmpeg 庫開發(fā)的一個簡單的媒體播放器
  • 4.libavcodec 一個包含了所有 FFmpeg 音視頻編解碼器的庫.為了保證最優(yōu)性能和高可復(fù)用性,大多數(shù)編解碼器從頭開發(fā)的.
  • 5.libavformat 一個包含了所有的普通音視格式的解析器和產(chǎn)生器的庫

2.1.2 FFmpeg 安裝

  • 1.將所有源代碼壓縮在一個文件夾中金顿, 例如/絕對路徑/ffmpeg。

  • 在終端輸入以下指令:

    cd /絕對路徑/ffmpeg ./configure (此時鲤桥, 會出現(xiàn)問題揍拆。 然后重新輸入./configure –disable-yasm-) Make
    

至此, ffmpeg 安裝編譯通過茶凳, 可以進行對音視頻的操作嫂拴。

ffplay 的編譯需要依賴于 SDL 庫, 所以要想編譯成功 ffplay贮喧, 必須先安裝 SDL 庫筒狠, 安裝方法:下載最新版本的 SDL 相應(yīng)版本的 SDL 源碼, 編譯塞淹, 即可生成 SDL 庫窟蓝。

2.2 FFmpeg 參數(shù)說明

2.2.1 通用選項

  • -L license
    *-h 幫助

  • formats 顯示可用的格式,編解碼的饱普,協(xié)議的

  • f fmt 強迫采用格式fmt

  • -i filename輸入文件

  • -y覆蓋輸出文件

  • -t duration設(shè)置記錄時間 hh:mm:ss[.xxx]格式的記錄時間也支持

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

  • -title string 設(shè)置標題

  • -author string 設(shè)置作者

  • -copyright string 設(shè)置版權(quán)

  • -comment string 設(shè)置評論

  • -target type 設(shè)置目標文件類型(vcd,svcd,dvd)所有的格式選項(比特率运挫,編解碼率,緩沖區(qū)大刑赘)自動設(shè)置谁帕,只需要輸入如下的就可以了:

    ffmpeg -i myfile.avi -target vcd /tmp/vcd.mpg
    
  • -hq 激活高質(zhì)量設(shè)置

  • -itsoffset offset 設(shè)置以秒為基準的時間偏差,該選項影響后面所有的輸入文件冯袍。改偏移被加入到輸入文件的時間戳匈挖,定義一個正偏移意味著相應(yīng)的流被延遲了offset秒。[-]hh:mm:ss[.xxx]的格式也支持

2.2.2 視頻選項

  • -b bitrate設(shè)置比特率康愤,缺省200kb/s
  • -r fps 設(shè)置幀頻率儡循,缺省25
  • -s size設(shè)置幀的大小,此格式為WXH 缺省 160 x 128 下面的簡寫可以直接使用
sqcif 128 x 96
qcif 176 x 144
cif 352 x 288
4cif 704 x 576
  • -aspect apect 設(shè)置縱橫比 4:3 ,16:9,或者1.3333征冷,1.7777
  • -croptop size 設(shè)置頂部切除帶大小 像素單位
  • -cropbuttom size -cropleft size -cropright size 底部择膝,左邊,右邊切除帶大小
  • -padtop size 設(shè)置頂部補齊的大小 像素單位
  • -padbottom size -padleft size -padright size -padcolor color設(shè)置補齊條大小和顏色(hex检激,6個16進制的數(shù)肴捉,紅綠藍排列,比如000000代表黑色)
  • -vn 不做視頻記錄
  • -bt tolerance設(shè)置視頻碼率容忍度 kbit/s
  • -maxrate bitrate 設(shè)置最大視頻碼率容忍度
  • -minrate bitrate 設(shè)置最小視頻碼率容忍度
  • -bufsize size 設(shè)置碼率控制緩沖區(qū)大小
  • -vcodec codec 強制使用codec編解碼方式叔收,如果用copy表示原始編碼數(shù)據(jù)必須被拷貝
  • -sameq 使用同樣視頻質(zhì)量作為源(VBR)
  • -pass n 選擇處理遍數(shù)(1或2)兩遍編碼非常有用齿穗,第一遍生成統(tǒng)計信息,第二遍生成精確的請求的碼率
  • -passlogfile file選擇兩遍的記錄文件名為file

2.2.3 高級視頻選項

  • -g gop_size 設(shè)置圖像組大小
  • -intra 僅適用幀內(nèi)編碼
  • -qscale q 使用固定的視頻量化標度(VBR)
  • -qmin q 最小視頻量化標度(VBR)
  • -qmax q 最大視頻量化標度(VBR)
  • -qdiff q 量化標度間最大偏差 (VBR)
  • -qblur blur 視頻量化標度柔化(VBR)
  • -qcomp compression 視頻量化標度壓縮(VBR)
  • -rc_init_cplx complexity 一遍編碼的初始復(fù)雜度
  • -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 設(shè)置碼率控制方程 默認 tex^qComp
  • -rc_override override 特定間隔下的速率控制重載
  • -me method 設(shè)置運動估計的方法 可用方法有 zero phods log x1 epzs(缺省) full
  • -dct_algo algo 設(shè) 置 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 設(shè) 置 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 設(shè)置錯誤殘留為 n
1 FF_ER_CAREFULL 缺省
2 FF_ER_COMPLIANT
3 FF_ER_AGGRESSIVE
4 FF_ER_VERY_AGGRESSIVE
  • -ec bit_mask 設(shè) 置 錯 誤 掩 蔽 為 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 使用數(shù)據(jù)劃分 僅用于 mpeg4
  • -bug param 繞過沒有被自動監(jiān)測到編碼器的問題
  • -strict strictness 跟標準的嚴格性
  • -aic 使能高級幀內(nèi)編碼 h263+
  • -umv 使能無限運動矢量 h263+
  • -deinterlace 不采用交織方法
  • -interlace 強迫交織法編碼 僅對 mpeg2 和 mpeg4 有效帖鸦。當你的輸入是交織的并且你 想要保持交織以最小圖像損失的時候采用該選項芝薇。 可選的方法是不交織胚嘲, 但是損失 更大
  • -psnr 計算壓縮幀的 psnr
  • -vstats 輸出視頻編碼統(tǒng)計到 vstats_hhmmss.log
  • -vhook module 插入視頻處理模塊 module 包括了模塊名和參數(shù), 用空格分開

2.2.4音頻選項

  • -ab bitrate 設(shè)置音頻碼率
  • -ar freq 設(shè)置音頻采樣率
  • -ac channels 設(shè)置通道 缺省為 1
  • -an 不使能音頻紀錄
  • -acodec codec 使用 codec 編解碼

2.2.5 音頻/視頻捕獲選項

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

2.2.6 高級選項

  • -map file:stream 設(shè)置輸入流映射
  • -debug 打印特定調(diào)試信息
  • -benchmark 為基準測試加入時間
  • -hex 傾倒每一個輸入包
  • -bitexact 僅使用位精確算法 用于編解碼測試
  • -ps size 設(shè)置包大小馋劈, 以 bits 為單位
  • -re 以本地幀頻讀數(shù)據(jù), 主要用于模擬捕獲設(shè)備
  • -loop 循環(huán)輸入流晾嘶。 只工作于圖像流妓雾, 用于 ffserver 測試

2.2.7 FFmpeg 參數(shù)實例

以下面這個命令作為例子

./ffmpeg -y -i /rootVideoConverter/123.avi –s 480x350 /root/VideoConverter/234.flv
  • -y (覆蓋輸出文件, 即如果 1.***文件已經(jīng)存在的話垒迂, 不經(jīng)提示就覆蓋掉了)
  • -i "1.avi"(輸入文件是和 ffmpeg 在同一目錄下的 1.avi 文件械姻,可以自己加路徑,改名字)
  • -s (輸出的分辨率机断, 注意片源一定要是 16:9 的不然會變形)
  • -r (幀數(shù)楷拳, 一般就用這個吧)
  • -b 1500(視頻數(shù)據(jù)流量,用-b xxxx 的指令則使用固定碼率吏奸,數(shù)字隨便改欢揖,1500 以 上沒效果;還可以用動態(tài)碼率如:-qscale 4 和-qscale 6奋蔚, 4 的質(zhì)量比 6 高)
  • -acodec aac(音頻編碼用 AAC)
  • -ac 2 (聲道數(shù) 1 或 2)
  • -ar 24000(聲音的采樣頻率她混, 好像 PSP 只能支持 24000Hz)
  • -ab 128 ( 音頻數(shù)據(jù)流量, 一般選擇 32泊碑、64坤按、96、128)
  • -vol 200(200%的音量馒过, 自己改)
  • -f psp (輸出 psp 專用格式)
  • -muxvb 768(給 PSP 機器識別的碼率臭脓, 一般選擇 384、512 和
  • -ab bitrate 設(shè)置音頻碼率
  • -ar freq 設(shè)置音頻采樣率
  • -ss 指定時間點開始轉(zhuǎn)換任務(wù)沉桌, (time_off set the start time offset)谢鹊, -ss 后跟的時間單位為秒 .
  • -s 320x240 指定分辨率
  • -r 29.97 楨速率
  • -bitexact 使用標準比特率
  • -vcodec xvid 使用 xvid 壓縮

寫在后面

如果對FFmpeg有需要更多了解的請訂閱我的專題:音視頻專輯

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市留凭,隨后出現(xiàn)的幾起案子佃扼,更是在濱河造成了極大的恐慌,老刑警劉巖蔼夜,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件兼耀,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機瘤运,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進店門窍霞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人拯坟,你說我怎么就攤上這事但金。” “怎么了郁季?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵冷溃,是天一觀的道長。 經(jīng)常有香客問我梦裂,道長似枕,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任年柠,我火速辦了婚禮凿歼,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘冗恨。我一直安慰自己答憔,他們只是感情好,可當我...
    茶點故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布派近。 她就那樣靜靜地躺著攀唯,像睡著了一般。 火紅的嫁衣襯著肌膚如雪渴丸。 梳的紋絲不亂的頭發(fā)上侯嘀,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天,我揣著相機與錄音谱轨,去河邊找鬼戒幔。 笑死,一個胖子當著我的面吹牛土童,可吹牛的內(nèi)容都是我干的诗茎。 我是一名探鬼主播,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼献汗,長吁一口氣:“原來是場噩夢啊……” “哼敢订!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起罢吃,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤楚午,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后尿招,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體矾柜,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡阱驾,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了怪蔑。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片里覆。...
    茶點故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖缆瓣,靈堂內(nèi)的尸體忽然破棺而出喧枷,到底是詐尸還是另有隱情,我是刑警寧澤捆愁,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布割去,位于F島的核電站窟却,受9級特大地震影響昼丑,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜夸赫,卻給世界環(huán)境...
    茶點故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一菩帝、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧茬腿,春花似錦呼奢、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽糖儡。三九已至,卻和暖如春禀综,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背苔严。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工定枷, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人届氢。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓欠窒,卻偏偏與公主長得像,于是被迫代替她去往敵國和親退子。 傳聞我的和親對象是個殘疾皇子岖妄,可洞房花燭夜當晚...
    茶點故事閱讀 43,446評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 教程一:視頻截圖(Tutorial 01: Making Screencaps) 首先我們需要了解視頻文件的一些基...
    90后的思維閱讀 4,676評論 0 3
  • 根據(jù)ffmpeg官方網(wǎng)站上的例子程序開始學習ffmpeg和SDL編程。 SDL是一個跨平臺的多媒體開發(fā)包寂祥。適用于游...
    762683ff5d3d閱讀 1,786評論 0 2
  • 1.簡介 ffmpeg [global_options] {[input_file_options] -i inp...
    你家旭哥閱讀 6,575評論 1 4
  • 我喜歡安靜的時刻荐虐,我覺得安靜能讓我反思自己,反思自己的所做所為壤靶,在夜晚我仿佛在與另一個時空的自己對話 安靜會讓我想...
    一直很安靜l閱讀 205評論 0 1
  • TPP仿佛一夜之間火了缚俏,我關(guān)注的訂閱號里,有個理財達人講了一遍TPP不可怕的文章∮腔唬可愚鈍如我真心看不懂是神馬意思恬惯。...
    Dreamer007閱讀 807評論 0 1