Major Member
加入日期: May 2005
文章: 257
|
[求助]關於DirectShow技術的名詞解釋∼
為了搞懂轉檔的相關常識
翻了幾篇MPEG4的中文PAPER 發現有一些名詞不太理解 特來向前輩們請教: 1.source filter與file parser有什麼不同? 2.decoder因針對不同的媒體壓縮方式而有獨特性,那source filter有這樣強烈的獨特性嗎? 3.filter、spliter、demuxer有何不同? 4.若沒有DirecShow技術的軟體,處理媒體檔案時,是否就沒有filter機制? 感激在先∼ |
|||||||
2007-02-04, 12:21 AM
#1
|
Master Member
加入日期: Nov 2002 您的住址: 氣候越來越不友善的中部首善之區
文章: 1,773
|
引用:
挑簡單的回 1.我覺得是一樣的東西,或許file parser包含有硬體上的說法 2.decoder針對影像編碼作解碼,是有獨特性,而source filter處理影片封裝格式,較不具獨特性 應該說封裝種類本就比編碼種類少很多,比如說我一個source filter可以處理內含不同編碼(XviD\DivX...、AC3\MP3\AAC...)的AVI檔案 3.encoder、decoder、splitter都是filter splitter就是最先對影片(封裝)做出處理的filter,是他把audio跟video stream分別送給decoder做解碼動作 demuxer就是de-multiplexer,就計算機的概念就是一個輸入經過demux分成多個輸出 在影像處理上就是把影像檔案(封裝)拆解成audio、video、sub...等等分別輸出成raw stream檔案 |
|||
2007-02-04, 08:51 AM
#2
|
Major Member
加入日期: May 2005
文章: 257
|
TO feedback
所以source filter基本上,一台機器裡不需要很多個囉? 而de-multiplexer像是後期的splitter? |
2007-02-05, 11:54 AM
#3
|
*停權中*
加入日期: Oct 2004
文章: 342
|
引用:
filter就和斯斯一樣有分三種,source filter(只出不進,出去的方式有二種push,pull),transform filter(有進有出,進來的方式也有二種mode),Renderer filter(只進不出,在實作上最複雜),file parser和source filter沒有關係, file parser是filter的實作,你要把file parser做成source filter或是transform filter都行 引用:
不知你的獨特性是指什麼,假設是指它可以支援的mediay type或是可以解的codec type,那source filter也是有這種獨特性,我們把它寫成只可以支援讀取某種格式的檔案或是支援某種的網路protocol等,而大部份的source filter也都是這樣來實作的 引用:
filter是統稱,spliter和demuxer是filter的實作,spliter和demuxer只是實作的名稱要叫什麼都沒有關係,例如MS有提供mpeg2 spliter和mpeg2 demuxer,mpeg2 spliter是專門用來解mpeg2 program stream(ps),而mpeg demuxer則是用來解mpeg2 transport stream(ts),但是其實ps和ts都是定在iso-13818-1內,有一定的相關性,有些廠商是作在同一個filter內,但是複雜度可以能會比較大,而MS則是分成二個filter來作,則可以較容易實作,但是運用上就要多花一點時間,而這二個fitler都是放在一個實體內(mpegsplt.ax) 引用:
也不一定,mplayer就作了一個模擬(?不知怎麼解釋)的架構來使用windows上的filters 不過在windows上沒有directshow技術要處理多媒體的檔案是比較麻煩啦! directshow的優點就是可以實現軟體元件的概念,你可以用你喜歡的filter或是某家廠商效能較好的filter來完成多媒體檔案的播放,例如你可以使用microsoft的file source filter接上microsoft或其他家的avi demuxer再接上coreavc或ffdshow的h.264 fitler並配上cyberlink或intervideo的ac3 filter來播放一個含有h.264和ac3的avi檔 |
||||
2007-02-05, 01:47 PM
#4
|
Major Member
加入日期: May 2005
文章: 257
|
引用:
我所謂的獨特性是說,以某種方式編碼的媒體,就必須用相對應的方式解碼! 那麼source filter是否也是只能針對特定的媒體才能解讀mediay type? 感覺上解讀mediay type的功能似乎是一樣的... |
|
2007-02-06, 11:57 AM
#5
|
Major Member
加入日期: May 2005
文章: 257
|
經過這幾天的研究
source filter似乎只針對檔案格式不同,而做不同的修正 但用什麼編碼,並不關source filter的事 也就是 只要是AVI檔案,則只需用一種source filter,不論編碼是用XVID或DIVX... 別種檔案,再用另一種source filter 感覺跟splitter的方式很像 應該沒錯吧? |
2007-02-09, 11:22 AM
#6
|
Advance Member
加入日期: Mar 2002
文章: 484
|
可以去找一個軟體叫graphedit
它會告訴你播放媒體的時候會調用那些元件 以及解碼流程 |
2007-02-09, 12:14 PM
#7
|
Major Member
加入日期: May 2005
文章: 257
|
引用:
謝謝 graphedit我知道 我也有在用 流程我大概也曉得 需要啥類型的元件我也有概念 但是 這依然無法解決我的疑惑... |
|
2007-02-09, 03:54 PM
#8
|
Major Member
加入日期: May 2005
文章: 257
|
試著了解後,
發現在WIN做DirectShow 其實也不輕鬆啊∼ 我覺得還是不使用比較簡單一點... 不知大大們由沒有同感? |
2007-02-11, 12:04 AM
#9
|