iOS 音視頻編解碼基本概念(一)

  • 先來(lái)看看視頻里面到底有什么

視頻內(nèi)容

內(nèi)容元素:

  • 圖像(Image)

  • ?頻(Audio)

  • 元信息(Metadata)

  • 編碼格式: ? Video: H264

  • Audio: AAC

  • 容器封裝: ? MP4/MOV/FLV/RM/RMVB/AVI

  • .視頻相關(guān)基礎(chǔ)概念

    • 1.視頻文件格式

      相信大家平時(shí)接觸的word文件后面帶的.doc,圖片后綴帶有.png/.jpg等,我們常見(jiàn)的視頻文件后綴有:.mov、.avi、.mpg、.vob、.mkv、.rm、.rmvb 等等。這些后綴名通常在操作系統(tǒng)上用相應(yīng)的應(yīng)用程序打開(kāi),比如.doc用word打開(kāi)。對(duì)于視頻來(lái)說(shuō),為什么會(huì)有這么多的文件格式了,那是因?yàn)橥ㄟ^(guò)了不同的方式來(lái)實(shí)現(xiàn)了視頻這件事---------視頻的封裝格式。
  • 2.視頻的封裝格式

    視頻封裝格式,通常我們把它稱作為視頻格式,它相當(dāng)于一種容器,比如可樂(lè)的瓶子,礦泉水瓶等等。它里面包含了視頻的相關(guān)信息(視頻信息,音頻信息,解碼方式等等),一種封裝格式直接反應(yīng)了視頻的文件格式,封裝格式:就是將已經(jīng)編碼壓縮好的視頻數(shù)據(jù) 和音頻數(shù)據(jù)按照一定的格式放到一個(gè)文件中.這個(gè)文件可以稱為容器. 當(dāng)然可以理解為這只是一個(gè)外殼.通常我們不僅僅只存放音頻數(shù)據(jù)和視頻數(shù)據(jù),還會(huì)存放 一下視頻同步的元數(shù)據(jù).例如字幕.這多種數(shù)據(jù)會(huì)不同的程序來(lái)處理,但是它們?cè)趥鬏敽痛鎯?chǔ)的時(shí)候,這多種數(shù)據(jù)都是被綁定在一起的.

常見(jiàn)的格式
  • 相關(guān)視頻封裝格式的優(yōu)缺點(diǎn):

    • 1.AVI 格式:這種視頻格式的優(yōu)點(diǎn)是圖像質(zhì)量好,無(wú)損 AVI 可以保存 alpha 通道。缺點(diǎn)是體積過(guò)于龐大,并且壓縮標(biāo)準(zhǔn)不統(tǒng)一,存在較多的高低版本兼容問(wèn)題。
    • 2.WMV 格式:可以直接在網(wǎng)上實(shí)時(shí)觀看視頻節(jié)目的文件壓縮格式。在同等視頻質(zhì)量下,WMV 格式的文件可以邊下載邊播放,因此很適合在網(wǎng)上播放和傳輸。
    • 3.MPEG 格式:為了播放流式媒體的高質(zhì)量視頻而專門(mén)設(shè)計(jì)的,以求使用最少的數(shù)據(jù)獲得最佳的圖像質(zhì)量。
    • 4.Matroska 格式:是一種新的視頻封裝格式,它可將多種不同編碼的視頻及 16 條以上不同格式的音頻和不同語(yǔ)言的字幕流封裝到一個(gè) Matroska Media 文件當(dāng)中。
    • 5.Real Video 格式:用戶可以使用 RealPlayer 根據(jù)不同的網(wǎng)絡(luò)傳輸速率制定出不同的壓縮比率,從而實(shí)現(xiàn)在低速率的網(wǎng)絡(luò)上進(jìn)行影像數(shù)據(jù)實(shí)時(shí)傳送和播放。
    • 6.QuickTime File Format 格式:是 Apple 公司開(kāi)發(fā)的一種視頻格式,默認(rèn)的播放器是蘋(píng)果的 QuickTime。這種封裝格式具有較高的壓縮比率和較完美的視頻清晰度等特點(diǎn),并可以保存 alpha 通道。
    • 7.Flash Video 格式: Adobe Flash 延伸出來(lái)的一種網(wǎng)絡(luò)視頻封裝格式。這種格式被很多視頻網(wǎng)站所采用。
  • 視頻的編碼格式

  • 視頻編解碼的過(guò)程是指對(duì)數(shù)字視頻進(jìn)行壓縮或解壓縮的一個(gè)過(guò)程.在做視頻編解碼時(shí),需要考慮以下這些因素的平衡:

    • 視頻的質(zhì)量、
    • 用來(lái)表示視頻所需要的數(shù)據(jù)量(通常稱之為碼率)、
    • 編碼算法和解碼算法的復(fù)雜度
    • 針對(duì)數(shù)據(jù)丟失和錯(cuò)誤的魯棒性(Robustness)
    • 編輯的方便性
    • 隨機(jī)訪問(wèn)
    • 編碼算法設(shè)計(jì)的完美性
    • 端到端的延時(shí)以及其它一些因素
  • 常見(jiàn)的編碼方式:

  • H.26X 系列,由國(guó)際電傳視訊聯(lián)盟遠(yuǎn)程通信標(biāo)準(zhǔn)化組織(ITU-T)主導(dǎo),包括 H.261、H.262、H.263、H.264、H.265

    • H.261,主要用于老的視頻會(huì)議和視頻電話系統(tǒng)。是第一個(gè)使用的數(shù)字視頻壓縮標(biāo)準(zhǔn)。實(shí)質(zhì)上說(shuō),之后的所有的標(biāo)準(zhǔn)視頻編解碼器都是基于它設(shè)計(jì)的。
    • H.262,等同于 MPEG-2 第二部分,使用在 DVD、SVCD 和大多數(shù)數(shù)字視頻廣播系統(tǒng)和有線分布系統(tǒng)中。
    • H.263,主要用于視頻會(huì)議、視頻電話和網(wǎng)絡(luò)視頻相關(guān)產(chǎn)品。在對(duì)逐行掃描的視頻源進(jìn)行壓縮的方面,H.263 比它之前的視頻編碼標(biāo)準(zhǔn)在性能上有了較大的提升。尤其是在低碼率端,它可以在保證一定質(zhì)量的前提下大大的節(jié)約碼率。
    • H.264,等同于 MPEG-4 第十部分,也被稱為高級(jí)視頻編碼(Advanced Video Coding,簡(jiǎn)稱 AVC),是一種視頻壓縮標(biāo)準(zhǔn),一種被廣泛使用的高精度視頻的錄制、壓縮和發(fā)布格式。該標(biāo)準(zhǔn)引入了一系列新的能夠大大提高壓縮性能的技術(shù),并能夠同時(shí)在高碼率端和低碼率端大大超越以前的諸標(biāo)準(zhǔn)。
    • H.265,被稱為高效率視頻編碼(High Efficiency Video Coding,簡(jiǎn)稱 HEVC)是一種視頻壓縮標(biāo)準(zhǔn),是 H.264 的繼任者。HEVC 被認(rèn)為不僅提升圖像質(zhì)量,同時(shí)也能達(dá)到 H.264 兩倍的壓縮率(等同于同樣畫(huà)面質(zhì)量下比特率減少了 50%),可支持 4K 分辨率甚至到超高畫(huà)質(zhì)電視,最高分辨率可達(dá)到 8192×4320(8K 分辨率),這是目前發(fā)展的趨勢(shì)。
  • 當(dāng)前不建議用H.265是因?yàn)樘^(guò)于消耗CPU,而且目前H.264已經(jīng)滿足了大多的視頻需求,雖然H.265是H.264的升級(jí)版,期待后續(xù)硬件跟上

  • MPEG 系列,由國(guó)際標(biāo)準(zhǔn)組織機(jī)構(gòu)(ISO)下屬的運(yùn)動(dòng)圖象專家組(MPEG)開(kāi)發(fā)。

    • MPEG-1 第二部分,主要使用在 VCD 上,有些在線視頻也使用這種格式。該編解碼器的質(zhì)量大致上和原有的 VHS 錄像帶相當(dāng)。
    • MPEG-2 第二部分,等同于 H.262,使用在 DVD、SVCD 和大多數(shù)數(shù)字視頻廣播系統(tǒng)和有線分布系統(tǒng)中。
    • MPEG-4 第二部分,可以使用在網(wǎng)絡(luò)傳輸、廣播和媒體存儲(chǔ)上。比起 MPEG-2 第二部分和第一版的 H.263,它的壓縮性能有所提高。
    • MPEG-4 第十部分,等同于 H.264,是這兩個(gè)編碼組織合作誕生的標(biāo)準(zhǔn)。
      其他,AMV、AVS、Bink、CineForm 等等,這里就不做多的介紹了。
  • 可以把「視頻封裝格式」看做是一個(gè)裝著視頻、音頻、「視頻編解碼方式」等信息的容器。一種「視頻封裝格式」可以支持多種「視頻編解碼方式」,比如:QuickTime File Format(.MOV) 支持幾乎所有的「視頻編解碼方式」,MPEG(.MP4) 也支持相當(dāng)廣的「視頻編解碼方式」。當(dāng)我們看到一個(gè)視頻文件名為 test.mov 時(shí),我們可以知道它的「視頻文件格式」是 .mov,也可以知道它的視頻封裝格式是 QuickTime File Format,但是無(wú)法知道它的「視頻編解碼方式」。那比較專業(yè)的說(shuō)法可能是以 A/B 這種方式,A 是「視頻編解碼方式」,B 是「視頻封裝格式」。比如:一個(gè) H.264/MOV 的視頻文件,它的封裝方式就是 QuickTime File Format,編碼方式是 H.264

  • 音頻編碼方式

    • 視頻中除了畫(huà)面通常還有聲音,所以這就涉及到音頻編解碼。在視頻中經(jīng)常使用的音頻編碼方式有

    • AAC,英文全稱 Advanced Audio Coding,是由 Fraunhofer IIS、杜比實(shí)驗(yàn)室、AT&T、Sony等公司共同開(kāi)發(fā),在 1997 年推出的基于 MPEG-2 的音頻編碼技術(shù)。2000 年,MPEG-4 標(biāo)準(zhǔn)出現(xiàn)后,AAC 重新集成了其特性,加入了 SBR 技術(shù)和 PS 技術(shù),為了區(qū)別于傳統(tǒng)的 MPEG-2 AAC 又稱為 MPEG-4 AAC。

    • MP3,英文全稱 MPEG-1 or MPEG-2 Audio Layer III,是當(dāng)曾經(jīng)非常流行的一種數(shù)字音頻編碼和有損壓縮格式,它被設(shè)計(jì)來(lái)大幅降低音頻數(shù)據(jù)量。它是在 1991 年,由位于德國(guó)埃爾朗根的研究組織 Fraunhofer-Gesellschaft 的一組工程師發(fā)明和標(biāo)準(zhǔn)化的。MP3 的普及,曾對(duì)音樂(lè)產(chǎn)業(yè)造成極大的沖擊與影響。

    • WMA,英文全稱 Windows Media Audio,由微軟公司開(kāi)發(fā)的一種數(shù)字音頻壓縮格式,本身包括有損和無(wú)損壓縮格式。

直播/小視頻中的編碼格式

  • 視頻編碼格式

    • H264編碼的優(yōu)勢(shì):
      低碼率
      高質(zhì)量的圖像
      容錯(cuò)能力強(qiáng)
      網(wǎng)絡(luò)適應(yīng)性強(qiáng)
  • 總結(jié): H264最大的優(yōu)勢(shì),具有很高的數(shù)據(jù)壓縮比率,在同等圖像質(zhì)量下,H264的壓縮比是MPEG-2的2倍以上,MPEG-4的1.5~2倍.
    舉例: 原始文件的大小如果為88GB,采用MPEG-2壓縮標(biāo)準(zhǔn)壓縮后變成3.5GB,壓縮比為25∶1,而采用H.264壓縮標(biāo)準(zhǔn)壓縮后變?yōu)?79MB,從88GB到879MB,H.264的壓縮比達(dá)到驚人的102∶1
    音頻編碼格式:

  • AAC是目前比較熱門(mén)的有損壓縮編碼技術(shù),并且衍生了LC-AAC,HE-AAC,HE-AAC v2 三種主要編碼格式.

  • LC-AAC 是比較傳統(tǒng)的AAC,主要應(yīng)用于中高碼率的場(chǎng)景編碼(>= 80Kbit/s)

  • HE-AAC 主要應(yīng)用于低碼率場(chǎng)景的編碼(<= 48Kbit/s)

  • 優(yōu)勢(shì):在小于128Kbit/s的碼率下表現(xiàn)優(yōu)異,并且多用于視頻中的音頻編碼,適合場(chǎng)景:于128Kbit/s以下的音頻編碼,多用于視頻中的音頻軌的編碼

關(guān)于H264

  • H.264 是現(xiàn)在廣泛采用的一種編碼方式。關(guān)于 H.264 相關(guān)的概念,從大到小排序依次是:序列、圖像、片組、片、NALU、宏塊、亞宏塊、塊、像素。

  • 圖像

    • H.264 中,「圖像」是個(gè)集合的概念,幀、頂場(chǎng)、底場(chǎng)都可以稱為圖像。一幀通常就是一幅完整的圖像。

當(dāng)采集視頻信號(hào)時(shí),如果采用逐行掃描,則每次掃描得到的信號(hào)就是一副圖像,也就是一幀。

當(dāng)采集視頻信號(hào)時(shí),如果采用隔行掃描(奇、偶數(shù)行),則掃描下來(lái)的一幀圖像就被分為了兩個(gè)部分,這每一部分就稱為「場(chǎng)」,根據(jù)次序分為:「頂場(chǎng)」和「底場(chǎng)」。

「幀」和「場(chǎng)」的概念又帶來(lái)了不同的編碼方式:幀編碼、場(chǎng)編碼逐行掃描適合于運(yùn)動(dòng)圖像,所以對(duì)于運(yùn)動(dòng)圖像采用幀編碼更好;隔行掃描適合于非運(yùn)動(dòng)圖像,所以對(duì)于非運(yùn)動(dòng)圖像采用場(chǎng)編碼更好


image.png
  • 紅色代表奇數(shù)行,綠色代表偶數(shù)行

  • 片(Slice),每一幀圖像可以分為多個(gè)片

網(wǎng)絡(luò)提取層單元(NALU, Network Abstraction Layer Unit),
NALU 是用來(lái)將編碼的數(shù)據(jù)進(jìn)行打包的,一個(gè)分片(Slice)可以編碼到一個(gè) NALU 單元。不過(guò)一個(gè) NALU 單元中除了容納分片(Slice)編碼的碼流外,還可以容納其他數(shù)據(jù),比如序列參數(shù)集 SPS。對(duì)于客戶端其主要任務(wù)則是接收數(shù)據(jù)包,從數(shù)據(jù)包中解析出 NALU 單元,然后進(jìn)行解碼播放。

宏塊(Macroblock),分片是由宏塊組成。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,702評(píng)論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,143評(píng)論 3 415
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 175,553評(píng)論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 62,620評(píng)論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,416評(píng)論 6 405
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 54,940評(píng)論 1 321
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,024評(píng)論 3 440
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 42,170評(píng)論 0 287
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,709評(píng)論 1 333
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,597評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,784評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,291評(píng)論 5 357
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,029評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 34,407評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 35,663評(píng)論 1 280
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,403評(píng)論 3 390
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,746評(píng)論 2 370