如何使用 ffmpeg 将 MKV 转换为 MP4 并保留所有视频、音轨和字幕?

如何使用 ffmpeg 将 MKV 转换为 MP4 并保留所有视频、音轨和字幕?

我一直在尝试使用 ffmpeg -i input.mkv -vcodec copy -acodec copy output.mp4

input.mkv两个不同audio track和一个subtitle

但我遇到的问题是,当我转换时,只有默认值audio track保留,而第二个audio track和第二个subtitle没有转换

参考图

答案1

如果字幕流包含特殊格式以外的格式,则可能无法使用 mp4 容器MPEG-4 Timed Text。但您可以对其进行转换:

ffmpeg -i input.mkv -vcodec copy -acodec copy -scodec mov_text output.mp4

这样,您就可以获取所有流,包括转换后的字幕。

此命令仅复制视频和音频流,不会重新编码。字幕被翻译成“定时文本”

答案2

使用-map高级选项。请参阅手册页(man ffmpeg),但基本上使用-map 0

摘自手册页:

For example, to map ALL streams from the first input file to output 

ffmpeg -i INPUT -map 0 output

答案3

作为 ffmpeg 的 GUI,有以下工具:媒体转换器

非常容易使用,但是对于字幕,我必须编辑字幕编解码器并更改为 mov_text,正如@kanehekili 在另一个答案中指出的那样。

在此处输入图片描述

相关内容