使用 FFMPEG 命令将视频的【外挂字幕】转为 【嵌入视频】


有些电影的视频与字幕是分离的,如果在视频中嵌入字幕,那么观看起来会更方便一些,不必在播放前额外去加载字幕文件。

在 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

posted @ 2020-11-12 23:31  刘江龙  阅读(3021)  评论(0编辑  收藏  举报