2011年5月11日 星期三

用VirtualDub建立Time-lapse並去除畫面閃爍


Time-lapse這個詞相當難翻譯,目前也沒有看到比較一致的中文用法。Lapse這個字有流逝、消逝的意思,也因此time-lapse所指的是讓時間失效的操弄。無論是將一整天的變化縮短到幾分鐘內,或是將一秒鐘放大成為一個鐘頭,都屬於time-lapse的範疇。在中文的翻譯中,則經常可以看到「延時攝影」、「縮時攝影」,甚至是「定時攝影」或「慢速攝影」等名詞,指涉的幾乎都是同樣的東西。目前最常看到的是濃縮時間的種類。


畫面閃爍(flicker)的問題幾乎存在於所有time-lapse的影片中,只是程度有所不同。閃爍是由於影片中每個畫格的整體亮度不同而造成的。很多時候是因為使用相機的自動模式來測光,因為現場環境的光線變化,而造成每個畫格有不同的判斷基準。但即便全程使用手動的光圈快門搭配,外加手動的白平衡模式,依舊有可能因為機械本身細微的偏差造成這樣的問題。

有幾個軟體可以建立Time-Lapse影片,並幫助我們去除閃爍的問題。在這裡提供大家一個免費的解決方案,運用VirtualDub掛上MSU deflicker filter,或是掛上Donald Graft's deflicker filter來處理。不過缺點在於,VirtualDub目前並沒有Mac的版本,必須得在Windows平台上才能運作。至於效果和收費的軟體比較起來如何,就見仁見智囉!

操作的步驟如下:

Step 1. 下載VirtualDub

下載VirtualDub,以及MSU deflicker filterDonald Graft's deflicker filter。解開VirtualDub後,會有一個plugin的資料夾,將兩個filter解開的檔案放進plugin之後,就算安裝好了。

Step 2. 讀取影像序列

VirtualDub需要無跳號的影像序列,才能讀取成為time-lapse的影片。意思就是影片的編號可以是2,3,4,卻不能夠是1,3,5。如果是應用數位相機的間隔拍攝,應當不會有這個問題。

一旦確定圖片已經依序編號,開啓 "File>Open video file…" 並選取圖片序列的第一個檔案。要確定對話方塊下方 "Automatically load linked segments" 有勾選,才會自動輸入序列。


現在你應該可以看到非常巨大的第一張影像。在圖片上點右鍵,並將檢視尺寸縮到 25% 或更小,就可以看到正常的畫面了。畫面上會分為左右兩張圖片,左邊的是原本輸入的圖片,右邊則是經過處理後的圖片。不過目前都還沒有進行處理,兩邊看起來應該是相同的。

Step 3. 畫格速率 Frame Rate

首先要調整的是畫格速率(frame rate),可以依據你的特殊需要改變。單位fps是frame per second的縮寫,每秒所播放的畫格數目。一般常看到的畫格速度是24fps或30fps,你也可以設定成為60fps。

在VirtualDub中,開啓 "Video>Frame rate…" 並選取 "Change frame rate to (fps):"。將畫格速率變更成為24,並選擇OK。這個速率對你來說可能太慢或太快,依據你的狀況來調整。


Step 4. 調整大小 Resizing

輸入的圖片可能遠大於你最後想要輸出的尺寸,所以必須要調整輸出的大小。

開啓 "Video>Filters…" 並點選 "Add"。找到 "resize" 效果並點選 "Ok"。因為你已經輸入圖片,所以這個效果會知道圖片的長寬大小與比例。


在這個視窗上方,選擇 "Absolute (pixels)." 現在比較常見的HDTV尺寸是 1920x1080 ,或是比較小的 1280x720。

如果圖片並非 16:9 或是預定的比例,可能需要將邊框裁切。此時選取畫面左下方 "Letterbox/crop to size: ",將尺寸裁切為 1920x1080 或 1280x720 ,之後點選 "OK"。

Step 5. 使用去閃爍濾鏡 Using a deflicker filter

若不需要處理畫面閃爍的問題,可以跳過這個步驟。

我們之前安裝了MSU Deflicker 和 Donald Graft's Deflicker 兩個外掛,可以選擇其中一個使用,也可以兩個都使用。

使用 "Video>Filters…" 並點選 "Add"。尋找 "MSU Deflicker" 或 "Deflicker",並點選 "OK"。跳出對話方塊後,可以直接點選 "OK",使用預設值來處理即可。


Step 6. 壓縮 Compressing

設定完上述步驟後,我們即將儲存最終的影片成為avi格式,所以必須要選擇某些壓縮的方式。

開啓 "Video>Compression…" ,在這邊你會看到系統中已安裝的壓縮的編碼,選取其中一個作為壓縮的依據。


這邊看不到常見的H.264編碼,不過可以參考這篇文章,安裝x264vfw,讓VirtualDub可以讀取並輸出H.264的檔案格式。

Step 7. Saving Your File

要存成avi檔案,只要選擇 "File>Save as AVI…",之後VirtualDub就會自己處理後續的事項了。


完成後,你應該可以看到動起來並且沒什麼閃爍問題的Time-Lapse影片了。

經驗告訴我,如果可以的話,還是盡量把光圈、快門、白平衡、感光度等設定鎖住,會讓後續比較輕鬆一點。不過要拍清晨或黃昏這種光線變化極大的時段,還是得依靠相機的判斷,否則馬上就曝光不足或過曝。這麼一來,又得要去處理畫面閃爍的問題了!

4 則留言 :

  1. 我記憶卡他會把照片分檔案夾每個檔案夾裡面只能放999張之後的照片就會到下一個資料夾裡號碼又從000開始
    這樣就沒有辦法得到連續的編碼,我該怎麼辦一個一個去修編號嗎?

    回覆刪除
  2. 回覆樓上:

    您好,
    分別做成兩段影片再接起來如何?

    回覆刪除
  3. 感謝您的介紹 , 小弟非常受用~

    回覆刪除

Related Posts Plugin for WordPress, Blogger...