我想将字幕文件作为 mp4 视频文件的一部分,这样我就不必处理两个单独的文件。
我想象两种方式:
- 使字幕成为视频的固有部分。这将需要视频重新编码。
- 使字幕成为单独的流,但仍嵌入到同一视频文件中。这是更可取的,特别是因为我可以禁用它(与其他方法不同),甚至可以使用字体类型/大小。
我该如何以第二种方式做事?了解第一种方法的工作原理也很酷。
答案1
这Matroska (mkv) 容器格式支持将基于文本的字幕作为单独的流嵌入到文件中。
你可以使用合并将文件重新混合为 .mkv 并在输出中包含字幕,您可以在播放视频时启用/禁用字幕。请注意,此方法不会重新编码视频或音频,它只是将相同的数据放入不同的容器格式中,因此不会降低视频的质量。
mkvmerge -o output.mkv video.mp4 subtitles.srt
答案2
在一个名为gpac
,有一个 CLI 实用程序称为MP4Box
这是对我有用的一个例子..
MP4Box -add ~/file.noaudio.mp4 \
-add ~/file.mp3 \
-add ~/file.srt \
~/file.MP4Box.mp4
我使用了纯视频和纯音频,但它肯定(?)可以与普通的音频+视频“电影”一起使用......现在已经很晚了,所以我就留在那里......
注意:字幕在 Totem 中有效,但在 SMPlayer 中无效...
答案3
尝试类似的方法:
mencoder -oac copy -ovc copy -sub subs.srt video.mp4 -o new_video.mp4