合并视频文件和字幕
Posted
技术标签:
【中文标题】合并视频文件和字幕【英文标题】:Merge video files and subtitles 【发布时间】:2019-10-28 15:59:29 【问题描述】:我有一些文件
chapter1.mp4
chapter1.srt
chapter2.mp4
chapter2.srt
chapter3.mp4
chapter3.srt
我知道如何合并视频文件,但是字幕呢,我不想将其硬编码为视频。是否可以合并并在单个 .srt 文件中设置适当的时间?
【问题讨论】:
使用 ffmpeg 你可以制作一个包含 mp4 和 srt 的 mkv 容器文件。 嗨@zakari。您如何合并视频文件?也许你的工具也可以合并 srt ......正如 Smile4ever 提到的,ffmpeg 也是一个可以同时做这两者的工具,它真的很强大,但有一个命令行界面。-itsoffset offset (input)
参数听起来很有希望……
【参考方案1】:
您可以通过 ffmpeg 做到这一点。
虽然可能有一种(复杂的)方法可以先连接 srt 文件,但最简单的方法是先组合视频和文本对,然后再连接生成的容器文件。
-
复制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。
对第 2 章和第 3 章重复相同的命令
使用生成的文件名创建一个文本文件(例如 chapters.txt)
chapter1-srt.mp4
chapter2-srt.mp4
chapter3-srt.mp4
-
连接文本文件中列出的生成的容器文件
ffmpeg -f concat -safe 0 -i chapters.txt -c copy everything.mp4
见ffmpeg's concatenate demuxer
【讨论】:
以上是关于合并视频文件和字幕的主要内容,如果未能解决你的问题,请参考以下文章