先前曾介紹過使用Subtitle Edit批次翻譯字幕的功能,這次要分享如何透過免費且強大的開源工具FFmpeg,將影片檔案與對應的SRT字幕檔批次合併,省去一個個手動處理的麻煩。
什麼是FFmpeg?
下載與安裝FFmpeg
前往官方網站: 首先,請至FFmpeg的官方網站 (ffmpeg.org)。 下載適用於Windows的版本: 進入網站後,點選下載頁面。在Windows版本區塊,選擇第一個「Windows builds from gyan.dev」的連結。 選擇完整版本: 在新的頁面中,找到「ffmpeg-git-full.7z」的連結並點擊下載。 解壓縮檔案: 下載完成後,對檔案按右鍵,選擇「解壓縮全部」。 建立FFmpeg資料夾並複製檔案: 為了方便管理,建議在C槽根目錄建立一個名為「ffmpeg」的資料夾。接著,將解壓縮後資料夾內的所有檔案,複製到「C:\ffmpeg」底下。
設定環境變數
編輯Path變數: 在「系統變數」區塊中,找到「Path」這個變數,點選它然後按「編輯」。[7] 新增FFmpeg路徑: 在「編輯環境變數」視窗中,點選「新增」,並輸入FFmpeg執行檔所在的bin資料夾路徑:「C:\ffmpeg\bin」。[7] 儲存設定: 最後,一路按下「確定」儲存所有變更。
驗證安裝是否成功
開啟命令提示字元: 在搜尋列輸入「cmd」並開啟命令提示字元。 輸入版本查詢指令: 輸入 ffmpeg -version 並按下Enter。如果畫面顯示出FFmpeg的版本資訊,就代表安裝與設定都成功了。
批次轉換指令
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」。
執行批次轉換
建立批次檔: 在存放影片和字幕檔的資料夾中,新增一個文字文件,將上面複製的指令貼上,然後將檔案另存為「subtitle_wmv.bat」(副檔名必須為.bat)。 執行批次檔: 直接點兩下剛剛建立的.bat檔案,程式就會開始自動執行,將資料夾內所有的wmv影片與對應的srt字幕檔合併,並輸出新的影片檔案。
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。