如何从MP4和MKV电影中提取字幕


Answers:


47

MP4和3GP文件

免费的跨平台MP4Box仅适用于MP4或3GP容器。您可以从主页安装它。首先,您要查看不同的轨道,并查看哪个ID属于字幕轨道。

MP4Box -info input.mp4

查看字幕轨道旁边的ID。然后,根据<trackId>您要提取的轨道ID ,调用以下命令:

MP4Box -raw <trackID> input.mp4

或者,导出为常用的SRT格式:

MP4Box -srt <trackID> input.mp4

MKV文件

为了从Matroska(MKV)文件中提取字幕,您需要免费和开源的mkvtoolnix软件包。他们来为Windows和Linux和Mac上,你可以通过安装这些自制brew install mkvtoolnix

然后,检查文件:

mkvmerge -i input.mkv

这将列出曲目,例如:

File 'input.mkv': container: Matroska
Track ID 1: video (V_MPEG4/ISO/AVC)
Track ID 2: audio (A_AAC)
Track ID 3: subtitles (S_TEXT/UTF8)

根据轨道的ID,调用以下命令,即<trackID>您在上面标识的命令。<output>只是一个虚拟名称,您可以使用任何想要的名称。

mkvextract tracks input.mkv <trackID>:<output>.srt

因此,在我们的情况下,应该是:

mkvextract tracks input.mkv 3:subs.srt

1
这一切也适用于linux。我MP4Boxgpacapt-get包中找到了
aidan 2014年

1
要进入MP4BoxArch Linux,您需要gpac从社区仓库安装。
阿尔弗雷多·埃尔南德斯

11

这是实际上支持的任何文件格式的解决方案ffmpeg(甚至支持远程文件):

ffmpeg -i video.mp4 subtitle.srt

ffmpeg默认情况下,Ubuntu在较新的Ubuntu版本中提供,对于Mac OS X和Windows,则必须安装(通过从官方网站下载或通过自制软件下载)。

video.mp4是源本地或远程视频文件名,并且subtitle.srt是输出字幕文件名。指定输出的文件扩展名很重要,因为它ffmpeg会检测到您要提取的文件。也就是说,您可以指定.mp3文件扩展名以便从视频文件中提取mp3音频,也可以仅设置另一个视频容器以在格式之间进行转换。

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.