天天看點

從零開始學習音視訊程式設計技術(一) 視訊格式講解(學習筆記)

該系列的學習内容主要摘自 原文位址:http://blog.yundiantech.com/?log=blog&id=4 

======================================================================================

所謂視訊,其實就是将一張一張的圖檔連續的放出來,就像放幻燈片一樣,由于人眼的惰性,是以隻要圖檔的數量足夠多,就會覺得是連續的動作。 是以,隻需要将一張一張的圖檔儲存下來,這樣就可以構成一個視訊了。 

    但是,由于目前網絡和存儲空間的限制,直接存儲圖檔顯然不可行。舉個例子:在視訊聊天中,假定從攝像頭采集的圖檔每張大小200KB,每秒鐘發送大概15幀圖檔,這樣每秒鐘需要的流量就需要3M(意味着需要24M的寬帶),顯然這個要求太高了。 

    于是,就可以考慮将這些圖檔壓縮來減少大小。并且視訊基本上都是連續的兩幀圖像差别不是太大。是以,在記錄下第一張完整的圖像之後以後的每張圖像都是隻記錄下和上一幀圖像不一樣的地方,直到出現了差别很大的圖像,才重新記錄一幀完整的圖像(這個完整的圖像就叫做關鍵幀)。這樣就可以很大程度上減小空間了。

    上面提到的壓縮專業術語叫做視訊編碼,目前主流的編碼格式有國際電聯的H.261、H.263、H.264、H.265,運動靜止圖像專家組的M-JPEG和國際标準化組織運動圖像專家組的MPEG系列标準,此外在網際網路上被廣泛應用的還有Real-Networks的RealVideo、微軟公司的WMV以及Apple公司的QuickTime等。 

    編碼格式這麼多,我們應該選擇哪種呢? 經過查閱資料目前比較好的選擇是H.264,是以,隻需要了解H.264就行,我們後續的項目也是全部使用H.264。H.264的細節不是三兩下能說清楚的,本文不做解釋(留着以後再說),這裡就介紹下H.264有哪些優勢:

1.低碼率(Low Bit Rate):和MPEG2和MPEG4 ASP等壓縮技術相比,在同等圖像品質下,采用H.264技術壓縮後的資料量隻有MPEG2的1/8,MPEG4的1/3。

2.高品質的圖像:H.264能提供連續、流暢的高品質圖像(DVD品質)。

3.容錯能力強:H.264提供了解決在不穩定網絡環境下容易發生的丢包等錯誤的必要工具。

4.網絡适應性強:H.264提供了網絡抽象層(Network Abstraction Layer),使得H.264的檔案能容易地在不同網絡上傳輸(例如網際網路,CDMA,GPRS,WCDMA,CDMA2000等)。

5.高壓縮率,H.264的壓縮比達到驚人的102∶1。

H.264最大的優勢是具有很高的資料壓縮比率,在同等圖像品質的條件下,H.264的壓縮比是MPEG-2的2倍以上,是MPEG-4的1.5~2倍。舉個例子,原始檔案的大小如果為88GB,采用MPEG-2壓縮标準壓縮後變成3.5GB,壓縮比為25∶1,而采用H.264壓縮标準壓縮後變為879MB,從88GB到879MB,H.264的壓縮比達到驚人的102∶1。低碼率(Low Bit Rate)對H.264的高的壓縮比起到了重要的作用,和MPEG-2和MPEG-4 ASP等壓縮技術相比,H.264壓縮技術将大大節省使用者的下載下傳時間和資料流量收費。尤其值得一提的是,H.264在具有高壓縮比的同時還擁有高品質流暢的圖像,正因為如此,經過H.264壓縮的視訊資料,在網絡傳輸過程中所需要的帶寬更少,也更加經濟。