Pages

2012年11月25日

[ Windows 軟體 ] 影音:利用 Intel Quick Sync Video 技術,搭配 MediaCoder 與 DebugMode FrameServer,將 Vegas Pro 輸出的影像快速編碼成 H264 影像檔吧!

20121125title
影像剪輯最枯燥乏味的,應該就是 rendering 的過程了。如果有硬壓卡那就另當別論,但是好的硬壓卡價格並不便宜。早期的 codec 從 CPU 運算,到後來 nVIDIA 推銷 GPGPU 而有了 CUDA 的支援,到這兩年 OpenCL 的成立…有了 CUDA 或 OpenCL,rendering 的效率當然是比純 CPU 來的好了。

即使有了 CUDA / OpenCL,每次 rendering 還是需要不少時間。尤其是結束後檢視成品卻發現某些地方有小瑕疵,一想到又要重新再 rendering 就感到無力。這種無力在我遇見了 Intel Quick Sync Video 之後有了大幅度的改善。

Intel 的第二代 Core i CPU 將圖形運算單元整合進入 CPU 當中。雖然第二代 Core i CPU 內建的圖形運算單元 HD3000 系列不算強力,可是這個整合帶來的另外一項運算就真的是強而有力,那就是 Intel Quick Sync Video。

根據 Intel 的說法,使用 Quick Sync 技術的話,可以比純 CPU 運算快上一倍。根據個人實際使用經驗,Quick Sync 甚至比 CUDA(當時對照的對象是 GTX260)還要快。對於常常需要 rendering 的使用者來說,可以節省巨量的時間。

以下就我的使用環境,來講解如何讓 Sony Vegas Pro 也能使用 Quick Sync 來 rendering 吧。


需求

要使用 Quick Sync 技術,在軟硬體上有幾個需求必須被滿足:
  1. CPU 必須是內建圖形運算單元的第二代 Core i CPU或第三代 Core i CPU。
     
  2. 主機板必須是 Z68 或 Z77 晶片組。
     
  3. 如果硬體有獨立顯示卡,而且螢幕是接在獨立顯示卡上,則還需要安裝 Lucid Virtu (或 Virtu MVP)。
     
由於 Quick Sync 需要 CPU 的內建圖形運算單元(HD 2000/3000/4000),所以只有採用 Z68/Z77(本文發表時間為止)這兩款晶片的主機板搭配有內建圖形運算單元的 Intel CPU 才可以使用 Quick Sync。

如果 CPU 沒有內建圖形運算單元(例如 i7-3930K),或者是非 Z68/Z77 晶片組的主機板(例如 X79)都無法使用 Quick Sync。


解說用環境

  • Windows 7 64-bit
  • Sony Vegas Pro 64-bit
  • Debugmode Frameserver
  • MediaCoder 64-bit
雖然最新的 Sony Vegas Pro 12 終於支援了 Quick Sync,但是有一些限制(見本文章末尾)。無論那一版的 Vegas Pro 只要藉由 Debugmode Frameserver 跟 MediaCoder 的幫助,一樣可以享受到 Quick Sync。

特殊的限制

  • 如果你的硬體環境中有獨立顯示卡,而且螢幕是接在獨立顯示卡上的話,那麼你還需要安裝 Lucid Virtu(或 Virtu MVP)。這個軟體可以 Windows 中的其他軟體選擇使用獨立顯示卡或者是 CPU 中的整合圖形顯示單元。這很重要。如果沒有裝這個軟體,就必須把螢幕接到主機板上的 VGA / DVI / HDMI 埠,才能使用 Quick Sync 呦。
     
  • Quick Sync 只支援 H.264/AVC,VC-1 與 MPEG-2 編碼。
     
  • 在 MediaCoder 中,只能用 Average Bitrate 跟 Constant Bitrate 兩種而已。沒有 variable bitrate,也沒有 2-passs,都不能用。


Debugmode Frameserver:
網址:http://www.debugmode.com/frameserver/
下載點(截至本文發表時間為止,最新的版本為 2.14):fssetup-2.14.exe
MediaCoder
網址:http://www.mediacoderhq.com/
下載點(截至本文發表時間為止,最新的版本為 0.8.17.5300):64-bit版本  32-bit版本
Lucid Virtu / Virtu MVP
請到你的主機板製造商的支援網頁尋找。


32-bit 跟 64-bit 混搭沒關係嗎?

除了只有 64-bit 的 Windows 環境下才能執行 64-bit 程式這個限制以外,Vegas Pro 跟 MediaCoder 可以是一個 32-bit 一個 64-bit。不必相同(Frameserver 只有 32-bit 版本)。


軟體安裝與環境設定

  1. 確定主機板 BIOS 設定中,沒有關閉 i-GPU。確認方法請自行參考主機板手冊。
     
  2. 組合一:如果你的系統中有安裝獨立顯示卡,而且螢幕是接在獨立顯示卡上,請安裝 Lucid Virtu / Virtu MVP。

    組合二:如果你的系統中有安裝獨立顯示卡,而且擁有超過一個以上的螢幕,其中一個螢幕是接在主機板上,那麼請將 MediaCode 運行於該螢幕上。

    組合三:如果你的系統中沒有獨立顯示卡,螢幕本來就是接在主機板上,那麼就不用顧慮其他的了。

    注意:無論你的硬體組合是哪種模式,都要確定有安裝整合圖形顯示單元的驅動程式。  
  3. 安裝 Debugmode Frameserver。
     
  4. 安裝過程中,請選擇對應的 Sony Vegas Pro 版本的插件。沒有寫 64-bit 的就是給 32-bit 用的。

     
  5. 有個值得注意的地方:由於 Debugmode Frameserver 2.14 只有測試到 Vegas Pro 11 而已。所以如果你安裝的是 12,注意 Sony Vegas (64-bit) Plugin 預設的安裝路徑是錯誤的(見下圖)


    所以你需要手動指定 Vegas Pro 12 的安裝路徑。例如像下圖:

     
  6. Frameserver 安裝完畢後,重啟 Vegas Pro。然後隨便拉點東西,開啟 Render As 選單( File → Render As… ),應該可以看到一個名為 DebugMode FrameServer (*.avi) 的項目,底下有個 ☆Project Default 的子項目。記住這個子項目。

     
  7. Frameserver 安裝完畢。如果沒有看到上圖的內容,表示安裝有誤,請重新安裝。
     
  8. 安裝 MediaCoder。
     
  9. MediaCoder 第一次啟動的畫面如下。如果不希望每次啟動都看到這個畫面,將 Skip this screen on startup 打勾。如果想完整設定 MediaCoder,可以點選 Config Wizard。但是這邊直接點 Start Now 直接進入 MediaCoder。

     
  10. MediaCoder 的介面如下。不囉唆,直接針對重要的內容設定。

    點一下 Video 標籤(綠框處),然後將 EncoderAuto 取消(紫框處。Auto 取消時 GPU 會自動勾選)。
     
  11. 拉開 Encoder 的下拉式選單,選擇 Intel Encoder

    選擇完畢時,右邊的 encoder 會自動選擇 Intel。此時就會跟步驟 10 的圖片一樣。

    Rate Mode:只能選 Average Bitrate 或 Constant Bitrate。其他都會出現錯誤。
    Format:建議用 H.264。
    Encoder:當然是 Intel Encoder。
    Source:維持 Auto。
    Auto Bitrate:不要勾。
    Video Bitrate 要設定多大自行決定。
     
  12. Intel Encoder 的設定方面…

    Quality:Auto,Speed 或 Quality。根據自己需求選擇。
    Profile:Auto,Baseline,Main 或 High。根據自己需求選擇。
    Level:Auto 或是數字。根據自己需求選擇。

    以上如果不清楚的,都選擇 Auto 即可。

    剩下的維持預設值。
     
  13. 兩邊都設定好後,看起來應該會類似下圖。

     
  14. Audio 的部份就不多說明了。如果要 rendering 的影像會包含聲音的話,請選擇偏好的音軌格式。
     
  15. 如果你的硬體是步驟 2 的組合一(獨立顯示卡,螢幕接在獨立顯示卡上),還需要安裝  Virtu (或 Virtu MVP)。安裝完成後,需要將 MediaCoder 執行檔加入 Virtu 服務清單中。

    打開 Virtu 中控台,選擇 Applications,點擊 Add,在 Exe names 選擇 MediaCoder.exe,然後按 Open。

     
  16. 選擇了 MediaCoder.exe 後,還需要注意要選擇 Work in I-mode。選錯的話是無法使用 Quick Sync 的呦。

     
  17. 到此,軟體與環境應該都設定完畢了。


使用

  1. 利用 Vegas Pro 剪輯影像。要 rendering 的時候,選擇 DebugMode Frameserver 下的 Project Default

     
  2. 按下 Render 後,Frameserver 會跳出來。按 Next

     
  3. 當這畫面出來時,開啟檔案總管。到 Render As  畫面中,Output File 指定的路徑,可以看到有一個同名的檔案存在。以步驟 1 為例的話,就會在 F:\ 看到 Untitled.avi。這只是一個暫存的中介檔案而已,並不是真正最終輸出的成品。

     
  4. Output File 路徑下的檔案拖拉到下圖棕框處,然後在黑框處設定真正要輸出的檔案路徑與名稱,之後按下紅框處的 START 即可。


關於 Frameserver 與 MediaCoder 更詳細的設定與介紹,並沒有打算在這篇內談到。因此各位有興趣,就自己去研究一下吧。


特別追加…

如果你用的版本是 Sony Vegas Pro 12,啟動 Quick Sync 的方法,就是把 Vegas Pro 拖拉到接主機板的螢幕上,才能使用 Quick Sync。如果你的螢幕全部都接在獨立顯示卡上,即使用 Virtu / Virtu MVP 都無法啟動 Quick Sync(反而會造成 Vegas Pro 啟動錯誤)。







沒有留言: