
【基本介紹】
FFmpeg是一套可以用來記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為流的開源計算機程序。它包括了目前領(lǐng)先的音/視頻編碼庫libavcodec。 FFmpeg是在Linux下開發(fā)出來的,但它可以在包括Windows在內(nèi)的大多數(shù)操作系統(tǒng)中編譯。這個項目是由Fabrice Bellard發(fā)起的,現(xiàn)在由Michael Niedermayer主持??梢暂p易地實現(xiàn)多種視頻格式之間的相互轉(zhuǎn)換,例如可以將攝錄下的視頻avi等轉(zhuǎn)成現(xiàn)在視頻網(wǎng)站所采用的flv格式。
【功能介紹】
1、視頻采集功能ffmpeg視頻采集功能非常強大,不僅可以采集視頻采集卡或USB攝像頭的圖像,還可以進行屏幕錄制,同時還支持以RTP方式將視頻流傳送給支持RTSP的流媒體服務(wù)器,支持直播應用。
2、視頻格式轉(zhuǎn)換功能
視頻格式轉(zhuǎn)換,比如可以將多種視頻格式轉(zhuǎn)換為flv格式,可不是視頻信號轉(zhuǎn)換 。
ffmpeg可以輕易地實現(xiàn)多種視頻格式之間的相互轉(zhuǎn)換(wma,rm,avi,mod等),例如可以將攝錄下的視頻avi等轉(zhuǎn)成視頻網(wǎng)站所采用的flv格式。
3、視頻截圖功能
對于選定的視頻,截取指定時間的縮略圖。視頻抓圖,獲取靜態(tài)圖和動態(tài)圖,不提倡抓gif文件;因為抓出的gif文件大而播放不流暢。
4、給視頻加水印功能
使用ffmpeg 視頻添加水印(logo)。

【軟件特色】
使pkg-config找到我的庫在交叉編譯時使用pkg-config
將單張照片編碼成電影
將電影編碼為單張照片
使用多線程MPEG *編碼可以看到質(zhì)量輕微下降
從標準輸入讀取或?qū)懭霕藴瘦敵?br />也是可以修改幀頻的
用ffmpeg編碼Xvid或DivX視頻
支持編碼高質(zhì)量MPEG-1 / MPEG-2
可以讀取DirectShow文件
支持加入視頻文件、支持連接視頻文件
使用concat過濾器進行連接、使用連接分路器連接
也支持使用concat協(xié)議(文件級別)、使用原始音頻和視頻進行連接
FFmpeg在我的VOB文件中可以看字幕
支持運行ffmpeg作為后臺任務(wù)
支持Microsoft Visual C ++
可以添加automake,libtool或autoconf
在我的C ++應用程序中使用FFmpeg
在我的C ++應用程序中使用libavutil

【項目組成】
FFmpeg是一套可以用來記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為流的開源計算機程序。它包括了領(lǐng)先的音/視頻編碼庫libavcodec等。libavformat:用于各種音視頻封裝格式的生成和解析,包括獲取解碼所需信息以生成解碼上下文結(jié)構(gòu)
和讀取音視頻幀等功能;
libavcodec:用于各種類型聲音/圖像編解碼;
libavutil:包含一些公共的工具函數(shù);
libswscale:用于視頻場景比例縮放、色彩映射轉(zhuǎn)換;
libpostproc:用于后期效果處理;
ffmpeg:該項目提供的一個工具,可用于格式轉(zhuǎn)換、解碼或電視卡即時編碼等;
ffsever:一個 HTTP 多媒體即時廣播串流服務(wù)器;
ffplay:是一個簡單的播放器,使用ffmpeg 庫解析和解碼,通過SDL顯示;

【安裝教程】
1.在百度搜索軟件的名字,點擊downloads,然后進入官網(wǎng)點擊白色的方塊圖標。

2.選擇builds,再點擊downloads builds。


3.倒下載的目錄文件夾,然后解壓它,點擊進入直到你看到圖二一樣的文件,并進入bin文件夾,然后你點擊一下地址欄復制這個文件所在的路徑。




4.右鍵計算機的圖標屬性,點擊高級系統(tǒng)設(shè)置。


5.點擊環(huán)境變量,找到path這一行點擊編輯。


6.在路徑最后一行輸入英文的分號,然后粘貼上面解壓的文件的路徑的地址,點擊確定并退出。


7.最后進入cmd這里,輸入ffmpeg,看到一排的提示,不是提示不是內(nèi)部或者外部命令即為成功了。



【使用說明】
使用Microsoft Visual C ++鏈接到FFmpeg如果您打算與MSVC構(gòu)建的靜態(tài)庫鏈接,則需要確保在項目設(shè)置中將運行時庫設(shè)置為多線程(/ MT)。
您需要內(nèi)聯(lián)定義MSVC可以理解的內(nèi)容:
#define inline __inline
還要注意,正如Microsoft Visual C ++中所述,您將需要一個兼容MSVC的inttypes.h。
如果您計劃使用由dlltool創(chuàng)建的導入庫,則必須在鏈接器優(yōu)化設(shè)置下將引用設(shè)置為否(/ OPT:NOREF),否則生成的二進制文件將在運行時失敗。使用由lib.exe生成的導入庫時,這不是必需的。此問題在http://sourceware.org/bugzilla/show_bug.cgi?id=12633上報。
要創(chuàng)建與/ OPT:REF選項一起工作的導入庫(在發(fā)布模式下默認啟用),請按照下列步驟操作:
打開Visual Studio命令提示符。
或者,在常規(guī)命令行提示符中,調(diào)用為設(shè)置Visual C ++工具的環(huán)境變量的'vcvars32.bat'(該文件的標準位置類似于'C:\ Program Files(x86_ \ Microsoft Visual Studio 10.0 \ VC \ BIN \ VCVARS32.BAT“)。
進入存儲創(chuàng)建的LIB和DLL文件的'bin'目錄。
【常見問題】
1.1為什么不支持FFmpeg功能[xyz]?因為還沒有人接受這個任務(wù)。 FFmpeg的開發(fā)是由對個人開發(fā)者來說很重要的任務(wù)驅(qū)動的。 如果有一項對您很重要的功能,實現(xiàn)它的最好方法是自己承擔這項任務(wù)或贊助開發(fā)人員。
1.2 FFmpeg不支持編解碼器XXX。 你可以包含一個Windows DLL加載器來支持它嗎?
沒有Windows DLL不可移植,臃腫且速度慢。 此外FFmpeg努力本地支持所有編解碼器。 DLL加載器不利于實現(xiàn)這一目標。
1.3雖然這種格式似乎被ffmpeg支持,但我無法讀取該文件。
即使ffmpeg可以讀取容器格式,也可能不支持其所有編解碼器。 請參閱ffmpeg文檔中支持的編解碼器列表。

































