音視頻編解碼

1没讲、涉及的系統(tǒng)框架:AVFoundation、VideoToolbox礁苗、CoreMedia爬凑、CoreVideo

2、主要對(duì)象:AVCaptureDevice试伙、AVCaptureSession嘁信、AVCaptureDeviceInput、AVCaptureVideoDataOutput疏叨、AVCaptureConnection潘靖、AVCaptureVideoPreviewLayer

3、關(guān)鍵C函數(shù):VTCompressionSessionCreate蚤蔓、CMVideoFormatDescriptionGetH264ParameterSetAtIndex(SPS卦溢、PPS)、CMBlockBufferGetDataPointer

4秀又、數(shù)據(jù)格式: header/sps + header/pps + header/NALU...

5单寂、編碼流程:創(chuàng)建session -> 設(shè)置編碼相關(guān)參數(shù)?->開始編碼?->循環(huán)獲取采集數(shù)據(jù)?->?獲取編碼后數(shù)據(jù) ?->?將數(shù)據(jù)寫入H264文件

6、相關(guān)屬性

kVTCompressionPropertyKey_RealTime:設(shè)置是否實(shí)時(shí)編碼

kVTProfileLevel_H264_Baseline_AutoLevel:表示使用H264的Profile規(guī)格,可以設(shè)置Hight的AutoLevel規(guī)格.

kVTCompressionPropertyKey_AllowFrameReordering:表示是否使用產(chǎn)生B幀數(shù)據(jù)(因?yàn)锽幀在解碼是非必要數(shù)據(jù),所以開發(fā)者可以拋棄B幀數(shù)據(jù))

kVTCompressionPropertyKey_MaxKeyFrameInterval: 表示關(guān)鍵幀的間隔,也就是我們常說的gop size.

kVTCompressionPropertyKey_ExpectedFrameRate: 表示設(shè)置幀率

kVTCompressionPropertyKey_AverageBitRate/kVTCompressionPropertyKey_DataRateLimits設(shè)置編碼輸出的碼率.

7吐辙、IPB幀及GOP概念

I幀: 幀內(nèi)編碼幀(intra picture),I幀通常是每個(gè)GOP(MPEG所使用的一種視頻壓縮技術(shù))的第一幀.經(jīng)過適度的壓縮.作為隨機(jī)訪問的參考點(diǎn),可以當(dāng)做靜態(tài)圖像.I幀可以看做一個(gè)圖像經(jīng)過壓縮后的產(chǎn)物.I幀壓縮可以得到6:1的壓縮比而不會(huì)產(chǎn)生任何可察覺的模糊現(xiàn)象.I幀壓縮去除了視頻空間的冗余信息.

P幀: 前后預(yù)測(cè)編碼幀(predictive-frame),通過將圖像序列中前面已編碼幀的時(shí)間冗余信息充分去除來壓縮傳輸數(shù)據(jù)量的編碼圖像.

B幀: 雙向預(yù)測(cè)編碼幀(bi-directional interpolated prediction frame),既要考慮源圖像序列前面已編碼幀,又要顧及源圖像序列后面的已編碼幀之間的時(shí)間冗余信息,來壓縮傳輸數(shù)據(jù)量的編碼圖像.

GOP:兩個(gè)I幀之間形成的一組圖片,就是GOP(Group of Picture).

通常在編碼器設(shè)置參數(shù)時(shí),必須會(huì)設(shè)置gop_size的值.其實(shí)就是代表2個(gè)I幀之間的幀數(shù)目. 在一個(gè)GOP組中容量最大的就是I幀.所以相對(duì)而言,gop_size設(shè)置的越大,整個(gè)視頻畫面質(zhì)量就會(huì)越好.但是解碼端必須從接收的第一個(gè)I幀開始才可以正確解碼出原始圖像.否則無法正確解碼.

8宣决、SPS/PPS

SPS/PPS實(shí)際上就是存儲(chǔ)GOP的參數(shù).

SPS: (Sequence Parameter Set,序列參數(shù)集)存放幀數(shù),參考幀數(shù)目,解碼圖像尺寸,幀場(chǎng)編碼模式選擇標(biāo)識(shí)等.

一組幀的參數(shù)集.

PPS:(Picture Parameter Set,圖像參數(shù)集).存放熵編碼模式選擇標(biāo)識(shí),片組數(shù)目,初始量化參數(shù)和去方塊濾波系數(shù)調(diào)整標(biāo)識(shí)等.(與圖像相關(guān)的信息)

熵編碼模式,片組數(shù)目等這些我們會(huì)在后面的內(nèi)容講解到.大家在這里主要了解到SPS/PPS即可.

大家只要記住,在一組幀之前我們首先收到的是SPS/PPS數(shù)據(jù).如果沒有這組參數(shù)的話,我們是無法解碼.

如果我們?cè)诮獯a時(shí)發(fā)生錯(cuò)誤,首先要檢查是否有SPS/PPS.如果沒有,是因?yàn)閷?duì)端沒有發(fā)送過來還是因?yàn)閷?duì)端在發(fā)送過程中丟失了.

SPS/PPS數(shù)據(jù),我們也把其歸類到I幀.這2組數(shù)據(jù)是絕對(duì)不能丟的.


參考文章:1、http://www.reibang.com/p/eccdcf43d7d2? ?2昏苏、http://www.reibang.com/p/6f4cc979169e?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末尊沸,一起剝皮案震驚了整個(gè)濱河市威沫,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌洼专,老刑警劉巖棒掠,帶你破解...
    沈念sama閱讀 222,183評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異壶熏,居然都是意外死亡句柠,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門棒假,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人精盅,你說我怎么就攤上這事帽哑。” “怎么了叹俏?”我有些...
    開封第一講書人閱讀 168,766評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵妻枕,是天一觀的道長。 經(jīng)常有香客問我粘驰,道長屡谐,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,854評(píng)論 1 299
  • 正文 為了忘掉前任蝌数,我火速辦了婚禮愕掏,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘顶伞。我一直安慰自己饵撑,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評(píng)論 6 398
  • 文/花漫 我一把揭開白布唆貌。 她就那樣靜靜地躺著滑潘,像睡著了一般。 火紅的嫁衣襯著肌膚如雪锨咙。 梳的紋絲不亂的頭發(fā)上语卤,一...
    開封第一講書人閱讀 52,457評(píng)論 1 311
  • 那天,我揣著相機(jī)與錄音酪刀,去河邊找鬼粹舵。 笑死,一個(gè)胖子當(dāng)著我的面吹牛蓖宦,可吹牛的內(nèi)容都是我干的齐婴。 我是一名探鬼主播,決...
    沈念sama閱讀 40,999評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼稠茂,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼柠偶!你這毒婦竟也來了情妖?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,914評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤诱担,失蹤者是張志新(化名)和其女友劉穎毡证,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蔫仙,經(jīng)...
    沈念sama閱讀 46,465評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡料睛,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了摇邦。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片恤煞。...
    茶點(diǎn)故事閱讀 40,675評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖施籍,靈堂內(nèi)的尸體忽然破棺而出居扒,到底是詐尸還是另有隱情,我是刑警寧澤丑慎,帶...
    沈念sama閱讀 36,354評(píng)論 5 351
  • 正文 年R本政府宣布喜喂,位于F島的核電站,受9級(jí)特大地震影響竿裂,放射性物質(zhì)發(fā)生泄漏玉吁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評(píng)論 3 335
  • 文/蒙蒙 一腻异、第九天 我趴在偏房一處隱蔽的房頂上張望进副。 院中可真熱鬧,春花似錦捂掰、人聲如沸敢会。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鸥昏。三九已至,卻和暖如春姐帚,著一層夾襖步出監(jiān)牢的瞬間吏垮,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評(píng)論 1 274
  • 我被黑心中介騙來泰國打工罐旗, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留膳汪,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,091評(píng)論 3 378
  • 正文 我出身青樓九秀,卻偏偏與公主長得像遗嗽,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子鼓蜒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評(píng)論 2 360