#E6E6E6 【VB】ExtraCut:實現多媒體檔案的直接剪輯與合併 作者:吳文成

  上次我說 , ExtraPlayer 是圍著大裙擺的村姑 ,ExtraSpeaker 是長髮飄逸的細腰女孩,剛剛完成的 ExtraCut 應該說是:鄰家一起青梅竹馬長大的玩伴,看起來不起眼,卻是讓人覺得很親切。我喜歡那不起眼,可是卻內蘊涵養的事物,那看似普通,可是卻有底層下不可化約的姿態。我不想去創作表面看來華麗的事物,我也沒有時間去構想漂亮的外表,反而,我希望自己能有一項可能被其他人忽視,卻被我掛念的創作。創作,應該是尋求解答的歷程,而不是最後被人稱讚的那個東西,或者說,一項創作如果回應不了當初它所引發的不安疑惑,它就失去了價值。

  設計 ExtraCut 之前,我的疑惑是:怎麼樣的框架是同時具有簡單美與整合性的,它能夠自然而然地融入使用者的理解之中,它不再有「圍著大裙擺」的累贅。其實,我是在尋找 ExtraPlayer 下次改版的合適樣貌,這次設計的 ExtraCut 倒轉了 ExtraPlayer 的架構 , ExtraCut 首先保留 ExtraPlayer[[img src=computer/ExtraCut1.gif height=339 width=378 align=left]]的播放器型態,然後再把較為繁複的功能,包裝進同一個樣式的整合工作區裡——這讓使用者的操作可以區隔化與更加流線化,並且讓使用者容易理解自己目前正處於整套軟體的哪個功能組。我所談的是,哪一種型態可以將軟體功能的簡單性與複雜性區隔開來,不熟悉的使用者可以輕易上手軟體的簡單性功能
,作到軟體所訴求的基本處理,而已經熟悉的使用者可以選擇進入有複雜性功能的工作區,作更多合乎自己需求的操作。

  在整體功能上,ExtraCut 是 ExtraPlayer 的羽量版,可是 ExtraCut 在型態上卻是 ExtraPlayer 的先行版,ExtraPlayer 的下次改版將是再次實現我這裡所談的設計理念——從 ExtraPlayer 到 ExtraCPU、ExtraMidi、ExtraScope 到 ExtraSpeaker ,再到現在的 ExtraCut ,我始終都在摸索一種適合自己欣賞角度的設計理念。從「圍著大裙擺的村姑」到「長髮飄逸的細腰女孩」
[[img src=computer/ExtraCut2.gif height=399 width=378 align=right]],再到「鄰家青梅竹馬的玩伴」,這表示我的設計觀感已不同以往。這不是進步或不進步的問題,而是自己設計出來的東西是不是讓自己感覺舒服或適然。

   ExtraPlayer 具有音樂檔案或影片檔案的播放、轉檔
、剪輯、合併、錄音、影像處理與格式分析等等功能,而 ExtraCut 將上述的播放與剪輯功能再行整合與加強。目前 ExtraCut 能夠支援更多格式的直接剪輯與直接合併,例如 OGG 檔案與更多的 RealMedia
,這裡「直接」兩個字非常重要,因為「直接」剪輯與合併能夠讓多媒體的處理更加快速,例如切割 RealMedia 或 MP3 某一大段的執行時間不到幾秒就可以完成,「直接」意味著不需經由轉檔程序,所以它顯得相當有效率,也不多佔據系統資源 。ExtraCut 搭配著播放器的標記功能,標記功能是源於 ExtraPlayer 我相當喜歡的「創作」,它把自訂播放、區段選取與指定剪輯功能給整合在一起,換句話說,它是整套軟體的核心介面,也是我認為 ExtraPlayer 或 ExtraCut 能夠脫穎而出的關鍵設計。

(09/23 新增支援 AC3、AAC、DTS、MPA、MP1、PCM 的直接剪輯)
   據我所知,ExtraCut 是目前支援最多格式的直接剪輯與合併的多媒體軟體:音樂格式包括 ,WAV、MIDI、MP2、 MP3、WMA、RA、 RMA 與 OGG;影片格式包括,MPG、MPEG、 M1V、WMV、ASF、 RM、 RAM、RMV 與 RMVB 等等。 除了處理多媒體檔案,它也具備有一般檔案合併與一般檔案切割的功能,我希望 ExtraCut 這個命名可以名符其實,再加上我自己需要處理多媒體檔案檔頭的精確(Byte)切割,所以一起提供了與切割 、 合併有關的功能, 某些功能我用 C++ 語言撰寫以增快檔案處理的速度。 與 Cut、Chop、Split 有兄弟關係的 Capture 似乎也不能遺忘,ExtraCut 因此設計有擷取影片即時播放畫面的功能,呵,如果我再想到播放畫面的影像處理功能,那麼這套軟體就寫不完了。

  軟體包含的功能愈多,其內在關係的設計就愈加複雜,這讓我想起當初寫 ExtraPlayer 腦袋嚴重打結的情況,例如,同一個視窗的播放功能要涵蓋音樂、影片與瀏覽圖片檔案,這三者的設計會形成錯綜複雜的聯繫(大家可以想一想 ACDSee、 Windows Media Player 與 Winamp 三套軟體要整合在一起會是什麼樣子),更何況是再結合轉檔、剪輯、影像處理與抓取等等功能,所以 ExtraPlayer 最困難的地方是在於「流程」,不同功能的流程線糾纏在一起,程式設計者必須把它們的執行動線給合理化、順暢化與區隔化。又例如 ExtraCut「另存裁剪」這個單一選項,其內在設計必須要引入對於 WAV、 MP3、WMA、RA、 OGG 等等不同格式的模組支援,可見其內部關係比表面可見的還麻煩。還好 ExtraCut 只有繼承 ExtraPlayer 百分之三十五的複雜度,所以,我可以在比較快的時間完成這套軟體。

  每次都是這樣,每次設計完一套軟體,我就會說:「終於可以回到我原本的學術研究!」結果,程式設計這件事還是不時地糾纏我。今年真是有趣,大家大概不知道今年之前,我上一次發表軟體是一九九五年的時候
,而今年居然一口氣出了五、六套──在不同領域算是實用的──軟體。時間就是這樣,好好地利用它,它可以締造出許多令人驚異的成果。

可執行檔下載

瀏覽發行頁面
2005/09/20