如何将字幕轨道“刻录”到mp4视频文件


10

我想将字幕文件作为mp4视频文件的一部分,这样我就不必处理两个单独的文件。

我想象两种方式:

  • 使字幕成为视频的固有部分。这将需要视频重新编码。
  • 将字幕设为单独的流,但仍嵌入在同一视频文件中。这是更可取的,特别是因为我可以禁用它(与其他方法不同),甚至可以使用字体类型/大小。

我该如何做第二种方式?知道第一种方法的工作原理也很愚蠢。


1
我还没有解决,但是我很感兴趣...似乎mp4(MPEG-4)容器可以处理单独的嵌入式字幕流..(对我而言)这就是要走的路。如果将字幕硬性移植到视频本身中,则需要重新编码视频并将其永久嵌入...硬“编码”字幕的唯一优点是视频播放器不需要可以识别mp4-subtitle-stream ...硬编码AVI是很简单的,但是我还不需要使用字幕流(还:)。您的字幕格式在哪里?
Peter.O 2011年

@fred我的字幕文件以结束.srt,而Nautilus告诉我格式是SubRip字幕(application / x-subrip)。
tshepang 2011年

Answers:


9

所述的Matroska(MKV)容器格式支持嵌入作为单独的流引入该文件的基于文本的字幕。

您可以使用mkvmerge将文件重新混合为.mkv,并在输出中包含字幕,您可以在播放视频时启用/禁用字幕。请注意,此方法不会重新编码视频或音频,只是将相同的数据放入不同的容器格式,因此不会降低视频的质量。

mkvmerge -o output.mkv video.mp4 subtitles.srt

像魅力一样运作,并且如此之快,我以为它在启动时就崩溃了!
Tomislav Nakic-Alfirevic '18

3

在一个名为的软件包中gpac,有一个名为MP4Box

这是对我有用的示例。

MP4Box  -add ~/file.noaudio.mp4 \
        -add ~/file.mp3 \
        -add ~/file.srt \
             ~/file.MP4Box.mp4   

我使用了仅视频和仅音频的方法,但是肯定可以(?)与普通的音频和视频“电影”一起使用...。已经很晚了,所以我就把它留在那儿...

注意:字幕只能在图腾中使用,而不能在SMPlayer中使用...


1

尝试类似的东西:

mencoder -oac copy -ovc copy -sub subs.srt video.mp4 -o new_video.mp4

那不行 它会导致音频和视频失真,并且视频会被截断(初始文件为〜1.6GB,结果文件为〜200MB)。我使用mencoder 1.0-rc3。
tshepang 2011年

我有一个mp4文件和一个srt。但是带有这些参数的字幕不会出现在结果文件中。:(
TrueY

正是我要找的东西。将其与WebM视频(VP8视频轨道,VORBIS音频轨道)进行了尝试,结果出现了断点视频。耻辱。:\
Tomislav Nakic-Alfirevic '18
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.