团队对此有什么想法吗?
当前上下文中不支持,但欢迎提交功能请求,我们会考虑在后续版本中添加。
不是要重提这个两年前的帖子,但你有没有想出什么解决方案?
要不先在某处建一个“假”监视文件夹,然后用一个后处理 bat 脚本创建符号文件硬链接,让 MCEbuddy 去处理文件。
给视频传递硬链接的命令是:
mklink /h \MyFileVideo.ts \dummywatchfolder\MyFileVideo.ts
我一直配合 MCEbuddy 使用目录链接,因为我的资料分散在好几块硬盘上,然后我有一个“媒体”文件夹被监视,同时也作为 Plex 的库目录,这个虚拟文件夹把所有内容整齐地组织在一起。我还没用过文件硬链接,但应该同样可行。
所以说,桥下已经流过很多水了——Plex 最终修复了导致这个帖子诞生的元数据问题。他们甚至还加了一个相当不错的去广告选项(他们自己 fork 的 comskip 版本)。
不过就在最近,他们又把它搞坏了,所以我只好退回两个监控目录:一个放带广告的电视节目,一个放不带广告的,然后根据是否要去广告来运行转码任务。
至少 Plex 的元数据修复目前还能用……
給任何找到這篇討論、想透過 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」則代表轉換時移除廣告