1.AVFoundation的試用范圍
1.媒體處理框架從高層到底層:
高層:AVKit
中層:AVFoundation
底層:Core Audio ,Core Video , Core Media, Core Animation
2.AVFoundation能做些什么
1.音頻記錄和播放: AVAudioPlayer 和AVAudioRecoder
2.媒體文件檢查: 獲取媒體文件的信息,通過(guò)AVMetadataItem提供的元數(shù)據(jù)支持,可以對(duì)媒體資源的描述信息進(jìn)行讀寫(xiě)
3.視頻播放: 播放本地或者遠(yuǎn)程視頻資源
4.媒體捕捉: 核心類(lèi)AVCaptureSession,通過(guò)攝像頭采集圖片或視頻
5.媒體編輯: 音頻視頻只見(jiàn)的組合,修改媒體片段等.
6.媒體處理: 對(duì)媒體資源進(jìn)行更高級(jí)的處理,可以直接訪(fǎng)問(wèn)視頻幀或者音頻樣本
3.理解數(shù)字媒體
1.數(shù)字媒體采樣: 生活中的聲音叫做模擬信號(hào),存儲(chǔ)和傳輸時(shí),使用的是數(shù)字信號(hào),采樣也就是模擬信號(hào)和數(shù)字信號(hào)的轉(zhuǎn)化過(guò)程.
2.音頻采樣: 線(xiàn)性脈沖編碼調(diào)制(LPCM),在某頻率下,對(duì)聲音樣本進(jìn)行定點(diǎn)采樣,得到一個(gè)離散的樣本
3.視頻采樣: 視頻是由一組圖片組成的,每張圖片叫做幀,這也就是視頻采樣
4.數(shù)字媒體壓縮
1.采樣得到的媒體資源非常大,不適合存儲(chǔ)和傳輸,因此需要壓縮
2.色彩二次抽樣: YUV,人眼對(duì)亮度比色彩要更加敏感,每個(gè)像素點(diǎn)都需要有各自的亮度值,卻不一定需要色度值,減少色彩信息的過(guò)程,就叫做色彩二次抽樣,表示方法為j:a:b,j是幾個(gè)關(guān)聯(lián)色塊(一般是四個(gè))中包含的像素?cái)?shù),a是第一行中每個(gè)j像素的色度像素?cái)?shù),b是第二行中每個(gè)j像素的附加像素?cái)?shù).
3.編解碼器壓縮: encoder和decoder,使用高級(jí)算法對(duì)媒體資源進(jìn)行壓縮,可以無(wú)損也可以有損,有損則是減少媒體的冗余數(shù)據(jù),用盡量少的部分來(lái)達(dá)到最好的效果.
4.H.264視頻編解碼器: 從幀大小和幀數(shù)量?jī)蓚€(gè)方面來(lái)壓縮,減小單幀的尺寸,叫做幀內(nèi)壓縮,以組為單位,壓縮冗余數(shù)據(jù),比如一段幾乎靜止的畫(huà)面,或者重復(fù)的畫(huà)面,會(huì)消除冗余的幀.
5.AAC音頻解碼器: AAC比MP3格式有著顯著的提升,是在web中發(fā)布和傳播最理想的格式.AVFoundation提供了MP3格式的解碼,但是不支持編碼.