程式者的胡言亂語

pageicon 星期五 一月 12, 2007

“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的場合。

把對母乳媽媽的感謝與支持傳出去

« 十一月 2008
星期日星期一星期二星期三星期四星期五星期六
      
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
21
22
23
24
25
26
27
28
29
30
      
今日

Search this blog

Links

Weblog menu

Today's referrers

Feeds