ffmpeg 如何将 dvd_subtitles 提取到单独的文件中?

ffmpeg 如何将 dvd_subtitles 提取到单独的文件中?

如何使用 ffmpeg 将 .mkv 文件中的 dvd_subtitles 提取到单独的文件(例如 .sub 或 .idx)中?或者两者都提取?

谢谢你的帮助/建议。

答案1

目前看来还不可能:
FFmpeg 错误跟踪器:#2391 - VobSub 复用器

现在您可以做的ffmpeg就是重新混合为 MKV 或 VOB:

ffmpeg -i input.vob -map 0:s -c copy output.mkv

答案2

我会对此发表意见,因为其他人可能对标记为 的字幕有疑问dvd_subtitle

我一直在使用 ffmpeg 转换使用 Makemkv 翻录的文件并对其进行转码以调整大小。所有字幕都输出为dvd_subtitle无法提取的字幕。我所做的有点混乱,但它允许我将SUBRIP字幕添加到输出文件中。我刚刚编写了此文件,它不支持多个.srt文件。我希望让它更强大,以便提取和插入SUBRIP所有存在的字幕。

我还没有找到为什么 ffmpeg 要将SUBRIP字幕转换为这个格式的答案dvd_subtitle,但它把事情搞得一团糟。我发现我的电视不能将字幕显示得非常大,但SUBRIP可以正常显示。

首先,我从源视频中提取字幕:

ffmpeg -i %FILE% %FILE%TEMPSUBTITLE$$.srt

其次,我复制了没有字幕的视频:

ffmpeg -i %FILE% -c copy -sn %FILE%TEMPVIDEO$$.MKV

最后我重新编码我的文件并添加回 SRT 文件:

ffmpeg.exe -analyzeduration 100M -probesize 100M  -i TEMPVIDEO$$.MKV -f srt -i TEMPSUBTITLE$$.SRT %GPUENCODE% -vf scale=1920x1080 -crf 30  -c:s copy  -c:v libx264  -codec:a aac -rc-lookahead 8 -bf 8 %FILE%.conv.mkv

答案3

ffmpeg将把基于图像的字幕提取到独立文件中。例如,其中第三个流是file.mkv...中的字幕

前列腺增生 ( .pgs):

ffmpeg -i file.mkv -map 0:2 -c:s:0 copy sub.pgs

VobSub(.vob):

ffmpeg -i file.mkv -map 0:2 -c:s:0 copy sub.vob

您可以使用诸如SubtitleEdit对独立的基于图像的字幕文件执行 OCR 的程序,并将结果导出为基于文本的格式,例如 SRT(.srt)。

相关内容