實戰(zhàn)GraphEdit之解決媒體播放故障(上)
頭重腳輕
GraphEdit是一個可視化的DirectShow Fiter(插件)圖表建立及檢測工具,它包含在微軟的DirectXSDK中(可以從網(wǎng)上下載分離出的漢化版本),對程序開發(fā)者來說,GraphEdit可幫助他們構(gòu)建graph圖表,測試開發(fā)的Directshow插件,不過,我們可以用GraphEdit做更多事情,下面就來看一個GraphEdit解決媒體播放故障的實例。
筆者手里有一段AVS格式的視頻文件,這是一種國內(nèi)開發(fā)的新型視頻格式,通常只需要安裝AVS Plaver1.6即可以在Windows系統(tǒng)下欣賞它了。但無論用WMP或者MPC播放都只能聽到聲音,沒有任何圖像,究竟是怎么回事呢?
導(dǎo)入媒體文件
用GraphEdit來測試或播放媒體文件,首先需要用GraphEdit構(gòu)建一個過濾器圖表,過濾器圖表就如同媒體處理的流程圖一樣,通過分析流程圖,我們就可以找出問題出在哪一個環(huán)節(jié)。圖表可以用直接導(dǎo)入媒體文件的方式來自動構(gòu)建,自動構(gòu)建圖表的前提是要在系統(tǒng)中安裝了媒體文件有關(guān)的源過濾器、解碼過濾器,由于已經(jīng)安裝了AVS Player 1.6,相關(guān)的過濾器都已經(jīng)具備了,因此在GraphEdit中打開它是沒有問題的。首先在GraphEdit窗口的工具欄中選擇“打開”按鈕,并導(dǎo)入AVS文件。文件導(dǎo)人成功后,我們可以看到該文件的處理流程(如圖1)。點擊“播放”按鈕,會彈出ActiveMovie Windows窗口,但筆者只聽到聲音,在窗口看到的是漆黑一片。
經(jīng)過分析圖表,查看處理流程,筆者發(fā)現(xiàn)圖表中所使用的分離器明顯有問題,它使用的居然是Mpeg Splitter(如圖1),這是個Mpeg分離器,肯定無法處理AVS視頻,所以它一廂情愿地把視頻解碼工作交給了MPEG VideoDecoder,而MPEG視頻解碼器肯定無法解碼AVS視頻的,自然就看不到圖像了。不過,由于還能聽到聲音,說明音頻解碼器部分是沒有問題的。這樣,通過直觀的播放流程圖,播放無圖象的問題原因基本就清楚了,接下來我們同樣是通過播放流程圖,開始著手解決這個問題。
手動構(gòu)建正確圖表
要解決沒有圖像的問題,可以先在GraphEdit中手動構(gòu)建一個正確的過濾器圖表,以確定能否利用系統(tǒng)中現(xiàn)有的濾鏡來解決問題。在構(gòu)建正確圖表前,需要將懷疑有問題的過濾器方框刪除,這非常簡單,只需要選定圖表中的過濾器方框后,按Del鍵就行了(如圖2)。
接下來選擇“圖像”菜單中的“插入濾鏡”命令,打開過濾器選擇對話框,在對話框中展開“DirectShowFilters”,評選擇適合AVS文件的分離過濾器和視頻解碼過濾器。經(jīng)過一番查找,筆者發(fā)現(xiàn)了一個名為AVS PSDEMUX的分離器,不用說,它就是AVS所使用的分離器,另外又找到了一個名為SFNode AVS Video Decoder的視頻解碼器,從名稱上判斷它應(yīng)該就是AVS視頻的解碼過濾器。這兩個過濾器都是在安裝了AVS Player 1.6之后,自動添加到系統(tǒng)當中的。單擊對話框中“插入濾鏡”按鈕,這兩個過濾器方框便可以添加到圖表窗口中了。
插入過濾器方框之后,還需要將它們連接起來,先從過濾器的“Output”端拖出一條連接線至AVS PSDEMUX分離器的“Input”端,然后將分離器的Video端和Audio端分別與視頻解碼器SFNode AVS VideoDecoder和音頻解碼器MPEG Audio Decoder的“XFormIn”連接,最后將視頻解碼器和音頻解碼器的“XFormOut”分別連接到“Video Renderer”和“DefaultwaveOut Device”(如圖3),即視頻表現(xiàn)過濾器和音頻表現(xiàn)過濾器。圖表構(gòu)建完成后,再次點擊“播放”按鈕進行播放,圖像和聲音都正常了。
打造超長音樂DVD——Audio DVD Creator
一天一點愛戀
如果你酷愛音樂,那不妨用Audio DVD Creator制作一張可播放45小時的純音樂DVD光盤,把你喜愛的歌曲一“盤”打盡吧!它從本機或CD光盤中導(dǎo)入任意歌曲,再統(tǒng)一轉(zhuǎn)換成可供普通DVD機播放的格式,最后全部刻錄到DVD光盤上,體驗不間斷不重復(fù)的音樂狂潮。
第一步:運行軟件后,依次點擊“新建方案/AudioDVD”按鈕打開“設(shè)置”窗口(如圖1)。在“方案名稱”框中輸入一個名字,如“最愛歌曲”。
第二步:音樂DVD光盤的播放總時長將根據(jù)音樂格式來決定。若采用“PCM(高品質(zhì))”格式,一張4.7GB容量的DVD光盤可以存儲6小時的音樂文件。若采用“AC3(高容量)”格式,則可以存儲45小時的音樂文件等。當然“AC3(高容量)”格式的音質(zhì)會比“PCM(高品質(zhì))”格式差很多。
提示
“AC3(高容量)”的2.0ch和5.1ch分別表示音樂文件的2.0聲道和5.1聲道。如果你擁有Ac3格式的5.1聲道音樂光盤或文件,則可以選擇5 1ch,這樣刻錄出來的音樂DVD也將是5.1聲道的。
第三步:將“電視制式”選為“PAL”(國內(nèi)標準)后,點擊“主題”欄的“自定義”按鈕可以指定DVD菜單和曲目的背景圖片。如果不希望顯示DVD背景圖片,只是播放音樂,則勾選“插入碟片時不顯示菜單”選框。
第四步:點擊“下一步”按鈕進入添加歌曲窗口。如果你是從CD光盤中提取音樂,就點擊“添加Audio CD”按鈕,軟件會從CD光盤中提取音樂文件列表,選中你喜歡的歌曲后,點擊“添加到方案”按鈕,軟件會將CD音樂文件抓取并導(dǎo)入到“DVD曲目”列表中。點擊“添加音樂文件”按鈕則可以導(dǎo)入硬盤中的音樂文件。將音樂文件添加到“輸入文件列表”后(支持導(dǎo)入MP3、WMA、WMV、ASF、RM、OGG、FLAC、和AC3等格式),在下方“創(chuàng)建DVD曲目”選框中根據(jù)不同選擇,軟件會自動進行分組。假如你希望為每個文件都指定一個播放背景圖片,則選擇“一個文件一個曲目”選項,點擊“確定”按鈕后軟件會將這些歌曲都視為一個單獨曲目,在“DVD曲目”列表中用右鍵單擊每一個曲目名稱,選擇“指定曲目圖像”選項即可為每首曲目都添加一個背景圖片(如圖2),在播放歌曲時即可自動更換這些背景,效果更豐富。添加文件時,“數(shù)據(jù)大小”欄里會即時顯示已添加文件總?cè)萘浚瑧?yīng)注意查看。
第五步:點擊“下一步”按鈕進入“預(yù)覽”窗口。在“菜單/曲目”框中可以選擇曲目名稱來查看播放菜單效果,點擊“播放”按鈕則播放當前曲目內(nèi)的歌曲等。滿意后,點擊“下一步”按鈕進入“創(chuàng)建”窗口,目前提供了兩種保存方式。如果已安裝了DVD刻錄機并放人了DVD刻錄盤,則選中“直接刻錄Audio DVD”選框,點擊“開始創(chuàng)建”按鈕進行刻錄。如果電腦中未安裝刻錄機,則可以選中“把DVD文件創(chuàng)建到硬盤”選框,指定保存路徑后,點擊“開始創(chuàng)建”按鈕在硬盤中創(chuàng)建并保存DVD文件(如圖3)。日后有條件時再直接把DVD文件刻錄到DVD光盤中。
提示
刻錄“PCM(高品質(zhì))”格式耗時30分鐘左右。刻錄“AC3(高容量)”格式根據(jù)添加的文件數(shù)量,執(zhí)行文件轉(zhuǎn)換壓縮和刻錄操作的時間會很長,大概在幾個小時。
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文。