給任何找到這篇討論、想透過 Plex 決定電視節目該用哪一個 MCEBuddy 設定檔(例如某些節目要刪廣告、某些無廣告頻道則不刪)並使用 Plex 後製處理的人:這現在已經可行,但整體 Windows 解法不好找,所以把完整流程放在這裡:
步驟:
- 在 Plex 設定你要錄製電視節目的媒體庫
- 新增兩個資料夾位置,例如 c:/plex_tv 與 c:/plex_tv_remove_commercials
- 在 Plex 設定錄影時,即可選擇該電視媒體庫並指定要錄到哪個位置
- 在 MCEBuddy 建立兩個轉換工作,例如 Convert-No-Commercials 與 Convert-Remove-Commercials
- 在 Convert-No-Commercials 工作中,將「廣告移除」設為 none,並把檔名篩選條件設為:
path:C:\plex_tv*
- 在 Convert-Remove-Commercials 工作中,將「廣告移除」設為 Comskip,並把檔名篩選條件設為:
path:C:\plex_tv_remove_commercials*
- 不要設定輸出位置 —— Plex 後製處理需要在 .grab 資料夾裡找到原始檔
- 依需求設定其他選項,例如封存/刪除檔案(若不設定,.TS 檔會殘留,節目會在 Plex 出現兩次)
- 建立批次檔(例如 mcebuddy.bat),內容如下,並將路徑改成你實際的 MCEBuddy UserCLI 位置:
@echo off
C:\Progra~1\MCEBuddy2x\MCEBuddy.UserCLI.exe --command=engine --action=start timeout /t 2 /nobreak > NUL
C:\Progra~1\MCEBuddy2x\MCEBuddy.UserCLI.exe --command=addfile --action=%1 timeout /t 10 /nobreak > NUL
:loop
for /f "delims=" %%o in ('C:\Progra~1\MCEBuddy2x\MCEBuddy.UserCLI.exe --command=jobstatus --action=%1 --quiet') do set status=%%o
if %status% == "not present" (
Exit
) else (
timeout /t 2 /nobreak > NUL
goto loop
)
這會把完整路徑與檔名當參數(若路徑含空白需用引號包住),啟動 MCEBuddy 引擎(若尚未啟動)並等待工作完成。Plex 後製處理會等它跑完,才把檔案移出 .grab 並寫入最終中繼資料。
- 加到 Plex 後製處理:前往「Live TV 與 DVR」→「DVR 設定」,在後製處理欄位填入你剛剛建立的批次檔完整路徑與檔名,並確認「偵測廣告」已停用,否則 Plex 也會用自己的分支版 Comskip 再跑一次
- 之後在 Plex 設定新錄影時,選擇「c:/plex_tv」即代表不刪廣告轉換,選擇「c:/plex_tv_remove_commercials」則代表轉換時移除廣告