程式者的胡言亂語
- 全部
- Networking
- Travel
- Win32
- 黑米蟲
- programming
- DirectShow
- 書評
- 吃吃喝喝
- 站在Java的肩膀上看C#
- 音樂和電影
- General
- Java
“Introduction to DirectShow”簡報
今天應邀針對DirectShow做了一個很簡單、概括性的簡報。DirectShow無疑是Windows平台(不論是桌上型或行動設備)上,開發多媒體撥放應用程式時,最具威力的工具之一,了解DirectShow,開發多媒體撥放應用程式就顯得易如反掌。但DirectShow本身的複雜度,卻往往迷惑許多剛接觸的程式員。而這份簡報先試著把複雜的部份抽離,先從最簡單的情境來看DirectShow的使用。所附的第一個例子,除了可以撥放音樂、視訊檔案外,今天被抽考撥放某IP Camera所提供mms網路串流,也成功撥放,小程式碼也能發揮大作用。
DirectShow由於彈性十足,所以變化繁多。我也是在沒有任何參考書籍的情況下,透過網路上的文章和範例自行探究,其中或有不足或錯誤處,還煩請各方善信多加指正。
希望日後可以針對不同類型的DirectShow應用,例如視訊的擷取或多媒體檔案的儲存,做一些其餘的分享。
簡報請於此處下載。
這份簡報中提及兩個範例:(1)DSFilePlayer(2)QPushSource都提供下載,如有任何問題或指正,還請不吝於blog中留言。
其中,DSFilePlayer是一個完全用內定Filter來做撥放的例子。它是最簡單的一個例子,完全利用現有的機制來做各式多媒體檔案(.mp3,mp2,wma,mpeg,wmv)的撥放。它接收一個命令列參數,指定欲播放的檔名。除了檔案外,指定mms的串流位址,它同樣能夠支援。現在我自己的mp3 Player就是DSFilePlayer啊-當沒有於命令列指定檔名時,它會於現行目錄下,自動隨機撥放所有的檔案。
而QPushSource則是一個泛用途的Push Source Filter的例子。利用DSFilePlayer已經可以cover許多的應用了,除此之外,我們最常遇到的情況,就是會應用到Source Filter的情況。例如像從IP Camera接收影像資料,然後播放出來。或者,從網路中廣播傳送的視訊資料,予以播放等等。只要按著投影片上的說明,就可以將它應用在各式你需要Push Source Filter的場合。
Posted at 06:59下午 一月 12, 2007 by Chien-Hsing Wang in DirectShow |
星期五 一月 12, 2007
