2013-10-16

將 SRT 字幕塞進 MP4 檔案


一般情況下,只要把SRT字幕檔案和影片檔設為同樣的名稱,播放器就能夠讀取到字幕,但如果不想要影片和字幕分成兩個檔案,可以透過 ffmpeg 把字幕檔併入影片檔裡面。(註:可以隨意開啟或關閉,而不是直接和影像融合)

  • 使用 -i 來表示要合併的檔案,即影片檔和字幕檔
  • 字幕檔的前面還必須用 -sub_charenc來設定字幕檔的編碼,例如 UTF-8、CP874、CP936 等等
-i Video.mp4
-sub_charenc UTF-8 -i Subtitle_A.srt   
-sub_charenc UTF-8 -i Subtitle_B.srt
 
  • 接著用 -map 0 -c copy ,表示複製第 0 個檔案的內容,因為這裡只是要加上字幕,沒有要更動影片本身(註:順序是由 0 開始,故第一個檔案是 0)
-map  0  -c  copy

  • 再用 -map 1 -c:s:0 mov_text,表示把第 1 個檔案,也就是字幕檔 A,轉為 mov_text 格式
  • 最後用 -metadata:s:s:0 ,設定第一個字幕的語言,這裡要用 ISO-639 三個字母的代碼,例如 eng、deu、zho 等等
-map 1 -c:s:0 mov_text    -metadata:s:s:0 language=deu

  •  字幕檔 B 也用同樣的方式
-map 2 -c:s:1 mov_text    -metadata:s:s:1 language=zho


把這些參數依次排列,最後再寫上要輸出的檔案名稱:
ffmpeg -i Video.mp4 -sub_charenc UTF-8 -i Subtitle_A.srt -sub_charenc UTF-8 -i Subtitle_B.srt -map 0 -c copy -map 1 -c:s:0 mov_text -metadata:s:s:0 language=deu -map 2 -c:s:1 mov_text -metadata:s:s:1 -language=zho  output.mp4  


參考資料
  1.  http://en.wikibooks.org/wiki/FFMPEG_An_Intermediate_Guide/subtitle_options

沒有留言:

張貼留言


感謝您的留言,用國語、閩南語或德語都OK喔!
Vielen Dank für Ihren Kommentar.

敬請使用正體字
Verwenden Sie bitte Langzeichen (traditionelle Schriftzeichen), wenn Sie Ihren Kommentar auf Mandarin schreiben möchten.

解決 elementary OS 影片畫面撕裂問題

環境: elementary OS 0.3.2 Freya (based on Ubuntu 14.04) Intel HD Graphics 4400 步驟: 更新顯示卡驅動程式 以 sudo 身份開啟檔案管理員 進入 /usr/shar...