請求協助處理含有廣告刪除與轉檔為 HEVC 的 WebVTT 或 xVTT 字幕

請告訴我我正在嘗試做的事是否能夠在 MCEBUDDY 上完成

我想對錄影進行後處理,並轉移到 Plex。以下是我想要實現的目標。

  1. 保留 IPTV(如 pluto(xVTT))的字幕/CC。錄製使用 channels DVR。
  2. 轉碼為 H.265 與 MKV 或其他容器。
  3. 使用 comskip/comcut 在後處理時移除廣告,利用 channels DVR 產生的 EDL 檔案。
  4. 使用 GPU 硬體加速。

所有這些都運作良好,但我無法讓 MCEBUDDY 擷取這類字幕並嵌回轉碼後的檔案。我有一段 PowerShell 可以做到,使用 ffmpeg 傾出 bin 檔,再用 Python 解析未剪輯的 SRT。

有人做過這件事嗎?還是你需要前置/後置處理腳本?

更多線索使用 chatgpt:

這將只輸出文字:

ffmpeg -i "YourFile.mpg" -map 0:2 -c copy -f data "output.xvtt"

所以 -map 0:2 -c copy -f data 只會擷取 payload text(有效載荷文字)。時間戳被分別帶在 MPEG-TS/xVTT 封包結構中,並不屬於擷取的 bin_data payload。

這會產生某種封包資料:

ffprobe -select_streams d:0 
-show_packets 
-show_entries packet=pts,pts_time,dts,dts_time,size,flags 
-of csv 
"YourFile.mpg" > xvtt_packets.csv

然後我 tokens 用完了,只能等待。但它說可以:

我可以搞清楚封包結構並給你一個腳本:

  1. 讀取 xVTT 資料流。
  2. 讀取對應的 MPEG-TS PTS 時間戳。
  3. 將每段字幕與其時間戳關聯。
  4. 產生正常的 .vtt 檔案。
  5. 產出 Plex/MCEBuddy 可使用的格式。

重要的發現是 字幕文字肯定存在且可恢復。我們只需要保留/重建時間戳,而不是僅僅使用 -f data。

Update: 我已放棄這個策略,實在太複雜。

我改為使用 MCEBUDDY 進行轉碼,並使用 EDL 文件移除廣告,再將檔案放到適合 Plex 的資料夾/檔名。

接著我用 bazarr 下載 SRT 字幕並與音訊同步。你也需要使用 radarr 和 sonarr,但只要搞好設定就相當順利。

另外,訂購 opensubtitles.com 的 VIP 方案,每年 20 美元。

Done.

MCEBuddy 支援 WebVTT 及其他字幕格式。這項功能最近加入,也可以將字幕同步到符合廣告剪輯的位置。

我需要查看你的日誌文件以了解發生了什麼,或者最好的是,如果你能上傳原始影片、字幕和日誌文件,我們可以複製並查看實際情況。