小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

視頻技術(shù)基礎(chǔ)

 xbyfxys 2016-12-31

在線直播可以說從去年開始變成了一個火爆的創(chuàng)業(yè)領(lǐng)域,一下子出來了很多做視頻直播的公司。但說實話這方面的技術(shù)書籍實在是非常的少,網(wǎng)上的資料也很零散,所以我決定寫一些列介紹視頻技術(shù)的文章。今天這篇文章先對視頻技術(shù)中的基礎(chǔ)概念做一些簡單的總結(jié)。

你所能看到的視頻

現(xiàn)在可能大部分人都直接用瀏覽器在視頻網(wǎng)站上看視頻了,已經(jīng)不太能看到視頻的后綴名之類的東西了。但是如果是把視頻下載到本地觀看的話,是可以看到視頻文件的后綴的。這也就是我們平時所說的視頻格式。目前比較主流的視頻格式有下面這幾種:avi,rmvb,mp4,flv,mkv等等。這里面作為的視頻格式實際上是指視頻的封裝格式指的是以什么方式把視頻和音頻數(shù)據(jù)打包成一個文件,所一個這個封裝格式其實與視頻和音頻采用什么方式編碼沒有什么關(guān)系??偟膩碚f,不同的封裝格式之間差距不大,各有優(yōu)劣。

注:有些封裝格式支持的視音頻編碼標(biāo)準(zhǔn)十分廣泛,應(yīng)該算比較優(yōu)秀的封裝格式,比如MKV;而有些封裝格式支持的視音頻編碼標(biāo)準(zhǔn)很少,應(yīng)該屬于落后的封裝格式,比如RMVB。

封裝格式

封裝格式的主要作用是把視頻碼流和音頻碼流按照一定的格式存儲在一個文件中?,F(xiàn)如今流行的封裝格式如下表所示:

格式推出機構(gòu)流媒體支持的視頻編碼支持音頻編碼格式應(yīng)用領(lǐng)域
AVIMirosoft Inc.不支持幾乎所有幾乎所有下載的視頻文件(現(xiàn)在可能很少見到)
MP4MPEG支持MPEG-2、MPEG-4、H.264AAC,MPEG-1 Layers I, II, III、AC-3等互聯(lián)網(wǎng)視頻
TSMPEG支持MPEG-2、MPEG-4、H.264AAC,MPEG-1 Layers I, II, III互聯(lián)網(wǎng)視頻、IPTV、數(shù)字電視
FLVAdobe Inc.支持Sorenson、VP6、H264MP3,ADPCM,Linear PCM、AAC等互聯(lián)網(wǎng)視頻
MKVCoreCodec Inc.支持幾乎所有幾乎所有互聯(lián)網(wǎng)視頻
RMVBReal Networks Inc.支持RealVideo 8,9,10AAC、Cook Codec、RealAudio Lossless下載的視頻文件

除了AVI之外,幾乎所有的封裝格式都支持流媒體播放,也就是“邊下邊播放”。什么叫封裝可能現(xiàn)在理解起來比較抽象,下面我會詳細(xì)講解什么是封裝以及什么是編碼,以及他們之間的關(guān)系。

視頻編碼格式

了解了視頻的封裝格式后,如果剝離視頻的封裝格式后,就可以看到真正的視頻數(shù)據(jù),這些視頻數(shù)據(jù)會有不同的編碼格式。什么是編碼格式呢?

我們平時所看到的視頻,理論上就是一幀幀的圖片連續(xù)的播放,形成動畫效果。那么完整的保存所有圖片,一部電影可能就要上百G的空間。視頻編碼就是為了壓縮這些圖片,以節(jié)省空間。我先講一下簡單的理論,比如一秒鐘的視頻通常有24幀,這24張圖畫大部分區(qū)域可能都比較相近,那么我們是不是可以找到一種方法,只保存一張完整圖片(我們稱為關(guān)鍵幀),不保存其他圖片,只保存和這個完整圖片的不同(通過某種數(shù)學(xué)建模表達(dá)),這樣就會節(jié)省很多空間,在播放的時候,通過和關(guān)鍵幀與每一幀的不同逆向恢復(fù)成一張完整的圖片,這樣就得到了24張完整的圖片。(這里只是舉例,實際應(yīng)用中并不一定是每24幀圖像被設(shè)定一個關(guān)鍵幀)。OK,那么所謂編碼格式就指的一種壓縮視頻圖像的算法。主流的視頻編碼格式一覽表如下:

格式推出機構(gòu)推出時間發(fā)展?fàn)顩r
HEVC(H265)MPEG/ITU-T2013不普及
H264MPEG/ITU-T2003各個領(lǐng)域
MPEG4MPEG2003不溫不火
MPEG2MPEG2001數(shù)字電視
VP9Google2013不普及
VP8Google2008不普及
VC-1Microsoft Inc.2006微軟平臺

其實這里H264已經(jīng)成為事實的視頻領(lǐng)域的行業(yè)編碼標(biāo)準(zhǔn)。目前主流的視頻都采用H264格式進(jìn)行視頻編碼,H265可能對目前的計算機硬件資源來說計算量還是過大,還沒有普及(只是猜測)。MPEG4、MPEG2和H264都師出同門,只不過H264在圖像質(zhì)量和壓縮率上更勝一籌,其他幾種編碼格式基本跟H264差不多,只是出自不同公司或者組織,并且沒有H264普及。

音頻編碼

這里在稍微講一下音頻編碼吧。同樣音頻編碼和視頻編碼一樣,指的是通過一定的手段將音頻數(shù)據(jù)進(jìn)行壓縮。音頻數(shù)據(jù)在視頻文件中占用空間跟視頻數(shù)據(jù)比非常的小,我們這里就不重討論,目前主要的音頻編碼格式有AAC、AC-3、MP3、WMA。其中AAC應(yīng)該是視頻文件中最主流的編碼格式。

視頻播放原理

比如我們在網(wǎng)站上看一個視頻的時候,需要經(jīng)過這幾個步驟:解協(xié)議,解封裝,解碼視音頻,視音頻同步。如果播放本地文件則不需要解協(xié)議,為以下幾個步驟:解封裝,解碼視音頻,視音頻同步。他們的過程如圖所示。


Paste_Image.png

這張圖表示的是從網(wǎng)絡(luò)流媒體下載到播放的整個過程,流媒體的協(xié)議有很多種,比如HTTP,RTMP或者M(jìn)MS等,這里我們先不展開討論(以后抽時間專門寫一篇流媒體協(xié)議的文章介紹)。我們從解協(xié)議的結(jié)果封裝格式數(shù)據(jù)開始討論。

解封裝的作用,就是將輸入的封裝格式的數(shù)據(jù),分離成為音頻流壓縮編碼數(shù)據(jù)和視頻流壓縮編碼數(shù)據(jù)。封裝格式種類很多,例如MP4,MKV,RMVB,TS,F(xiàn)LV,AVI等等,它的作用就是將已經(jīng)壓縮編碼的視頻數(shù)據(jù)和音頻數(shù)據(jù)按照一定的格式放到一起。例如,F(xiàn)LV格式的數(shù)據(jù),經(jīng)過解封裝操作后,輸出H.264編碼的視頻碼流和AAC編碼的音頻碼流。

解碼的作用,就是將視頻/音頻壓縮編碼數(shù)據(jù),解碼成為非壓縮的視頻/音頻原始數(shù)據(jù)。音頻的壓縮編碼標(biāo)準(zhǔn)包含AAC,MP3,AC-3等等,視頻的壓縮編碼標(biāo)準(zhǔn)則包含H.264,MPEG2,VC-1等等。解碼是整個系統(tǒng)中最重要也是最復(fù)雜的一個環(huán)節(jié)。通過解碼,壓縮編碼的視頻數(shù)據(jù)輸出成為非壓縮的顏色數(shù)據(jù),例如YUV420P,RGB等等;壓縮編碼的音頻數(shù)據(jù)輸出成為非壓縮的音頻抽樣數(shù)據(jù),例如PCM數(shù)據(jù)。

視音頻同步的作用,就是根據(jù)解封裝模塊處理過程中獲取到的參數(shù)信息,同步解碼出來的視頻和音頻數(shù)據(jù),并將視頻音頻數(shù)據(jù)送至系統(tǒng)的顯卡和聲卡播放出來。

為什么要分封裝格式和視頻編碼格式呢? 這個其實跟網(wǎng)絡(luò)分七層模型一個原理。解耦和,降低依賴,底層給上層提供基礎(chǔ)功能,底層和上層都都可以單獨擴展,可以以多種方案組合編碼與封裝,比如MP4與H264、MP4與MPEG、TS與H264等等。比如這里面的這邊文章的編碼就只負(fù)責(zé)將最原始的音頻和視頻數(shù)據(jù)就行壓縮,而壓縮完的數(shù)據(jù)要怎么組織就拜托給上層的封裝,封裝接到視頻音頻數(shù)據(jù)負(fù)責(zé)給數(shù)據(jù)編號,指定同步協(xié)議,加入字幕等操作。經(jīng)過封裝后,得到的就是可以播放的上面提到的視頻文件MP4或者M(jìn)KV等等。把這個過程反過來就是上圖描述的視頻播放的過程。

本文大部分內(nèi)容抄自[總結(jié)]視音頻編解碼技術(shù)零基礎(chǔ)學(xué)習(xí)方法,一部分來源于自己的總結(jié)《[總結(jié)]視音頻編解碼技術(shù)零基礎(chǔ)學(xué)習(xí)方法》應(yīng)該是國內(nèi)視頻領(lǐng)域最系統(tǒng)的學(xué)習(xí)資料了。有興趣的朋友可以去仔細(xì)閱讀一下。

著作權(quán)歸作者所有

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多