FFmpeg 維基百科

FFmpeg是一個自由軟件,能夠運行音頻和視頻多種格式的錄影、轉換、流功能[1],包含了libavcodec ─這是一個用於多個項目中音頻和視頻的解碼器庫,以及libavformat——一個音頻與視頻格式轉換庫。php

"FFmpeg"這個單詞中的"FF"指的是"Fast Forward"[2]。有些新手寫信給"FFmpeg"的項目負責人,詢問FF是否是表明「Fast Free」或者「Fast Fourier」等意思,"FFmpeg"的項目負責人回信說「Just for the record, the original meaning of "FF" in FFmpeg is "Fast Forward"...」html

這個項目最初是由Fabrice Bellard發起的,而如今是由Michael Niedermayer在進行維護。許多FFmpeg的開發者同時也是MPlayer項目的成員,FFmpeg在MPlayer項目中是被設計爲服務器版本進行開發。git

2011年3月13日,FFmpeg部分開發人士決定另組libav,網址http://libav.org,同時制定了一套關於項目繼續發展和維護的規則。[3][4]web

 

 

組成組件[編輯]

此計劃由幾個組件組成:服務器

  • ffmpeg是一個命令行工具,用來對視頻文件轉換格式,也支持對電視卡實時編碼
  • ffserver是一個HTTP多媒體實時廣播流服務器,支持時光平移
  • ffplay是一個簡單的播放器,基於SDL與FFmpeg庫
  • libavcodec包含了所有FFmpeg音頻/視頻編解碼庫
  • libavformat包含demuxers和muxer庫
  • libavutil包含一些工具庫
  • libpostproc對於視頻作前處理的庫
  • libswscale對於圖像做縮放的庫

參數[編輯]

FFmpeg可以使用衆多參數,參數內容會根據ffmpeg版本而有差別,使用前建議先參考參數及編解碼器的敘述。此外,參數明細可用ffmpeg -h顯示;編解碼器名稱等明細可用ffmpeg -formats顯示。less

下列爲較常使用的參數。ide

主要參數[編輯]

  • -i設置輸入文件名。
  • -f設置輸出格式。
  • -y若輸出文件已存在時則覆蓋文件。
  • -fs超過指定的文件大小時則退出轉換。
  • -ss從指定時間開始轉換。
  • -title設置標題。
  • -timestamp設置時間戳。
  • -vsync增減Frame使影音同步。

圖像參數[編輯]

  • -b設置圖像流量,默認爲200Kbit/秒。(單位請引用下方注意事項
  • -r設置幀率值,默認爲25。
  • -s設置畫面的寬與高。
  • -aspect設置畫面的比例。
  • -vn不處理圖像,於僅針對聲音作處理時使用。
  • -vcodec設置圖像圖像編解碼器,未設置時則使用與輸入文件相同之編解碼器。

聲音參數[編輯]

  • -ab設置每Channel(最近的SVN版爲全部Channel的總合)的流量。(單位請引用下方注意事項
  • -ar設置採樣率。
  • -ac設置聲音的Channel數。
  • -acodec設置聲音編解碼器,未設置時與圖像相同,使用與輸入文件相同之編解碼器。
  • -an不處理聲音,於僅針對圖像作處理時使用。
  • -vol設置音量大小,256爲標準音量。(要設置成兩倍音量時則輸入512,依此類推。)

注意事項[編輯]

  • 以-b及ab首選項流量時,根據使用的ffmpeg版本,須注意單位會有kbits/sec與bits/sec的不一樣。(可用ffmpeg -h顯示說明來確認單位。)
例如,單位爲bits/sec的狀況時,欲指定流量64kbps時需輸入‘ -ab 64k’;單位爲kbits/sec的狀況時則需輸入‘ -ab 64’。
  • 以-acodec及-vcodec所指定的編解碼器名稱,會根據使用的ffmpeg版本而有所不一樣。例如使用AAC編解碼器時,會有輸入aac與libfaac的狀況。此外,編解碼器有分爲僅供解碼時使用與僅供編碼時使用,所以必定要利用ffmpeg -formats確認輸入的編解碼器是否能運做。

支持的編碼器、格式和協議[編輯]

編碼器[編輯]

FFmpeg項目本地的編碼器:svn

FFmpeg已實現的:工具

The default MPEG-4 codec used by FFmpeg for encoding has the FourCC of FMP4.post

格式[編輯]

協議[編輯]

  • IETF標準:TCPUDPGopherHTTPRTPRTSPSDP
  • 蘋果公司的相關標準:HTTP Live Streaming
  • RealMedia的相關標準:RealMedia RTSP/RDT
  • Adobe的相關標準:RTMP, RTMPT(由librtmp實現),RTMPE(由librtmp實現),RTMPTE(由librtmp)和RTMPS(由librtmp實現)
  • 微軟的相關標準:MMS在TCP上和MMS在HTTP上

社區內部問題[編輯]

2011年1月19日,FFmpeg的現任維護者Michael Niedermayer在郵件列表上披露,FFmpeg發生了「政變」,一些開發者佔領了官方網站,關閉了其餘人的寫入權限。隨後政變者宣佈FFmpeg 「建立新政權」,維護任務將由他們接手,宣稱只有維護團隊才能擁有主源碼庫的寫入權限。

「新內閣」成員之一的Diego Biurrun解釋了他們的行動,稱「政變」是無可奈何,表示他們本來想聯絡每個開發者,但沒成功,由於不是每一個人都在IRC上,或者能及時回電話郵件短信。「革命」的緣由是爲了統一,FFmpeg社區分裂的狀況嚴重到他們已經看不下去了。他們指望FFmpeg項目能建立一個健康而友好的開發環境。[13]

隨後Fabrice Bellard等人於2011年3月13日跳出去開新項目,稱做Libav,Libav裏面每位成員的管理權限縮更小(至少不能任意關閉其餘人更改代碼權限)。而Debian血統也響應,宣佈2012年要將ffmpeg指令改爲avconv[14]

Libav跳槽以後有必定程度上更改FFmpeg的指令[15]

Libav/FFmpeg版權[編輯]

因爲Libav、FFmpeg是在LGPLGPL協議下發布的(若是使用了其中一些使用GPL協議發佈的模塊則必須使用GPL協議),任何人均可以自由使用,但必須嚴格遵照LGPL、GPL協議。目前有不少播放軟件都使用了Libav、FFmpeg的代碼,但它們並無遵照LGPL,GPL協議,沒有公開任何源代碼。Libav、FFmpeg社區便將這些違反協議的公司、組織、我的的網址粘貼「恥辱大廳」(又叫「恥辱柱」)上,並與這些公司/組織/我的商討如何解決版權爭議。[16]

註釋[編輯]

  1. ^ FFmpeg Documentation
  2. ^ Bellard, Fabrice. FFmpeg naming and logo. FFmpeg developer mailing list. Mplayer website. 18 February 2006 [2007-03-29].
  3. ^ 紅薯. FFmpeg項目更名爲libav. 開源中國社區. March 15, 2011 [June 14, 2011].
  4. ^ libav官方網站[June 14, 2011].
  5. 5.0 5.1 5.2 5.3 5.4 5.5 5.6 banan. Changelog. FFmpeg trunk SVN. FFmpeg website. 17 April 2007 [26 April 2007].
  6. 6.0 6.1 ivo. FFmpeg development mailing list. FFmpeg development. FFmpeg website. 7 May 2007 [24 December 2010].
  7. ^ vitor. FFmpeg development mailing list. FFmpeg development. FFmpeg website. 13 April 2008 [14 April 2008].
  8. ^ vitor. FFmpeg development mailing list. FFmpeg development. FFmpeg website. 30 March 2008 [30 March 2008].
  9. ^ faust3. FFmpeg development mailing list. FFmpeg development. FFmpeg website. 21 March 2008 [21 March 2008].
  10. ^ benoit. FFmpeg development mailing list. FFmpeg development. FFmpeg website. 14 April 2008 [14 April 2008].
  11. ^ ramiro. FFmpeg development mailing list. FFmpeg development. FFmpeg website. 18 March 2008 [18 March 2008].
  12. ^ banan. FFmpeg development mailing list. FFmpeg development. FFmpeg website. 8 June 2008 [8 June 2008].
  13. ^ FFmpeg發生政變-中國開源社區
  14. ^ Debian Bug Tracker
  15. ^ http://libav.org/news.html#fftools_rename
  16. ^ FFmpeg開發者接受採訪 - 開源中國社區

外部連接[編輯]

 

from:http://zh.wikipedia.org/zh-cn/FFmpeg

相關文章
相關標籤/搜索