jspang
(Joe)
1
您好,
我有一个从 DVD 制作的 mkv 文件。该文件包含多个包含字幕信息的音轨。当我用 VLC 打开该文件时,字幕轨道显示为 编解码器:DVD 字幕 (spu)
我使用 MCEBuddy 的目标是将视频文件转换为 MP4(目前使用 MP4 Normal,但也尝试了 MP4 Unprocessed),并让 MCEBuddy 创建一个外部 srt 文件用于字幕。转换为 MP4 不是问题,但我从未收到 srt 文件。我已经安装了 OCR 附加组件,但似乎也不起作用。附上转换日志。MKVExtract 将字幕轨道检测为“‘S_VOBSUB’”,所以我认为需要 OCR。
我尝试设置音轨语言,启用所有字幕和隐藏式字幕选项,但都没有成功。
转换日志中值得注意的一些项目:2025-10-09T13:12:55 MCEBuddy.AppWrapper.MKVExtract → 正在写入 VobSub 索引文件 ‘C:\\Program Files\\MCEBuddy2x\\working0\\Twilight (2008).eng.srt_mkv.idx’。
2025-10-09T13:12:55 MCEBuddy.AppWrapper.MKVExtract → 进度:100%
→ 进程退出代码为 0
警告> → 尝试处理字幕文件时出错
System.IO.FileNotFoundException: 找不到文件 ‘C:\\Program Files\\MCEBuddy2x\\working0\\Twilight (2008).eng.srt_mkv.tmp’。
文件名:‘C:\\Program Files\\MCEBuddy2x\\working0\\Twilight (2008).eng.srt_mkv.tmp’
at System.IO.\__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
at MCEBuddy.Transcode.CCandSubtitles.ParseAndConvertSubtitleToSRT(String inputSubtitleFile, String outputSRTFile, Log jobLog)
警告> 2025-10-09T13:12:58 MCEBuddy.Transcode.CCandSubtitles → 提取的字幕文件 C:\\Program Files\\MCEBuddy2x\\working0\\Twilight (2008).eng.srt 为空,正在删除它
Twilight (2008).mkv-DVD_Convert-2025-10-09T13-01-19.log (4.5 MB)
看起来你在使用 MCEBuddy 从 MKV 文件中提取 VobSub 字幕并将其转换为 SRT 格式时遇到了问题,即使已经安装了 OCR 附加组件也是如此。日志显示 MKVExtract 能够创建 IDX 文件,但随后 MCEBuddy 报告了针对 .tmp 文件的 FileNotFoundException,并最终删除了一个“空字幕文件(empty subtitle file)”。
VobSub 字幕是基于图像的,因此确实需要 OCR 来将它们转换为基于文本的 SRT 文件。FileNotFoundException 和“Empty Subtitle file”消息表明,要么是 OCR 过程未能成功创建临时文件,要么是 MCEBuddy 在读取或处理该文件时遇到了问题。
让我们来排查一下这个问题。
首先,你能确认以下几点吗:
- OCR 附加组件安装: 你提到你安装了 OCR 附加组件。你能确认一下你安装的是哪个 OCR 附加组件(例如,具体版本或你从哪里下载的)吗?有时可能会有不同的版本或配置。
- MCEBuddy 版本: 你当前使用的是哪个版本的 MCEBuddy?此信息通常位于转换日志的顶部。
- 字幕轨道选择: 在你的 MCEBuddy 转换任务中,在“Subtitles”标签页下,你是否勾选了“Extract Closed Captions/Subtitles”?此外,在“Subtitle Language (OCR)”下,是否选择了正确的语言(例如英语)进行 OCR 处理?
在此期间,让我们在论坛上寻找类似的问题或解决方案。我将搜索“VobSub”和“OCR”,看看其他用户是否遇到过这种情况。
嗨,乔,
看起来你在尝试使用 MCEBuddy 将 VobSub (DVD) 字幕提取为 SRT 文件时遇到了一个常见问题。日志表明 MCEBuddy 正在检测 VobSub 轨道并尝试创建索引文件,但随后未能找到临时文件,导致出现“Empty Subtitle file”警告并将其删除。这表明将 VobSub 图像转换为 SRT 可读文本所需的 OCR(光学字符识别)过程出现了问题。
既然你已经安装了 OCR 附加组件,让我们探讨几种可能性:
- OCR 引擎问题: 有时,OCR 引擎可能会在处理 VobSub 图像的特定字体或质量时遇到困难。
- 权限: 确保 MCEBuddy 对
C:\\Program Files\\MCEBuddy2x\\working0\\ 目录拥有完全的读/写权限。
- 临时文件删除: 可能是杀毒软件或其他系统进程过早地删除了 MCEBuddy 在 OCR 过程中创建的临时文件。
- VobSub 轨道损坏: 虽然不太常见,但 MKV 中损坏的 VobSub 轨道可能会在提取和 OCR 过程中引发问题。
为了进一步帮助诊断,你能否尝试以下操作:
- 尝试另一个带有 VobSub 字幕的 MKV 文件(如果有的话): 这将有助于确定问题是你的“Twilight”文件独有的,还是 VobSub OCR 的更普遍的问题。
- 手动提取 VobSub 轨道: 你可以使用诸如 MKVExtractGUI(MKVToolNix 的图形界面)之类的工具,将 VobSub 轨道从你的 MKV 文件中手动提取为
.idx 和 .sub 对。然后,你可以尝试使用独立的 OCR 工具(如 SubRip)将它们转换为 SRT,以查看 VobSub 数据本身是否可解析。这有助于隔离问题是出在 MCEBuddy 的内部 OCR 过程还是字幕数据本身。
- 检查 MCEBuddy 的 OCR 设置: 仔细检查你的 MCEBuddy 中与字幕和 OCR 相关的设置。如果有针对 VobSub 字幕的特定选项,请确保已明确启用 OCR。
我附上了几个可能提供更多见解的相关主题链接,尽管它们可能没有直接解决你看到的 FileNotFoundException:
尝试这些建议后,请告诉我你的发现!
Goose
(Goose)
3
請嘗試最新的 2.7.1 beta 版,整個字幕擷取功能都已重新設計,並新增了完整的 OCR 偵測和擷取功能(您目前使用的是 2.6.6,它不支援所有類型的 OCR)。
jspang
(Joe)
4
嗨,Goose,
謝謝!使用最新的 2.7.1 beta 版,我取得了進展。我啟用了「擷取內嵌字幕」設定。請注意,我的音訊語言仍然設定為預設值。
我現在確實得到了一個 srt 文件(以及目標目錄中的一個 idx 文件),但它無法讀取。請參見附件。
Twilight (2008).mkv-DVD_Convert-2025-10-10T05-59-29.log (2.2 MB)
Twilight-2025-10-08 0610.eng.srt (389.7 KB)
Goose
(Goose)
5
嗯,我在日誌中沒有看到任何明顯的錯誤,但我看到該檔案有一些問題。需要重現它才能了解情況。您能將整個原始檔案上傳到伺服器,以便我們分析並了解情況嗎?
jspang
(Joe)
6
你好,Goose,
谢谢!我刚把它上传到 FTP 网站上的 jspang 文件夹。如果你能重现这个问题,请告诉我。非常感谢你帮忙查看。
我希望今晚能有更多时间尝试另一个包含基于图像字幕的不同电影的文件,以确保这不仅仅是偶然现象。
文件名:Twilight (2008).mkv
Goose
(Goose)
7
感谢您的报告,我将此移至错误类别。我们已在今天的 2.7.1 beta 构建版本中修复了此问题。请试用并告知我结果。
jspang
(Joe)
8
您好,
我剛安裝了最新的測試版。我重新下載了 OCR 文件並再次運行了轉換。現在,我沒有得到亂碼的 srt 文件,而是得到了一些 .idx 和 .sub 文件,但沒有 .srt 文件。
我可以使用像 Subtitle Edit 這樣的程式來處理這些文件,但不確定這是否是預期的?對我來說,這看起來不像使用了任何 OCR 來實際將其轉換為文本。附上轉換日誌。
Twilight (2008).mkv-DVD_Convert-2025-10-19T20-13-51.log (2.3 MB)
Goose
(Goose)
9
这就是预期的输出。如果它有 sub 和 idx 文件,则保持原样。这些是基于图像的字幕,因为大多数播放器都可以播放 sub/idx 字幕。
如果您有硬字幕(烧录字幕),MCEBuddy 将执行 OCR 将其转换为 SRT 文件,或者如果它因某种原因无法将基于图像的字幕轨道提取为 idx/sub 格式,它也会将它们转换为 SRT 文件。
jspang
(Joe)
10
您好,
完美。出于某种原因,我一直以为它应该是 srt 格式。抱歉造成混淆。
那么这就都解决了。我将继续测试 beta 版,因为我还有很多带有基于图像的字幕的媒体,如果出现任何问题,我会单独报告。