我已经安装MKVToolNix
和Subtitle edit
. 我能够Subtitle edit
通过 OCR 提取字幕。虽然它可用,但它带有很多错误。
现在我想用MKVToolNix
提取字幕。我可以看到它列在音频和视频轨道中。但我不确定如何将其从程序中删除。
在参考了谷歌和这里的一些指南之后,我也尝试了一些 FFMPEG 命令。他们都没有工作。例如
ffmpeg -i Movie.mkv -map 0:s:0: subs.srt
如果有人可以帮助我找到解决方案,那就太好了。谢谢。
PS:我使用 Ubuntu 18.04。
MKVCleaver是一个不错的选择,具有清晰的 GUI。但是由于没有人更正 ffmpeg 命令,您也可以这样做。你只是在 -map 的末尾多了一个冒号。
这是一个工作命令:
我为此使用MKVCleaver,因为它
mkvtoolnix
在 Windows 上提供了一个简单的 GUI 界面。您只需将 MKV 文件(或多个文件)拖放到其上,单击要提取的曲目的复选框,然后单击“提取曲目”。
默认情况下,您的字幕轨道将使用名称导出
FileName_TrackNo.ext
。对于 DVD 字幕,它将导出两个文件,即字幕时间和位置索引以及实际的图形字幕。然后您可以将这些文件导入 SubtitleEdit。我发现它比单独的SubtitleEdit更可靠和准确,由于某种原因,它的 DVD/MKV 提取器并不完全可靠。
对于命令行和替代操作系统(您提到 Ubuntu),您可以使用
mkvextract
已安装的 mkvtoolnix 的一部分。来自Cornelius在AskUbuntu 上从 mkv 提取字幕中的回答:
虽然评论建议使用
mkvmerge -i <filename>
获取更直接可用的轨道号mkvextract
。正如你提到ffmpeg -i filename.mkv
的也是可用的。我在 MacOS 10.14.6 上使用了需要MKVToolNix (52.0.0) 的Inviska MKV Extract并且运行良好。只需拖放多个 .mkv 文件,选择每个文件所需的内容、音频或字幕,然后单击开始。
我的十美分.....也许只是一个方面,但我自己只是编写了一个简单的脚本作为 Windows 批处理文件来从 MKV 视频中提取所有 SRT 字幕。她的脚本循环当前目录中的所有 mkv 文件,并为每个 sub 生成一个 srt 文件。每个生成的字幕文件都以天气或非强制命名以及语言命名。
我不是一个流畅的脚本大师。它不是很漂亮,但它适用于医学:-)
我使用字幕编辑 https://www.videohelp.com/software/Subtitle-Edit
只需拖入 mkv 文件,然后在从 mkv 文件中选择所需的字幕后按保存,您也可以轻松编辑它
我知道这里已经有几个答案,但是如果您需要在 macOS 上使用命令行,都没有完全回答这个问题,所以我也添加了我的。
实际上,mokubai在他的评论中发现了这个问题:AskUbuntu 论坛上有一个类似的问题,其中一个答案提供了一个完整的脚本,但是它不起作用。
我已经从头开始重写了脚本,并且还对其进行了适当的注释,以防以后有人需要对其进行调整。您只需要安装 MKVToolNix,无需其他依赖项。