FFmpeg 名稱中的mpeg來自視頻編碼標(biāo)準(zhǔn)MPEG,而前綴FF是Fast Forward的首字母縮寫 模塊 AVUtil:核心工具庫,該模塊是最基礎(chǔ)的模塊之一,下面的許多其他模塊都會依賴該庫做一些基本的音視頻處理操作。 ·AVFormat:文件格式和協(xié)議庫,該模塊是最重要的模塊之一,封裝了Protocol層和Demuxer、Muxer層,使得協(xié)議和格式對于開發(fā)者來說是透明的。 ·AVCodec:編解碼庫,該模塊也是最重要的模塊之一,封裝了Codec層,但是有一些Codec是具備自己的License的,F(xiàn)Fmpeg是不會默認(rèn)添加像libx264、FDK-AAC、lame等庫的,但是FFmpeg就像一個平臺一樣,可以將其他的第三方的Codec以插件的方式添加進(jìn)來,然后為開發(fā)者提供統(tǒng)一的接口。 ·AVFilter:音視頻濾鏡庫,該模塊提供了包括音頻特效和視頻特效的處理,在使用FFmpeg的API進(jìn)行編解碼的過程中,直接使用該模塊為音視頻數(shù)據(jù)做特效處理是非常方便同時也非常高效的一種方式。 ·AVDevice:輸入輸出設(shè)備庫,比如,需要編譯出播放聲音或者視頻的工具ffplay,就需要確保該模塊是打開的,同時也需要libSDL的預(yù)先編譯,因為該設(shè)備模塊播放聲音與播放視頻使用的都是libSDL庫。 ·SwrRessample:該模塊可用于音頻重采樣,可以對數(shù)字音頻進(jìn)行聲道數(shù)、數(shù)據(jù)格式、采樣率等多種基本信息的轉(zhuǎn)換。 ·SWScale:該模塊是將圖像進(jìn)行格式轉(zhuǎn)換的模塊,比如,可以將YUV的數(shù)據(jù)轉(zhuǎn)換為RGB的數(shù)據(jù)。 ·PostProc:該模塊可用于進(jìn)行后期處理,當(dāng)我們使用AVFilter的時候需要打開該模塊的開關(guān),因為Filter中會使用到該模塊的一些基礎(chǔ)函數(shù)