AVFoundation-入門(mén)

AV Foundation 是 OSX 系統(tǒng)和 iOS 系統(tǒng)中用于處理基于時(shí)間的媒體數(shù)據(jù)的高級(jí) objectivec 框架凄吏,其設(shè)計(jì)過(guò)程高度依賴(lài)多線(xiàn)程機(jī)制,充分利用了多核硬件優(yōu)勢(shì)当娱,大量使用 Block 和 GCD 機(jī)制已维。AVFoundation 能與高層級(jí)框架無(wú)縫銜接知给,也能提供低層級(jí)框架的功能和性能皇钞。

1. AVFoundation 核心功能

AVFoundation 提供的核心功能如下所示

  • 音頻播放和記錄——AVAudioPlayer 和 AVAudioRecorder
  • 媒體文件檢查——AVMetadataItem
  • 視頻播放——AVPalyer 和 AVPlayerItem
  • 媒體捕捉——AVCaptureSession
  • 媒體編輯
  • 媒體處理——AVAssetReader悼泌、AVAssetWriter

2. 數(shù)字媒體

2.1 數(shù)字媒體采樣

將現(xiàn)實(shí)世界的模擬信號(hào)轉(zhuǎn)換為能夠被計(jì)算機(jī)存儲(chǔ)和傳輸?shù)臄?shù)字信號(hào),需要經(jīng)過(guò)模擬-數(shù)字轉(zhuǎn)換過(guò)程鹅士,也稱(chēng)為采樣券躁。數(shù)字化采樣有兩種方式,一種是時(shí)間采樣掉盅,即捕捉一個(gè)信號(hào)周期內(nèi)的變化,一種是空間采樣以舒,一般用于圖片數(shù)字化和其他可視化媒體內(nèi)容數(shù)字化上趾痘,它對(duì)一個(gè)圖片在一定分辨率下捕捉其亮度和色度,進(jìn)而創(chuàng)建出由該圖片的像素點(diǎn)數(shù)據(jù)所構(gòu)成的數(shù)字化結(jié)果蔓钟。視頻既有空間屬性又有時(shí)間屬性永票,所以數(shù)字化時(shí)都可以使用。

2.2 音頻采樣

對(duì)于一個(gè)音頻滥沫,麥克風(fēng)負(fù)責(zé)將物理振動(dòng)轉(zhuǎn)化為相同頻率和振幅的電流信號(hào)侣集,之后通過(guò)線(xiàn)性脈沖編碼調(diào)制(LPCM)進(jìn)行編碼。LPCM 采樣或測(cè)量一個(gè)固定的音頻信號(hào)兰绣,其周期率被稱(chēng)為采樣率世分。采樣頻率達(dá)到奈奎斯特頻率(采樣對(duì)象最高頻率的 2 倍)時(shí)即可準(zhǔn)確表現(xiàn)原始信號(hào)的信息。另一方面編碼字節(jié)數(shù)(也稱(chēng)位元深度)表現(xiàn)了采樣精度缀辩,如位元深度為 8 位的編碼能夠提供 256 個(gè)離散級(jí)別的數(shù)據(jù)臭埋,CD 音質(zhì)位元深度為 16。

3. 數(shù)字媒體壓縮

原始臀玄、未壓縮的數(shù)字化媒體數(shù)據(jù)需要大量的存儲(chǔ)空間瓢阴,因此需要進(jìn)行壓縮。

3.1 色彩二次抽樣

由于人類(lèi)的眼睛對(duì)亮度的敏感度高于顏色的敏感度妖异,因此可以大幅降低存儲(chǔ)在每個(gè)像素中的顏色信息翘悉,而不至于圖片質(zhì)量嚴(yán)重受損春锋,這一過(guò)程稱(chēng)為色彩二次采樣。

視頻數(shù)據(jù)都使用 YCbCr 顏色模式叠穆,也稱(chēng)為 YUV 模式,與 RGB 視頻信號(hào)傳輸相比畦浓,它最大的優(yōu)點(diǎn)在于只需占用極少的頻寬痹束。其中 “Y” 表示明亮度(Luminance或Luma),也就是灰階值讶请;而 “U” 和 “V” 表示的則是色度祷嘶。

色彩二次抽樣通常用一個(gè)三分比值表示屎媳,J:a:b(例如4:2:2),形容一個(gè)以J個(gè)像素寬及兩個(gè)像素高的概念上區(qū)域:

J:水平抽樣參照(概念上區(qū)域的寬度)论巍。通常為4
a:在J個(gè)像素第一行中的色度抽樣數(shù)目(Cr, Cb)
b:在J個(gè)像素第二行中的額外色度抽樣數(shù)目(Cr, Cb)

下面是抽樣示意圖

image

4:4:4 比例下全彩色信息都可被保存烛谊,在 4:2:2 比例下色彩信息為每?jī)蓚€(gè)水平像素的平均值,在 4:2:0 比例下色彩信息為水平和垂直 4 個(gè)像素的平均值嘉汰。

3.2 編解碼器壓縮

編解碼器使用高級(jí)壓縮算法對(duì)需要保存或發(fā)送的音頻或視頻數(shù)據(jù)進(jìn)行壓縮和編碼丹禀,同時(shí)可以將壓縮文件解碼成適合播放和編輯的媒體資源文件。編解碼器分無(wú)損壓縮和有損壓縮鞋怀,zip 和 gzip 就是無(wú)損壓縮双泪。

3.3 視頻編解碼器

AVFoundation 只提供 H.264 和 Apple ProRes 兩種媒體類(lèi)型的支持,但 iOS 只支持 H.264密似。

3.3.1 H.264

H.264 規(guī)范是 Motion Picture Experts Group(MPEG)定義的 PMEG-4 的一部分焙矛,與其他 MPEG 壓縮一樣,H.264 通過(guò)下面兩個(gè)維度來(lái)壓縮視頻文件尺寸:

  • 空間:壓縮獨(dú)立視頻幀残腌,被稱(chēng)為幀內(nèi)壓縮
  • 時(shí)間:以組為單位壓縮視頻幀冗余數(shù)據(jù)村斟,稱(chēng)為幀間壓縮

幀內(nèi)壓縮通過(guò)消除包含在每個(gè)獨(dú)立視頻幀內(nèi)的色彩及結(jié)構(gòu)中的冗余信息來(lái)進(jìn)行壓縮,因此可以在不降低圖片質(zhì)量情況下盡可能縮小尺寸抛猫,這一過(guò)程創(chuàng)建的幀稱(chēng)為 I-frames蟆盹。

幀間壓縮將很多幀組合為一組圖片(簡(jiǎn)稱(chēng) GOP),對(duì)于 GOP 所存在的時(shí)間維度的冗余可以被消除闺金。GOP 存儲(chǔ)三種不同類(lèi)型的幀:

  • I-frames:關(guān)鍵幀逾滥,創(chuàng)建完整圖片所需要的所有數(shù)據(jù),尺寸大但解壓快
  • P-frames:預(yù)測(cè)幀掖看,基于最近的 I-frames 或 P-frames 的可預(yù)測(cè)圖片進(jìn)行編碼得到
  • B-frames:雙向幀匣距,基于使用之前和之后的幀信息編碼得到的幀,解壓過(guò)程費(fèi)時(shí)

3.4 音頻解碼器

AVFoundation 廣泛使用 AAC(高級(jí)音頻編碼) 作為音頻解碼器哎壳,它是 H.264 標(biāo)準(zhǔn)相應(yīng)的音頻處理方式毅待,優(yōu)于 MP3 格式。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末归榕,一起剝皮案震驚了整個(gè)濱河市尸红,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌刹泄,老刑警劉巖外里,帶你破解...
    沈念sama閱讀 212,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異特石,居然都是意外死亡盅蝗,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)姆蘸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)墩莫,“玉大人芙委,你說(shuō)我怎么就攤上這事】袂兀” “怎么了灌侣?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,369評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)裂问。 經(jīng)常有香客問(wèn)我侧啼,道長(zhǎng),這世上最難降的妖魔是什么堪簿? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,799評(píng)論 1 285
  • 正文 為了忘掉前任痊乾,我火速辦了婚禮,結(jié)果婚禮上戴甩,老公的妹妹穿的比我還像新娘符喝。我一直安慰自己,他們只是感情好甜孤,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著畏腕,像睡著了一般缴川。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上描馅,一...
    開(kāi)封第一講書(shū)人閱讀 50,096評(píng)論 1 291
  • 那天把夸,我揣著相機(jī)與錄音,去河邊找鬼铭污。 笑死恋日,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的嘹狞。 我是一名探鬼主播岂膳,決...
    沈念sama閱讀 39,159評(píng)論 3 411
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼磅网!你這毒婦竟也來(lái)了谈截?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,917評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤涧偷,失蹤者是張志新(化名)和其女友劉穎簸喂,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體燎潮,經(jīng)...
    沈念sama閱讀 44,360評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡喻鳄,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了确封。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片除呵。...
    茶點(diǎn)故事閱讀 38,814評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡再菊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出竿奏,到底是詐尸還是另有隱情袄简,我是刑警寧澤,帶...
    沈念sama閱讀 34,509評(píng)論 4 334
  • 正文 年R本政府宣布泛啸,位于F島的核電站绿语,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏候址。R本人自食惡果不足惜吕粹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望岗仑。 院中可真熱鬧匹耕,春花似錦、人聲如沸荠雕。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)炸卑。三九已至既鞠,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間盖文,已是汗流浹背嘱蛋。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,123評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留五续,地道東北人洒敏。 一個(gè)月前我還...
    沈念sama閱讀 46,641評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像疙驾,于是被迫代替她去往敵國(guó)和親凶伙。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容

  • 第一章:AV Foundation入門(mén): 1.1 AV Foundation的含義 AV Foundation是蘋(píng)...
    武當(dāng)霍元甲閱讀 1,283評(píng)論 0 2
  • [TOC] 音視頻&流媒體 是什么促使我要寫(xiě)這一篇音視頻入門(mén)文章荆萤?那是因?yàn)楹鸵幻米哟蛸€碼率的概念镊靴,結(jié)果輸了;對(duì)一個(gè)...
    AllenWu閱讀 4,810評(píng)論 1 25
  • 第一章 AV Foundation 簡(jiǎn)介 1991 年蘋(píng)果推出了 Quick Time 首次將數(shù)字音頻和數(shù)字視頻展...
    mayan29閱讀 387評(píng)論 0 1
  • 1 AVFoundation簡(jiǎn)介 1.1 Apple的媒體處理體系 Apple的媒體處理體系分為高链韭、中偏竟、低三層,i...
    RichardJieChen閱讀 2,268評(píng)論 1 2
  • 有時(shí)候我在想敞峭,生活是什么踊谋,我不知道未來(lái),只知道現(xiàn)在的迷茫旋讹,為了一點(diǎn)小事兒的失眠殖蚕,讓整個(gè)人都不舒服轿衔,我不知道將來(lái)的我...
    靈契灝閱讀 124評(píng)論 0 0