2015年2月27日 星期五

用 FFmepg 為影片加字幕

想幫影片加字幕,試過了格式工廠、FreeMake(免費版) 的工具,有圖形界面,不過,被一堆看不懂的影音參數給打敗了,不熟悉的結果是,等很久、轉了好幾次、影片的畫質變得更差......,我不過是要加字幕啦!

看 VLC 有儲存的功能,不過加字幕還是失敗,到現在還是不知道哪個環節錯了。最後還是選擇用 FFmepg ,以一行指令完成任務。

假設:

  • 原始的影片檔名為:source.mp4
  • 字幕檔的中文編碼用「ANSI」,而檔名為:source.srt
  • 加了字幕後的影片要輸出的檔名是:output.mp4

影音都保持原來的內容,只加入字幕軌,執行底下的指令:

ffmpeg.exe -i source.mp4 -sub_charenc CP950 -i source.srt -c:s mov_text -c:v copy -c:a copy   output.mp4

上面 ffmpeg.exe 、source.mp4、source.srt 及 output.mp4 的路徑記得自行修改為存放的路徑。

指令的參數簡單說明一下:

  • -i source.mp4 : 指定影片的來源檔案。
  • -sub_charenc CP950 : 字幕中的文字編碼,以 ANSI 編碼的中文用 CP950 即可。
  • -i source.srt  : 指定字幕檔案。
  • -c:s mov_text : 加入 MP4 或 MOV 的字幕軌。
  • -c:v copy : 影像的內容直接用來源檔中的,不做更動。
  • -c:a copy : 聲音的內容直接用來源檔中的,不做更動。


這種方式由於不用重新轉檔,非常有效率,一下子就好了。FFmpeg 真是一個強大的跨平臺影片處理工具,改天再來好好的研究研究。


沒有留言:

張貼留言

 
© 2009. Design by Pocket