1.AVFoundation 提供的核心功能
- (1)音頻播放和記錄
- (2)媒體文件檢查
- (3)視頻播放
- (4)媒體捕捉
- (5)媒體編輯
- (6)媒體處理
2.數(shù)字媒體
采樣:要將模擬信號(hào)轉(zhuǎn)成我們能夠存儲(chǔ)并傳輸?shù)臄?shù)字信號(hào),要經(jīng)過(guò)模擬-數(shù)字轉(zhuǎn)換過(guò)程,這個(gè)過(guò)程稱(chēng)為采樣。
對(duì)媒體內(nèi)容進(jìn)行數(shù)字化主要有兩種方式:
- 時(shí)間采樣
捕捉一個(gè)信號(hào)周期內(nèi)的變化。 - 空間采樣
捕捉其亮度和色度,進(jìn)而創(chuàng)建由該圖片的像素點(diǎn)數(shù)據(jù)所構(gòu)成的數(shù)字化結(jié)果。
3.音頻&視頻采樣介紹
- 音頻信號(hào)
振幅 代表電壓的強(qiáng)度 或者 響應(yīng)信號(hào)的強(qiáng)度。
頻率 表示在一定周期內(nèi)振動(dòng)完成循環(huán)的次數(shù),單位是 赫茲(Hz)
人類(lèi)可以聽(tīng)到的音頻范圍是20Hz - 20kHz。
音頻數(shù)字化的過(guò)程包含一個(gè)編碼方式,稱(chēng)為“線性脈沖編碼調(diào)制” LPCM 或者 Linear PCM。
這個(gè)過(guò)程采樣或者測(cè)量一個(gè)固定的音頻信號(hào)的周期率稱(chēng)為采樣率。
- 視頻信號(hào)
視頻文件由一系列“幀”的圖片組成。
一秒內(nèi)所能展現(xiàn)的幀數(shù) 稱(chēng)為幀率,單位 FPS。
RGB
4.數(shù)字媒體壓縮
4.1 色彩二次抽樣
YUV
Y:亮度
UV:顏色
人的眼睛對(duì)亮度的敏感度高于顏色,所以減少顏色數(shù)據(jù),可以壓縮文件大小,這個(gè)過(guò)程稱(chēng)為色彩二次抽樣。
image.png
4.2 視頻編解碼器 -- H264
H264 在空間維度和 時(shí)間維度 縮小了視頻文件的尺寸;
- 空間:壓縮獨(dú)立視頻幀,稱(chēng)為幀內(nèi)壓縮。
- 時(shí)間:通過(guò)以組為單位的視頻幀壓縮冗余數(shù)據(jù),稱(chēng)為幀間壓縮。
幀內(nèi)壓縮:通過(guò)消除包含每個(gè)獨(dú)立視頻幀內(nèi)的色彩以及結(jié)構(gòu)中的冗余信息來(lái)進(jìn)行壓縮,通過(guò)這一過(guò)程創(chuàng)建的幀稱(chēng)為I幀(I-frames)關(guān)鍵幀
幀間壓縮 :一組幀(GOP)所在的時(shí)間維度的冗余可以被消除(如一組幀中固定的背景)
GOP
一組幀中存在三種類(lèi)型的幀:
- I-frames:?jiǎn)为?dú)的幀或關(guān)鍵幀,包含創(chuàng)建完整圖片需要的所有數(shù)據(jù)。每個(gè)GOP中有一個(gè)I-frames,它的尺寸最大,解壓最快。
- B-frames: 雙向幀,是基于使用之前和之后的幀信息進(jìn)行編碼后得到的幀。幾乎不需要存儲(chǔ)空間,但解壓時(shí)間長(zhǎng)。因?yàn)橐蕾?lài)周?chē)渌麕?/li>
- P-frames: 預(yù)測(cè)幀 ,是基于最近I-frames或者P-frames的可預(yù)測(cè)的圖片進(jìn)行編碼得到的。
4.3 音頻編解碼器
- AAC
高級(jí)音頻編碼是H.264標(biāo)準(zhǔn)相對(duì)應(yīng)的音頻處理方式。