ffmpeg 處理字幕

2021-10-11 01:39:23 字數 1442 閱讀 8515

好訊息是,字幕製作的軟體很專業很好用,而且上手超級簡單。

我們今天講解使用 ffmpeg 解決大家的這個痛點。

1 - 軟編碼

ffmpeg -i input.mkv -c copy -c:s mov_text output.mp4

ffmpeg -i input.mkv -map 0 -c copy -c:s mov_text -metadata:s:s:0 language=eng -metadata:s:s:1 language=ipk output.mp4

ffmpeg -i input.mkv -map 0 -c:v libx264 -c:a aac -c:s mov_text -metadata:s:s:0 language=eng -metadata:s:s:1 language=ipk output.mp4

ffmpeg -i input.mkv -map 0:v:0 -map 0:a:1 -map 0:s:2 -c:v libx264 -c:a aac -c:s mov_text -metadata:s:s:0 language=eng output.mp4

2 - 硬編碼首先說一下基於文字的字幕輸入。我們使用ffmpeg 的 subtitle filter 過濾器處理字幕輸入檔案,格式通常是 ass srt vtt 等。這樣的編碼方式,比上一節中使用的軟編碼方式要慢的多,因為進行了重新編碼。

對音訊檔案流拷貝,並使用 subtitle 過濾器,基本用法如下:

ffmpeg -i input.mkv -filter_complex "subtitles=input.mkv" -c:a copy output.mp4

ffmpeg -i input.mkv -filter_complex "[0:v:2]subtitles=input.mkv:si=4[v]" -map "[v]" -map 0:a:0 -c:a copy output.mp4

只要像下面這麼寫:

ffmpeg -i input.mp4 -filter_complex "subtitles=your-subtitles-file.srt" -c:a copy output.mp4

ffmpeg -i input.mkv -filter_complex "[0:v:1][0:s:3]overlay[v]" -map "[v]" -map 0:a:6 -c:a copy output.mp4

通過上述幾個例子,大家應該對 map 選項,v,a,s 流通道有深刻的認識了吧。

ffmpeg 載入雙語字幕

set infile in.mp4 set subfile1 cn.srt set subfile2 en.srt set subvf1 subtitles subfile1 force style fontsize 12,marginv 12,borderstyle 1,outline 1,sha...

字幕基礎 字幕介紹 字幕種類及常見格式

字幕是指電影 電視,以及戲劇 歌劇等舞台作品中出現的各種用途的文字。如版權標識 片名字幕 演 職 員表 說明字幕 歌詞字幕 對白字幕等。這些字幕按照影片放映時出現的先後順序而分為片頭字幕 片間字幕和片尾字幕。一般情況下,片頭 片尾字幕疊印在畫面上,而對白 歌詞等字幕一般出現在螢幕下方,戲劇等舞台傷口...

字幕基礎 字幕介紹 字幕種類及常見格式

字幕是指電影 電視,以及戲劇 歌劇等舞台作品中出現的各種用途的文字。如版權標識 片名字幕 演 職 員表 說明字幕 歌詞字幕 對白字幕等。這些字幕按照影片放映時出現的先後順序而分為片頭字幕 片間字幕和片尾字幕。一般情況下,片頭 片尾字幕疊印在畫面上,而對白 歌詞等字幕一般出現在螢幕下方,戲劇等舞台傷口...