2025年10月5日 星期日

【軟體教學】如何下載FFmpeg及使用批次指令將影音與字幕合併成一個檔案

先前曾介紹過使用Subtitle Edit批次翻譯字幕的功能,這次要分享如何透過免費且強大的開源工具FFmpeg,將影片檔案與對應的SRT字幕檔批次合併,省去一個個手動處理的麻煩。

什麼是FFmpeg?

FFmpeg是一套開源的自由軟體,提供處理影音多媒體的完整解決方案。[1][2][3] 它可以執行多種影音格式的錄影、轉檔、串流等功能,並包含了強大的影音編解碼函式庫,許多知名的軟體都是基於FFmpeg所開發。[1][4] FFmpeg的名稱中,「FF」代表「Fast Forward」(快轉)的意思。[1]

下載與安裝FFmpeg

  1. 前往官方網站:
    首先,請至FFmpeg的官方網站 (ffmpeg.org)。

  2. 下載適用於Windows的版本:
    進入網站後,點選下載頁面。在Windows版本區塊,選擇第一個「Windows builds from gyan.dev」的連結。

  3. 選擇完整版本:
    在新的頁面中,找到「ffmpeg-git-full.7z」的連結並點擊下載。

  4. 解壓縮檔案:
    下載完成後,對檔案按右鍵,選擇「解壓縮全部」。

  5. 建立FFmpeg資料夾並複製檔案:
    為了方便管理,建議在C槽根目錄建立一個名為「ffmpeg」的資料夾。接著,將解壓縮後資料夾內的所有檔案,複製到「C:\ffmpeg」底下。

設定環境變數

為了讓電腦系統能在任何路徑下都能執行FFmpeg指令,我們需要設定環境變數:

  1. 開啟環境變數設定:
    在Windows 11的搜尋列中輸入「環境變數」,並點選「編輯系統環境變數」。[5][6][7]

  2. 進入環境變數視窗:
    在「系統內容」視窗中,點選「進階」標籤,然後點選下方的「環境變數」按鈕。[5][6]

  3. 編輯Path變數:
    在「系統變數」區塊中,找到「Path」這個變數,點選它然後按「編輯」。[7]

  4. 新增FFmpeg路徑:
    在「編輯環境變數」視窗中,點選「新增」,並輸入FFmpeg執行檔所在的bin資料夾路徑:「C:\ffmpeg\bin」。[7]

  5. 儲存設定:
    最後,一路按下「確定」儲存所有變更。

驗證安裝是否成功

  1. 開啟命令提示字元:
    在搜尋列輸入「cmd」並開啟命令提示字元。

  2. 輸入版本查詢指令:
    輸入 ffmpeg -version 並按下Enter。如果畫面顯示出FFmpeg的版本資訊,就代表安裝與設定都成功了。

批次轉換指令

接下來,就是重頭戲的批次合併指令。請將以下這段指令複製起來:

Code
for %%A in (*.wmv) do ffmpeg -i "%%A" -vf "subtitles=%%~nA.srt:force_style='MarginV=20,scale=1364:728'" -c:v wmv2 -b:v 300k -c:a wmav2 -b:a 48k -r 10 -pix_fmt yuv420p "%%~nA_subtitle.wmv"

指令說明:

  • for %%A in (*.wmv) do: 這是一個迴圈指令,會去尋找當前資料夾中所有副檔名為.wmv的檔案,並依序執行後面的指令。

  • ffmpeg -i "%%A": 這裡的%%A代表迴圈中抓到的wmv檔案名稱,-i表示輸入來源。

  • -vf "subtitles=%%~nA.srt:force_style='MarginV=20,scale=1364:728'":

    • -vf 是視訊濾鏡(video filter)的縮寫。

    • subtitles=%%~nA.srt: 指定要合併的字幕檔。%%~nA會自動抓取當前處理的wmv檔案的主檔名,並加上.srt,所以請確保你的影片檔和字幕檔主檔名相同。

    • force_style='MarginV=20,scale=1364:728': 強制設定字幕樣式。MarginV=20表示字幕距離底部的距離為20像素。scale則是用來設定影片的解析度。

  • 後續的參數(-c:v, -b:v, -c:a, -b:a, -r, -pix_fmt)則是設定輸出影片的影像與聲音編碼、位元率、影格率等,可以根據需求自行調整。

  • "%%~nA_subtitle.wmv": 設定輸出檔案的名稱,會在原始檔名後方加上「_subtitle」。

執行批次轉換

  1. 建立批次檔:
    在存放影片和字幕檔的資料夾中,新增一個文字文件,將上面複製的指令貼上,然後將檔案另存為「subtitle_wmv.bat」(副檔名必須為.bat)。

  2. 執行批次檔:
    直接點兩下剛剛建立的.bat檔案,程式就會開始自動執行,將資料夾內所有的wmv影片與對應的srt字幕檔合併,並輸出新的影片檔案。

透過以上步驟,就能輕鬆地利用FFmpeg批次處理大量的影音字幕合併工作,大幅提升工作效率。

 



沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。

【軟體教學】如何下載FFmpeg及使用批次指令將影音與字幕合併成一個檔案

先前曾介紹過使用Subtitle Edit批次翻譯字幕的功能,這次要分享如何透過免費且強大的開源工具FFmpeg,將影片檔案與對應的SRT字幕檔批次合併,省去一個個手動處理的麻煩。 什麼是FFmpeg? FFmpeg是一套開源的自由軟體,提供處理影音多媒體的完整解決方案。[ 1 ...