基于Directshow的H.264流媒體播放器設計
摘要:基于目前最新的視頻壓縮編解碼標準H.264,采用Directshow應用框架,設計了網(wǎng)絡流媒體播放器系統(tǒng);Directshow是微軟提供的基于windows平臺的優(yōu)秀的流媒體應用架構,H.264標準具有高壓縮比和優(yōu)良的網(wǎng)絡親和性,基于Directshow和H.264設計的網(wǎng)絡流媒體播放器不僅具有優(yōu)良的系統(tǒng)架構,同時具有更好的靈活性和可擴展性,可以很方便地應用于視頻點播系統(tǒng)(Video On Demand System)中和移植到嵌入式WINCE平臺?;贒ireotshow分析和設計了網(wǎng)絡源Filter和H.264解碼Filter,同時闡述了網(wǎng)絡流媒體播放器系統(tǒng)的整體框架。
關鍵詞:Directshow;H.264;Filter;流媒體
0 引言
Directshow應用框架完成了流媒體處理的底層工作,使得編程者無需關心數(shù)據(jù)如何輸入,以及處理完后如何輸出,而只需關心如何對輸入數(shù)據(jù)進行處理。H.264視頻編解碼標準具有高壓縮比和優(yōu)良的網(wǎng)絡親和性,被普遍認為是最有影響力的流媒體視頻壓縮標準。將Direct-show和H.264兩種相結合的流媒體播放器無疑將具有非常優(yōu)秀的性能。
1 Directshow技術和H.264視頻壓縮標準簡介
Directshow是微軟公司提供的一套流媒體開發(fā)軟件包,為在windows平臺上處理各種格式的媒體文件的回放、音視頻采集的高性能要求的多媒體應用,提供了完整的解決方案。
Directshow是一套完全基于COM的應用系統(tǒng),該系統(tǒng)位于應用層中,它使用Filter Graph的模型來管理整個數(shù)據(jù)流的處理過程;參與數(shù)據(jù)處理的各個功能模塊叫Filter;各個Filter在Filter Graph中按照一定的順序連接成一條“流水線”協(xié)同工作。Filter是一個COM組件,其功能可以由用戶自行實現(xiàn),DirectShow SDK也為用戶提供了一些標準的Filter供用戶使用。各個Filter在Filter Graph中按一定順序通過Pin互相連接起來,Pin也是一個COM對象。
H.264是由ITU-T和ISO/IEC的聯(lián)合開發(fā)組共同開發(fā)的最新國際視頻編碼標準。H.264/AVC視頻編碼標準在編碼質(zhì)量和壓縮比上比原有的視頻編碼標準都有了明顯的提高。在相同的視覺感知質(zhì)量上,編碼效率比H.263,MPEG-2和MPEG-4提高了50%左右。H.264不僅具有優(yōu)異的壓縮性能,而且具有良好的網(wǎng)絡親和性。因此,H.264被普遍認為是最有影響力的流媒體視頻壓縮標準。
2 系統(tǒng)設計框架
本系統(tǒng)基于Direotshow應用框架和H.264視頻壓縮標準,實現(xiàn)了從網(wǎng)絡接收流媒體數(shù)據(jù),并在客戶端實時播放的功能。流媒體文件是采用H.264編碼的AVI文件,由于directshow提供了AVI Splitter Filter、Audio Decoder和標準的Video/Audio Renderer,因此,本系統(tǒng)只需設計自定義的網(wǎng)絡源Filter、H.264解碼Filter。
多媒體流式傳輸實際上牽涉到兩個方面的技術。其一就是服務器與客戶端的通信技術,包括多媒體數(shù)據(jù)的傳輸、命令控制等;其二就是客戶端對接收到的多媒體流實時解碼后播放的技術。顯然,網(wǎng)絡通信可以使用windows socket技術,多媒體流的解碼播放可以使用direct-show技術。本文采用direetshow應用框架,設計了網(wǎng)絡源filter和h.264解碼filter,并通過Filter Graph構建了流媒體播放器。
評論