FFmpeg是一個開源免費跨平臺的視頻和音頻流方案,屬於自由軟件,采用LGPL或GPL許可證(依據你選擇的組件)。它提供了錄制、轉換以及流化音視頻的完整解決方案。它包含了非常先進的音頻/視頻編解碼庫libavcodec,為了保證高可移植性和編解碼質量,libavcodec裡很多codec都是從頭開發的。FFmpeg在Linux平臺下開發,但它同樣也可以在其它操作系統環境中編譯運行,包括Windows、Mac OS X等。這個項目最早由Fabrice Bellard發起,現在由Michael Niedermayer維護。許多FFmpeg的開發人員都來自MPlayer項目,而且當前FFmpeg也是放在MPlayer項目組的服務器上。項目的名稱來自MPEG視頻編碼標准,前面的"FF"代表"Fast Forward"。
FFmpeg是一套可以用來記錄、轉換數字音頻、視頻,並能將其轉化為流的開源計算機程序。它包括了目前領先的音/視頻編碼庫libavcodec。 FFmpeg雖然是在Linux下開發出來的,但它可以在包括Windows在內的大多數操作系統中編譯。這個項目是由Fabrice Bellard發起的,現在由Michael Niedermayer主持。可以輕易地實現多種視頻格式之間的相互轉換,例如可以將攝錄下的視頻avi等轉成現在視頻網站所采用的flv格式。多媒體視頻處理工具FFmpeg有非常強大的功能,包括視頻采集功能、視頻格式轉換、視頻抓圖、給視頻加水印等。
FFmpeg視頻采集功能非常強大,不僅可以采集視頻采集卡或USB攝像頭的圖像,還可以進行屏幕錄制,同時還支持以RTP方式將視頻流傳送給支持RTSP的流媒體服務器,支持直播應。采集10秒鍾視頻,對video4linux2視頻設備進行采集,采集QCIF(176*144)的視頻,每秒8幀,視頻設備為/dev/video0,視頻編碼為h263,輸出格式為RTP,後面定義了IP地址及端口,將該碼流所對應的SDP文件重定向到/tmp/ffmpeg.sdp中,將此SDP文件上傳到流媒體服務器就可以實現直播了。
在windows下關於ffmpeg視頻采集的資料非常少,但是ffmpeg還是支持windows下視頻采集的。ffmpeg支持windows下video for windows(VFW)設備的視頻采集,不過VFW設備已經過時,正在被WDM的視頻設備所取代,但是ffmpeg還沒有支持WDM的計劃,不過好像有將WDM轉為VFW的工具,因此ffmpeg還是可以在windows下進行視頻采集的。ffmpeg視頻轉換功能包括視頻格式轉換,比如可以將多種視頻格式轉換為flv格式,可不是視頻信號轉換 。ffmpeg可以輕易地實現多種視頻格式之間的相互轉換。
FFmpeg被許多開源項目采用,比如ffmpeg2theora,VLC, MPlayer, HandBrake, Blender, Google Chrome等。還有DirectShow/VFW的ffdshow(external project)和QuickTime的Perian (external project)也采用了FFmpeg。由於FFmpeg是在LGPL/GPL協議下發布的(如果使用了其中一些使用GPL協議發布的模塊則必須使用GPL協議),任何人都可以自由使用,但必須嚴格遵守LGPL/GPL協議。目前有很多播放軟件都使用了FFmpeg的代碼,但它們並沒有遵守LGPL/GPL協議,沒有公開任何源代碼。2012年01月27日,FFmpeg 0.9.1 發布,修復了很多 bug 和安全方面的補丁,包括: CVE-2011-3893 and CVE-2011-3895,同時顯著提昇對 H.264 的檢索支持。
www.ffmpeg.org - 809 - FFmpeg