前言
2020年靠汁,直播帶貨又把直播的技術(shù)重燃了一把火蜂大。回望一下幾年前膀曾,我們在手機上閱讀方式县爬,還只是圖文;如看小說添谊、讀新聞财喳,學(xué)習(xí)還是書本(包括電子書)。再看一下現(xiàn)在斩狱,大家的閱讀方式耳高,早已經(jīng)變成了視頻或者音頻;看動畫所踊、聽小說泌枪、看視頻教程。音視頻秕岛、流媒體碌燕,我們需要打好這門功課的基礎(chǔ)。因為從前人的經(jīng)驗看继薛,越到后面修壕,越會發(fā)現(xiàn),這些真是太重要遏考,都是提升高度越不過的東西慈鸠。
1. 流媒體(Streaming media)
是指將一連串的多媒體資料壓縮后,經(jīng)過互聯(lián)網(wǎng)分段發(fā)送資料灌具,在互聯(lián)網(wǎng)上即時傳輸影音以供觀賞的一種技術(shù)與過程青团,此技術(shù)使得資料數(shù)據(jù)包得以像流水一樣發(fā)送譬巫,如果不使用此技術(shù),就必須在使用前下載整個媒體文件督笆。
實時流媒體是指互聯(lián)網(wǎng)內(nèi)容的實時傳輸芦昔,就像電視直播通過電視信號在電波上播放內(nèi)容一樣∨痔冢互聯(lián)網(wǎng)流媒體直播需要一種形式的源媒體(如攝像機烟零、音頻接口瘪松、屏幕捕捉軟件)咸作、將內(nèi)容數(shù)字化的編碼器、媒體發(fā)布者和內(nèi)容傳輸網(wǎng)絡(luò)來分發(fā)和傳遞內(nèi)容宵睦。直播流媒體不需要在源點進行錄制记罚,盡管經(jīng)常需要錄制。[wiki]
直播壳嚎、會議桐智、音視頻通話都是屬于實時流媒體的概念。從這個概念上烟馅,我們看出流媒體這個過程有三個方面(1)壓縮说庭;(2)分段傳輸;(3)接收組裝顯示郑趁。我們做一個比喻刊驴,我們要把西天取到的真經(jīng)快遞發(fā)送給佛祖。這個真經(jīng)實在是太多了寡润,我們必須要分成小部分捆憎,分開發(fā)送。發(fā)送的時候梭纹,我們怕這個真經(jīng)損壞躲惰,所以一般要加包裝。經(jīng)過包裝的部分真經(jīng)变抽,到達佛祖那里之后础拨,佛祖就要將包裝打開,將真經(jīng)拼在一起閱讀绍载。這個實際上就是這個流媒體的過程诡宗,先將音頻和視頻編碼(壓縮),再以某以長度進行包裝逛钻,包裝盒子就是我們的封裝格式僚焦,是為了便于傳輸和保護數(shù)據(jù)。到達觀看端之后曙痘,先解開封裝芳悲,再解碼立肘,最后讀取并顯示音視頻數(shù)據(jù)。
我們可以用下面的圖來表示一個流媒體或者文件播放歷經(jīng)的過程:
[圖片上傳失敗...(image-660f81-1611796514451)]
<figcaption style="box-sizing: border-box; list-style: inherit; margin: 10px auto 16px; font-size: 14px; text-align: center; color: rgb(102, 102, 102); max-width: 61.8%;">流媒體示意圖</figcaption>
(1)采集名扛;通過手機攝像機或者電腦采集音頻和視頻的信息谅年;
(2)編碼及封裝;編碼為了壓縮肮韧,封裝之后便于傳輸
(3)網(wǎng)絡(luò)上進行傳輸
(4)到達接收端之后融蹂,首先需要解封裝(demux)
(5)然后進行解碼得到原始的音視頻數(shù)據(jù)
(6)進行音視頻同步
(7)最后視頻渲染到界面上,音頻進行播放
2. 音視頻封裝格式
封裝格式(也叫容器)弄企,就是將已經(jīng)編碼壓縮好的視頻軌和音頻軌按照一定的格式放到一個文件中超燃,也就是說僅僅是一個外殼,或者大家把它當成一個放視頻軌和音頻軌的文件夾也可以拘领。說得通俗點意乓,視頻軌相當于飯,而音頻軌相當于菜约素,封裝格式就是一個碗届良,或者一個鍋,用來盛放飯菜的容器圣猎。 下面是幾種常用的 視頻文件后綴類型 與其相對應(yīng)的 封裝格式士葫。[音視頻學(xué)習(xí)(一)-- 基礎(chǔ)知識準備]
|
視頻文件格式
|
視頻封裝格式
|
| --- | --- |
|
.avi
|
AVI(Audio Video Interleaved)
|
|
.wmv、.asf
|
WMV(Windows Media Video)
|
|
.mpg送悔、.mpeg慢显、.vob、.dat放祟、.3gp鳍怨、.mp4
|
MPEG(Moving Picture Experts Group)
|
|
.mkv
|
Matroska
|
|
.rm、.rmvb
|
Real Video
|
|
.mov
|
QuickTime File Format
|
|
.flv
|
Flash Video
|
- (1)跪妥、AVI 格式鞋喇,對應(yīng)的文件格式為 .avi,全稱 Audio Video Interleaved眉撵,是由 Microsoft 公司于 1992 年推出侦香。這種視頻格式的優(yōu)點是圖像質(zhì)量好,無損 AVI 可保存 alpha 通道纽疟。缺點是體積過于龐大罐韩,并且壓縮標準不統(tǒng)一,存在較多的高低版本兼容問題污朽。
- (2)散吵、DV-AVI 格式,對應(yīng)的文件格式為 .avi,英文全稱 Digital Video Format矾睦,是由索尼晦款、松下、JVC 等多家廠商聯(lián)合提出的一種家用數(shù)字視頻格式枚冗。常見的數(shù)碼攝像機就是使用這種格式記錄視頻數(shù)據(jù)的缓溅。它可以通過電腦的 IEEE 1394 端口傳輸視頻數(shù)據(jù)到電腦,也可以將電腦中編輯好的的視頻數(shù)據(jù)回錄到數(shù)碼攝像機中赁温。
- (3)坛怪、WMV 格式,對應(yīng)的文件格式是 .wmv股囊、.asf袜匿,英文全稱 Windows Media Video,是微軟推出的一種采用獨立編碼方式并且可以直接在網(wǎng)上實時觀看視頻節(jié)目的文件壓縮格式毁涉。在同等視頻質(zhì)量下沉帮,WMV 格式的文件可以邊下載邊播放,因此很適合在網(wǎng)上播放和傳輸贫堰。
- (4)、MPEG 格式待牵,對應(yīng)的文件格式有 .mpg其屏、.mpeg、.mpe缨该、.dat偎行、.vob、.asf贰拿、.3gp蛤袒、.mp4 等等,英文全稱 Moving Picture Experts Group膨更,是由運動圖像專家組制定的視頻格式妙真,該專家組于 1988 年組建,專門負責(zé)視頻和音頻標準制定荚守,其成員都是視頻珍德、音頻以及系統(tǒng)領(lǐng)域的技術(shù)專家。MPEG 格式目前有三個壓縮標準矗漾,分別是 MPEG-1锈候、MPEG-2、和 MPEG-4敞贡。MPEG-4 是現(xiàn)在用的比較多的視頻封裝格式泵琳,它為了播放流式媒體的高質(zhì)量視頻而專門設(shè)計的,以求使用最少的數(shù)據(jù)獲得最佳的圖像質(zhì)量。
- (5)获列、Matroska 格式琳钉,對應(yīng)的文件格式是 .mkv,Matroska 是一種新的視頻封裝格式蛛倦,它可將多種不同編碼的視頻及 16 條以上不同格式的音頻和不同語言的字幕流封裝到一個 Matroska Media 文件當中歌懒。
- (6)、Real Video 格式溯壶,對應(yīng)的文件格式是 .rm及皂、.rmvb,是 Real Networks 公司所制定的音頻視頻壓縮規(guī)范稱為 Real Media且改。用戶可以使用 RealPlayer 根據(jù)不同的網(wǎng)絡(luò)傳輸速率制定出不同的壓縮比率验烧,從而實現(xiàn)在低速率的網(wǎng)絡(luò)上進行影像數(shù)據(jù)實時傳送和播放。
- (7)又跛、QuickTime File Format 格式碍拆,對應(yīng)的文件格式是 .mov,是 Apple 公司開發(fā)的一種視頻格式慨蓝,默認的播放器是蘋果的 QuickTime感混。這種封裝格式具有較高的壓縮比率和較完美的視頻清晰度等特點,并可以保存 alpha 通道礼烈。
- (8)弧满、Flash Video 格式,對應(yīng)的文件格式是 .flv此熬,是由 Adobe Flash 延伸出來的一種網(wǎng)絡(luò)視頻封裝格式庭呜。這種格式被很多視頻網(wǎng)站所采用。
另外犀忱,在wiki上有比較全面的比較
視頻封裝格式比較(Comparison of video container formats)
視頻編碼比較(Comparison of video codecs)
3. 音視頻編碼方式簡介
之所以會有視頻編碼是因為一個視頻募谎,如果未經(jīng)編碼,它的體積是非常龐大的阴汇。
以一個分辨率1920×1280数冬,幀率30的視頻為例。1920×1280=2,073,600(Pixels 像素)每個像素點是24bit(RGB888)也就是每幅圖片為 2073600×24=49766400bit鲫寄, 8 bit(位)=1 byte(字節(jié))吉执,所以,49766400bit=6220800byte≈6.22MB地来。
這是一幅1920×1280圖片的原始大小戳玫,再乘以幀率30,也就是說未斑,每秒視頻的大小是186.6MB咕宿,每分鐘大約是11GB,一部90分鐘的電影,約是1000GB府阀。所以必須要對視頻編碼缆镣。
編碼,就是按指定的方法试浙,將信息從一種形式(格式)董瞻,轉(zhuǎn)換成另一種形式(格式)。
視頻編碼田巴,就是將一種視頻格式钠糊,轉(zhuǎn)換成另一種視頻格式。
[圖片上傳失敗...(image-379965-1611796514451)]
<figcaption style="box-sizing: border-box; list-style: inherit; margin: 10px auto 16px; font-size: 14px; text-align: center; color: rgb(102, 102, 102); max-width: 61.8%;">編碼示意圖</figcaption>
編碼的終極目的壹哺,說白了抄伍,就是為了壓縮。各種五花八門的視頻編碼方式管宵,都是為了讓視頻變得體積更小截珍,有利于存儲和傳輸。[從.JPG到.AVI:視頻編碼最強入門科普]
3.1 視頻編碼格式
- 視頻編碼的作用: 將視頻像素數(shù)據(jù)(RGB箩朴,YUV 等)壓縮成視頻碼流岗喉,從而降低視頻的數(shù)據(jù)量。[參考總結(jié)]
|
名稱
|
推出機構(gòu)
|
推出時間
|
目前使用領(lǐng)域
|
| --- | --- | --- | --- |
|
HEVC(H.265)
|
MPEG/ITU-T
|
2013
|
研發(fā)中
|
|
H.264
|
MPEG/ITU-T
|
2003
|
各個領(lǐng)域
|
|
MPEG4
|
MPEG
|
2001
|
不溫不火
|
|
MPEG2
|
MPEG
|
1994
|
數(shù)字電視
|
|
VP9
|
|
2013
|
研發(fā)中
|
|
VP8
|
|
2008
|
不普及
|
|
VC-1
|
Microsoft Inc.
|
2006
|
微軟平臺
|
(1)隧饼、H.26X 系列
H.26X 由國際電傳視訊聯(lián)盟遠程通信標準化組織(ITU-T)主導(dǎo)沈堡,包括 H.261、H.262燕雁、H.263、H.264鲸拥、H.265拐格。
- H.261,主要用于老的視頻會議和視頻電話系統(tǒng)刑赶。是第一個使用的數(shù)字視頻壓縮標準捏浊。實質(zhì)上說,之后的所有的標準視頻編解碼器都是基于它設(shè)計的撞叨。
- H.262金踪,等同于 MPEG-2 第二部分,使用在 DVD牵敷、SVCD 和大多數(shù)數(shù)字視頻廣播系統(tǒng)和有線分布系統(tǒng)中胡岔。
- H.263,主要用于視頻會議枷餐、視頻電話和網(wǎng)絡(luò)視頻相關(guān)產(chǎn)品靶瘸。在對逐行掃描的視頻源進行壓縮的方面,H.263 比它之前的視頻編碼標準在性能上有了較大的提升。尤其是在低碼率端怨咪,它可以在保證一定質(zhì)量的前提下大大的節(jié)約碼率屋剑。
- H.264,等同于 MPEG-4 第十部分诗眨,也被稱為高級視頻編碼(Advanced Video Coding唉匾,簡稱 AVC),是一種視頻壓縮標準匠楚,一種被廣泛使用的高精度視頻的錄制巍膘、壓縮和發(fā)布格式。該標準引入了一系列新的能夠大大提高壓縮性能的技術(shù)油啤,并能夠同時在高碼率端和低碼率端大大超越以前的諸標準典徘。
- H.265,被稱為高效率視頻編碼(High Efficiency Video Coding益咬,簡稱 HEVC)是一種視頻壓縮標準逮诲,是 H.264 的繼任者。HEVC 被認為不僅提升圖像質(zhì)量幽告,同時也能達到 H.264 兩倍的壓縮率(等同于同樣畫面質(zhì)量下比特率減少了 50%)梅鹦,可支持 4K 分辨率甚至到超高畫質(zhì)電視,最高分辨率可達到 8192×4320(8K 分辨率)冗锁,這是目前發(fā)展的趨勢运挫。
(2)、MPEG 系列
MPEG 系列由國際標準組織機構(gòu)(ISO)下屬的運動圖象專家組(MPEG)開發(fā)忘闻。
- MPEG-1 第二部分棒动,主要使用在 VCD 上,有些在線視頻也使用這種格式叨叙。該編解碼器的質(zhì)量大致上和原有的 VHS 錄像帶相當锭弊。
- MPEG-2 第二部分,等同于 H.262擂错,使用在 DVD味滞、SVCD 和大多數(shù)數(shù)字視頻廣播系統(tǒng)和有線分布系統(tǒng)中。
- MPEG-4 第二部分钮呀,可以使用在網(wǎng)絡(luò)傳輸剑鞍、廣播和媒體存儲上。比起 MPEG-2 第二部分和第一版的 H.263爽醋,它的壓縮性能有所提高蚁署。
- MPEG-4 第十部分,等同于 H.264子房,是這兩個編碼組織合作誕生的標準形用。
3.2 音頻編碼方式
音頻編碼的作用: 將音頻采樣數(shù)據(jù)(PCM 等)壓縮成音頻碼流就轧,從而降低音頻的數(shù)據(jù)量。 常用的音頻編碼方式有以下幾種:
|
名稱
|
推出機構(gòu)
|
推出時間
|
目前使用領(lǐng)域
|
| --- | --- | --- | --- |
|
AAC
|
MPEG
|
1997
|
各個領(lǐng)域(新)
|
|
MP3
|
MPEG
|
1993
|
各個領(lǐng)域(舊)
|
|
WMV
|
Microsoft Inc.
|
1999
|
微軟平臺
|
|
AC-3
|
Dolby Inc.
|
1992
|
電影
|
在wiki上有比較全面的比較 音頻編碼格式比較
(1)MP3
MP3田度,英文全稱 MPEG-1 or MPEG-2 Audio Layer III妒御,是曾經(jīng)非常流行的一種數(shù)字音頻編碼和有損壓縮格式,它被設(shè)計來大幅降低音頻數(shù)據(jù)量镇饺。它是在 1991 年乎莉,由位于德國埃爾朗根的研究組織 Fraunhofer-Gesellschaft 的一組工程師發(fā)明和標準化的。MP3 的普及奸笤,曾對音樂產(chǎn)業(yè)造成極大的沖擊與影響惋啃。
(2) AAC
AAC,英文全稱 Advanced Audio Coding监右,是由 Fraunhofer IIS边灭、杜比實驗室、AT&T健盒、Sony 等公司共同開發(fā)绒瘦,在 1997 年推出的基于 MPEG-2 的音頻編碼技術(shù)。2000 年扣癣,MPEG-4 標準出現(xiàn)后惰帽,AAC 重新集成了其特性,加入了 SBR 技術(shù)和 PS 技術(shù)父虑,為了區(qū)別于傳統(tǒng)的 MPEG-2 AAC 又稱為 MPEG-4 AAC该酗。 AAC 比 MP3 有更高的壓縮比,同樣大小的音頻文件士嚎,AAC 的音質(zhì)更高呜魄。
(3)WMA
WMA,英文全稱 Windows Media Audio莱衩,由微軟公司開發(fā)的一種數(shù)字音頻壓縮格式耕赘,本身包括有損和無損壓縮格式。