可以做動效的網站如何做百度關鍵詞推廣
播放器框架
相關術語
?容器/文件(Conainer/File):
即特定格式的多媒體文件,比如mp4、flv、mkv等。
? 媒體流(Stream):
表示時間軸上的一段連續(xù)數據,如一段聲音數據、一段視頻數據或一段字幕數據,可以是壓縮的,也可以是非壓縮的,壓縮的數據需要關聯特定的編解碼器(有些碼流音頻他是純PCM)。
? 數據幀/數據包(Frame/Packet):
通常,一個媒體流是由大量的數據幀組成的,對于壓縮數據,幀對應著編解碼器的最小處理單元,分屬于不同媒體流的數據幀交錯存儲于容器之中。
? 編解碼器:
編解碼器是以幀為單位實現壓縮數據和原始數據之間的相互轉換的。
復用器和解復用器(封裝和解封裝)
編碼器和解碼器
FFmpeg常用函數庫
FFMPEG有8個常用庫:
? AVUtil:
核心工具庫,下面的許多其他模塊都會依賴該庫做一些基本的音視頻處理操作。
? AVFormat:
文件格式和協(xié)議庫,該模塊是最重要的模塊之一,封裝了Protocol層Demuxer、Muxer層,使得協(xié)議和格式對于開發(fā)者來說是透明的。
? AVCodec:
編解碼庫,封裝了Codec層,但是有一些Codec是具備自己的License的,FFmpeg是不會默認添加像libx264、FDK-AAC等庫的,但是FFmpeg就像一個平臺一樣,可以將其他的第三方的Codec以插件的方式添加進來,然后為開發(fā)者提供統(tǒng)一的接口。
? AVFilter:
音視頻濾鏡庫,該模塊提供了包括音頻特效和視頻特效的處理,在使用FFmpeg的API進行編解碼的過程中,直接使用該模塊為音視頻數據做特效處理是非常方便同時也非常高效的一種方式。
? AVDevice:
輸入輸出設備庫,比如,需要編譯出播放聲音或者視頻的工具ffplay,就需要確保該模塊是打開的,同時也需要SDL的預先編譯,因為該設備模塊播放聲音與播放視頻使用的都是SDL庫。
? SwrRessample:
該模塊可用于音頻重采樣,可以對數字音頻進行聲道數、數據格式、采樣率等多種基本信息的轉換。
? SWScale:
該模塊是將圖像進行格式轉換的模塊,比如,可以將YUV的數據轉換為RGB的數據,縮放尺寸由1280720變?yōu)?00480。
? PostProc:
該模塊可用于進行后期處理,當我們使用AVFilter的時候需要打開該模塊的開關,因為Filter中會使用到該模塊的一些基礎函數。