影片播放器原理
影音技術主要包含以下幾點:封裝技術、影片壓縮編碼技術以及音訊壓縮編碼技術。如果考慮到網路傳輸的話,還包括串流媒體協定技術。
影片播放器播放網路上的影片檔案,需要經過以下幾個步驟:解協定、解封裝、解碼影音、影音同步。如果播放本機檔案則不需要解協定,為以下幾個步驟:解封裝、解碼影音、影音同步。過程如圖所示。
解協定的作用,就是將串流媒體協定的資料,解析為標準的對應封裝格式資料。影音在網路上傳播的時候,常常採用各種串流媒體協定,例如 HTTP、RTMP 或是 MMS 等等。這些協定在傳輸影音資料的同時,也會傳輸一些信令資料。這些信令資料包括對播放的控制(播放、暫停、停止),或者對網路狀態的描述等。解協定的過程中會去除掉信令資料而只保留影音資料。例如,採用 RTMP 協定傳輸的資料,經過解協定操作後,輸出 FLV 格式的資料。
解封裝的作用,就是將輸入的封裝格式資料,分離成為音訊串流壓縮編碼資料和影片串流壓縮編碼資料。封裝格式種類很多,例如 MP4、MKV、RMVB、TS、FLV、AVI 等等,它的作用就是將已經壓縮編碼的影片資料和音訊資料按照一定的格式放到一起。例如,FLV 格式的資料,經過解封裝操作後,輸出 H.264 編碼的影片碼流和 AAC 編碼的音訊碼流。
解碼的作用,就是將影片/音訊壓縮編碼資料,解碼成為非壓縮的影片/音訊原始資料。音訊的壓縮編碼標準包含 AAC、MP3、AC-3 等等,影片的壓縮編碼標準則包含 H.264、MPEG2、VC-1 等等。解碼是整個系統中最重要也是最複雜的一個環節。透過解碼,壓縮編碼的影片資料輸出成為非壓縮的顏色資料,例如 YUV420P、RGB 等等;壓縮編碼的音訊資料輸出成為非壓縮的音訊抽樣資料,例如 PCM 資料。
影音同步的作用,就是根據解封裝模組處理過程中獲取到的參數資訊,同步解碼出來的影片和音訊資料,並將影片音訊資料送至系統的顯示卡和音效卡播放出來。

