MKV 字幕提取 VobSub 错误

您好,

我有一个从 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)

It looks like you’re having trouble getting MCEBuddy to extract VobSub subtitles from your MKV file and convert them to an SRT format, even with the OCR add-on installed. The log shows that MKVExtract is able to create an IDX file, but then MCEBuddy reports a FileNotFoundException for a .tmp file and ends up deleting an “empty subtitle file.”

VobSub subtitles are image-based, so OCR is indeed necessary to convert them into text-based SRT files. The FileNotFoundException and the “Empty Subtitle file” message suggest that either the OCR process isn’t successfully creating the temporary file or there’s an issue with MCEBuddy reading or processing it.

Let’s try to troubleshoot this.

First, could you confirm a few things:

  1. OCR Add-on Installation: You mentioned you installed the OCR add-on. Can you confirm which OCR add-on you installed (e.g., specific version or where you downloaded it from)? Sometimes there can be different versions or configurations.
  2. MCEBuddy Version: What version of MCEBuddy are you currently using? This information is usually at the top of your conversion log.
  3. Subtitle Track Selection: In your MCEBuddy conversion task, under the “Subtitles” tab, have you selected “Extract Closed Captions/Subtitles”? And also, under “Subtitle Language (OCR),” is the correct language (e.g., English) selected for OCR processing?

In the meantime, let’s look for similar issues or solutions on the forum. I’ll search for “VobSub” and “OCR” to see if other users have encountered this.

Hi Joe,

It looks like you’re encountering a common issue when trying to extract VobSub (DVD) subtitles as SRT files with MCEBuddy. The log indicates that MCEBuddy is detecting the VobSub track and attempting to create an index file, but then it’s failing to find a temporary file, leading to an “Empty Subtitle file” warning and deletion. This suggests an issue with the OCR (Optical Character Recognition) process that’s needed to convert VobSub images into readable text for SRT.

Since you’ve already installed the OCR add-on, let’s explore a few possibilities:

  1. OCR Engine Issues: Sometimes, the OCR engine might struggle with the specific font or quality of the VobSub images.
  2. Permissions: Ensure MCEBuddy has full read/write permissions to the C:\\Program Files\\MCEBuddy2x\\working0\\ directory.
  3. Temporary File Deletion: It’s possible an antivirus or other system process is prematurely deleting the temporary file that MCEBuddy creates during the OCR process.
  4. Corrupt VobSub Track: While less common, a corrupt VobSub track in the MKV could cause issues during extraction and OCR.

To help diagnose this further, could you try the following:

  • Try another MKV file with VobSub subtitles (if you have one): This would help determine if the issue is specific to your “Twilight” file or a more general problem with VobSub OCR.
  • Manually extract the VobSub track: You can use a tool like MKVExtractGUI (a graphical interface for MKVToolNix) to manually extract the VobSub track from your MKV file as an .idx and .sub pair. Then, you can try using a standalone OCR tool (like SubRip) to convert those into an SRT to see if the VobSub data itself is parsable. This would help isolate if the problem is with MCEBuddy’s internal OCR process or the subtitle data itself.
  • Check MCEBuddy’s OCR settings: Double-check your MCEBuddy settings related to subtitles and OCR. Make sure OCR is explicitly enabled for VobSub tracks if there’s a specific option for it.

I’m linking a few related topics that might offer additional insights, although they may not directly address the FileNotFoundException you’re seeing:

Let me know what you find after trying these suggestions!

請嘗試最新的 2.7.1 beta 版,整個字幕擷取功能都已重新設計,並新增了完整的 OCR 偵測和擷取功能(您目前使用的是 2.6.6,它不支援所有類型的 OCR)。

嗨,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,

谢谢!我刚把它上传到 FTP 网站上的 jspang 文件夹。如果你能重现这个问题,请告诉我。非常感谢你帮忙查看。

我希望今晚能有更多时间尝试另一个包含基于图像字幕的不同电影的文件,以确保这不仅仅是偶然现象。

文件名:Twilight (2008).mkv

感谢您的报告,我将此移至错误类别。我们已在今天的 2.7.1 beta 构建版本中修复了此问题。请试用并告知我结果。

您好,

我剛安裝了最新的測試版。我重新下載了 OCR 文件並再次運行了轉換。現在,我沒有得到亂碼的 srt 文件,而是得到了一些 .idx 和 .sub 文件,但沒有 .srt 文件。

我可以使用像 Subtitle Edit 這樣的程式來處理這些文件,但不確定這是否是預期的?對我來說,這看起來不像使用了任何 OCR 來實際將其轉換為文本。附上轉換日誌。

Twilight (2008).mkv-DVD_Convert-2025-10-19T20-13-51.log (2.3 MB)

这就是预期的输出。如果它有 sub 和 idx 文件,则保持原样。这些是基于图像的字幕,因为大多数播放器都可以播放 sub/idx 字幕。

如果您有硬字幕(烧录字幕),MCEBuddy 将执行 OCR 将其转换为 SRT 文件,或者如果它因某种原因无法将基于图像的字幕轨道提取为 idx/sub 格式,它也会将它们转换为 SRT 文件。

您好,

完美。出于某种原因,我一直以为它应该是 srt 格式。抱歉造成混淆。

那么这就都解决了。我将继续测试 beta 版,因为我还有很多带有基于图像的字幕的媒体,如果出现任何问题,我会单独报告。