写这篇文章的主要原因是我有 movie.mp4,我已为其下载了 SRT。当我手动添加 SRT 时,VLC 会使用其设置来更改 SRT 的字体/大小等。但如果我嵌入字幕文件,它就不再起作用了。我发现这是 mp4/mov_text 的问题!
有可能将字幕嵌入 MP4但我发现VLC 忽略 MP4 的字幕设置和看不到 MP4 的软编码字幕
我想转换
movie.mp4
到
movie.mkv
无需重新编码(LossLess)并添加字幕。
答案1
此命令不适用于带有内嵌字幕的 mp4,从 Mp4 中提取字幕将产生 MOV_TEXT 样式的字幕文件,这不是您想要的。基本上,在 Google 上搜索 SRT,测试一下,然后我们就可以开始了。
如果您嵌入了 SRT,您还需要一个仅包含视频和音频的单独文件。剥离 srt 流,只留下您想要的视频和音频。
例子:
ffmpeg -i movie.mp4 -map 0:0 -vcodec copy -map 0:1 -acodec copy movienosubs.mp4
因此我们假设你现在有
subtitle.srt
movienosubs.mp4
FFMPEG 命令将是这样的:(请注意,这仅复制第一个音频流,如果您不想变得更复杂,您可能需要摆弄映射流,但您明白了)
ffmpeg -i movienosubs.mp4 -i subtitle.srt -c:v copy -c:a copy -c:s copy movieFINAL.mkv
答案2
MKV 文件是一个容器,您可以在其中放置视频、音频和文本(字幕)。如果您在使用命令行 ffmpeg 工具时遇到困难(如前所述),您可以尝试使用 GUI 工具,例如 MKVToolnix。在此过程中无需重新编码,实际上只是复制。
答案3
你可以使用我的程序媒体转换器(这是一个展示其部分功能的 FFmpeg GUI),它的作用就是,您可以复制所有流而无需转码。 http://dmsimpleapps.blogspot.ro/2014/04/dmmediaconverter.html