合并视频文件和字幕

时间:2019-10-28 15:59:29

标签: video merge subtitle

我有一些文件

chapter1.mp4
chapter1.srt
chapter2.mp4
chapter2.srt
chapter3.mp4
chapter3.srt

我知道如何合并视频文件,但是字幕呢,我不想将其硬编码为视频。是否有任何文件可以合并并在单个.srt文件中具有适当的时间安排?

1 个答案:

答案 0 :(得分:0)

您可以使用 ffmpeg 做到这一点。

虽然可能有一种(复杂的)方法先连接 srt 文件,但最简单的方法是先组合视频和文本对,然后连接生成的容器文件。

  1. 从chapter1.mp4复制所有内容并从chapter1.srt添加字幕
# Assuming English for subtitle language
ffmpeg -i chapter1.mp4 -i chapter1.srt -c copy -c:s mov_text -metadata:s:s:0 language=en -metadata:s:s:0 title=English chapter1-srt.mp4

-c copy 将复制chapter1.mp4 中可能存在的所有内容,而-c:s mov_text 会将chapter1.srt 中的文本流格式化为mp4 的字幕(mov_text)。结果将写入chapter1-srt.mp4

  1. 对第 2 章和第 3 章重复相同的命令

  2. 用生成的文件名创建一个文本文件(例如chapters.txt)

chapter1-srt.mp4
chapter2-srt.mp4
chapter3-srt.mp4
  1. 连接文本文件中列出的结果容器文件
ffmpeg -f concat -safe 0 -i chapters.txt -c copy everything.mp4

ffmpeg's concatenate demuxer