天天看點

0——多媒體播放器基礎知識

參考文章:

http://blog.csdn.net/arau_sh/article/details/17376837       

1、什麼是影片?

影片其實就是一組(很多張)圖檔,以很小的時間間隔連續展示出來,人們就覺得畫面中的人物在動(未考慮音頻)。是以,影片的實質就是N多張圖檔的集合。

2、幀、流、容器

如果一部影片原封不動的儲存起來,需要很大很大的空間。例如:假定圖檔分辨率設定為1024×768,每像素占4個位元組,每秒播放30張圖檔,這1s需要1024*768*4*30 = 94371840bytes = 90M。如果不采用任何壓縮算法,1G隻能存放11s的視訊。是以,影片壓縮儲存是必須的。

幀:壓縮後的一張圖檔就叫着一(視訊)幀,壓縮又稱為編碼,影片中除有視訊幀外,還有音頻幀和字幕幀;

流: 把一種幀連起來就叫流。同理,有視訊流,音頻流,字幕流;

容器:把不同的流按某種方式組合到一起,即容器(不同流以某種方式組合存放在容器中)。直覺的想象,容器即是影片字尾名。

比如一部影片名為碟中諜4.mkv,這部影片的容器就是mkv,即流是以mkv的格式組合在一起的。

3、複用/解複用(mux/demux)、編/解碼(codec)

按照某種容器的規則從該種容器(檔案)中把不同的流解析(或者說分離)出來,這種行為叫着解複用,使用解複用器;與之相反,把不同的流按照某種容器的規則放入那種容器(生成該種容器格式的影片檔案),這種行為叫着複用,使用複用器。

從流中分離出幀并且最終生成用于輸出到顯示卡的視訊原始資料(輸出到聲霸卡的音頻原始資料),這個過程稱為解碼,使用解碼器。與之對應,把原始資料壓縮成幀并連接配接成流,這個過程稱為編碼,使用編碼器。

4、視訊播放流程

0——多媒體播放器基礎知識

說明:1. 根據影片的不同,解複用時可能得到多條字幕流和音頻流(比如多國語言的影片),但實際隻需要解碼特定的音頻和

字幕流(相當于隻解特定語言的音頻和字幕);

2. 字幕解碼器得到的圖像可以直接疊加到視訊圖像上,同步時即隻需要考慮音視訊同步.

5. 影片示例

通常播放器(如KMPlayer)都帶有檢視多媒體資訊的功能,打開影片後點選右鍵選擇媒體資訊即可檢視,比如《The Croods (2013.TS)RusH.avi》(瘋狂原始人),影片資訊為:

0——多媒體播放器基礎知識

繼續閱讀