在第一次轉換中,你的原始檔案是含有隱藏式字幕的 TS 檔。MCEBuddy 會將這些字幕提取成 SRT 檔,但由於 MP4Box 失敗,導致無法將其封裝回去。
不過你使用了自訂設定檔,而該設定檔指示 HandBrake 在轉檔時尋找隱藏式字幕;HandBrake 會在 TS 串流中找到這些已混流的隱藏式字幕,並自動將其轉成內嵌的 SRT 檔。
第二次轉換時,你從一個已內嵌 SRT 的 M4V 檔開始,MCEBuddy 會先提取 SRT,並將 M4V 重新封裝成 TS 格式以便處理(此時已不含任何字幕或隱藏式字幕),因此當 HandBrake 處理時偵測不到任何字幕,最終 MCEBuddy 嘗試把字幕放回容器時就會在你這邊失敗。
你有三種選擇:
- 換一台 MP4Box 不會出錯的電腦(我這邊 Windows 10 64 位元運作正常)。
- 為第二次轉換任務啟用
Skip remuxing選項(這樣 MCEBuddy 就不會把 M4V 重新封裝成 TS,HandBrake 拿到原始 M4V 時或許就能偵測並保留內嵌的 SRT)。 - 修改第二次轉換的設定檔,讓 HandBrake 使用 MCEBuddy 提取出的 SRT 檔(與重新封裝後的 TS 檔一起放在暫存資料夾),並將其內嵌到轉換後的 M4V。請在設定檔的
handbrake-video行加入--srt-file <source_without_ext>.srt。詳情請參考插入特殊命令,了解 <source_without_ext> 的運作方式。