FFMPEG:将 MP4 转换为相同的 MP4(在不同的容器中)并添加字幕

FFMPEG:将 MP4 转换为相同的 MP4(在不同的容器中)并添加字幕

写这篇文章的主要原因是我有 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

在此处输入图片描述

相关内容