2009年9月15日 星期二

利用VirtualDub自動批次2 Pass壓縮的小工具

我的數位相機錄影的格式是Motion Jpeg (mov),錄出來的檔案有點肥,而且想要傳給朋友,或上傳到Youtube,都不是很方便,必須再經過一次轉檔的動作。

再者這種格式的檔案真的是很佔空間,所以硬碟少少的我,就不得不將檔案壓縮一下,而個性有點龜的筆者,當然是選用檔案更小,畫質卻更好的2 Pass壓縮方式。

但由於一般市面上的壓縮工具大多不能進行2 Pass壓縮,少數有支援的,操作起來又不太方便,對於有大量檔案需要進行高品質壓縮的使用者來說,重覆進行「設定2 Pass ==>等待壓縮」,是一項辛苦的工作。

因此我寫了這個小工具,利用VirtualDub搭配AviSynth,可以很方便的將整個目錄的影片都用2 Pass的方式,壓成H264或XviD等等格式。

VirtualDub Batch Runner 0.1.0, 下載

需要軟體
AviSynth 2.5.7或更新,請至http://avisynth.org/mediawiki/Main_Page 下載
VirtualDub 1.9.5或更新,請至http://www.virtualdub.org/下載
QTSource,下載
FFMpegSource,下載

安裝步驟:
1. 安裝Avisynth
2. 安裝VirtualDub
3. 將FFMpegSource解開後的ffms2.dll及ffms2.avsi放到AviSynth安裝目錄下的plugins
4. 將QTSource解開後的QTSource.dll放到AviSynth安裝目錄下的plugins

註:如果只使用DirectShowSource的話,步驟3及4不一定要做,這兩個步驟是為了可以讀取QuickTime及其它mpeg4等格式
另外,我程式中所附的壓縮script都是使用x264,可以到這下載


執行方法
1. 將VDubBatchRunner解開後,執行VDubBatchRunner.exe
2. 設定好VirtualDub的安裝目錄,要批次處理的目錄
3. 選取Source Filter,如果有裝FFMpegSource的話,用FFMpegSource支援的檔案格式比較多,不然的話使用DirectShowSource 就可以了,注意若來源檔案是Mov(QuickTime)的話,請記得要選「Source_QuickTime(mov)」才能正常執行喔!
4. 選擇一個想要的格式及流量,以H264來講,通常VGA影片用1600kbps就夠了,而HD的話則需要4M~8M,Full HD則需要8M~16M

5. 按下Run後,程式會呼叫出VirtualDub,並開始批次轉檔,在轉檔完成前,請不要再多按一次Run喔!

後記:
製作這個工具的目的是希望結合VirtualDub和AviSynth不要這麼的累,如果你已經會用avs檔對影片進行拉絲、去雜訊等處理的話,可以在解開的檔案中編輯那些附檔名為avst的檔案,那是我用來產生avs檔用的樣版。
自定avs可以進行很多進階的處理,有空再來寫編文章講講了。

沒有留言: