有些電影的視頻與字幕是分離的,如果在視頻中嵌入字幕,那么觀看起來會更方便一些,不必在播放前額外去加載字幕文件。
在 Linux 中,可以使用 ffmpeg 命令實現上述功能。
ffmpeg -i infile.mp4 -i infile.srt -c copy -c:s mov_text outfile.mp4
注意, -c copy -c:s mov_text 的順序是非常重要的,因為這是簡寫。或者可以使用如下選項 -c:v copy -c:a copy -c:s mov_text ,在這組選項里,順序就不重要了。
其中, -i 選項用於指定需要讀取的文件,在這里是視頻文件與字幕文件(字幕文件 srt 與 ass 格式皆可)。
但是,對於格式為 Matroska 的視頻文件(擴展名為 mkv),上述命令會提示錯誤信息:Subtitle codec 94213 is not supported,應當使用如下命令:
ffmpeg -i infile.mkv -i infile.srt -c copy -c:s srt outfile.mkv
注意: 如果在使用ffmpeg命令嵌入字幕后,您又想把視頻分隔成小段,那么小段視頻中是不包含字幕的。詞是需要用到 PR或者 Camtasia 這些視頻編輯軟件,我習慣用 Camtasia 9 渲染音視頻和字幕。
camtasia 9有時候不能正確讀取視頻中的音頻,這時您需要用音頻提取工具(mp3轉換器、AudioExtractor )把視頻中的音頻提取為mp3,然后再導入Camtasia 的媒體--加入時間軸上。
由於 camtasia 不支持mkv 格式的導入,所以遇到mkv 格式的視頻需要先用ffmpeg 命令將mkv轉成 mp4再導入到camtasia中。
ffmpeg -i 源文件名 -c:v copy -c:a aac 目標文件名 例如: ffmpeg -i 1.mkv -c:v copy -c:a aac 1.mp4
轉載自 https://blog.csdn.net/weixin_33929309/article/details/94308779