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