【轉】從零開始學習音視訊程式設計技術(一) 視訊格式講解
轉自: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壓縮的視訊資料,在網路傳輸過程中所需要的頻寬更少,也更加經濟。