我最近一直在調整我的流程,最後把它拆成/合併成 3 個任務。我把任務 1 綁定到 HEVC MP4 設定檔,負責剪輯/轉檔,但不處理重新命名或詮釋資料。
任務 1 會把結果丟到另一個資料夾,那裡有兩個任務分別監控「電視節目」與「電影」。這兩個任務只做自訂重新命名與詮釋資料查詢,不做轉檔。
簡化來說,就當任務 1 先處理檔案,然後任務 2 接手完成後續。
我已經把任務 2 設成「插到最前面」,但當我一次丟進一堆項目時,我希望它們的順序是:
任務 1
任務 2
任務 1
任務 2,依此類推。
但實際上因為所有項目一開始就被拉進來,結果變成:
任務 1 - 檔案 1
任務 1 - 檔案 2
任務 2 - 檔案 1
任務 1 - 檔案 3
任務 2 - 檔案 2
我一直在想辦法讓任務 1 開始前先延遲一下,給任務 2 有機會看到插到最前面的檔案。
希望這樣講得夠清楚,重點是我不想等檔案 2 完成漫長的轉檔後才讓檔案 1 跑完。
原本想說如果能在每個任務後面加個延遲,就能讓掃描有時間抓到新檔案,但我唯一能想到的就是在後處理任務裡加延遲,結果似乎行不通。
mike808
(mike808)
2
你可以直接把 Task1 操作(转码)并入两个重命名任务里,我就是这么做的。
我为电影、剧集、体育和特别节目分别建了任务(MCEBuddy 能识别的 4 种类型),每种类型对应不同的重命名/目标文件夹。
提示:勾选“特别节目”,因为既不符合电影也不符合剧集的内容会被归到这里。这些通常是节目单信息模糊或只有节目标题的情况。一些播放老重播的子频道以及 PBS 节目经常这样,而且它们通常不在 TheTVDB 或 MovieDB 里。
你必须确保只有一个任务会对输入文件生效。
除了类型筛选,我还按 SD 和 HD 频道来源加了频道过滤器,对应不同的压缩/画质参数。
我曾考虑过这个问题,但我把重命名操作分开了(也使用了不同的输入文件夹),这样我就可以偶尔直接把文件丢进去,让它只重命名而不重新编码。
我想我可以保留一份单独的副本,但那就得让两对配置保持同步。于是电视端会有两个任务(一个带转码),它们需要相同的选择过滤器和相同的元数据修正规则。
我还有后期处理触发器,下次升级时得在多个地方维护,因为这些不会自动迁移。在我的场景里,后期处理会用重命名规则拿不到、但后期处理能拿到的数据来做自定义重命名。
mike808
(mike808)
4
我認為以你目前的設定,沒辦法達成你想要的流程。目錄監看器是平行運作的,只會把每個動作任務丟進各自的佇列;而這些任務彼此之間也沒有任何資訊,完全平行。因此唯一「串接」的方式就是你現在的做法——監看資料夾1的監看器觸發任務1,任務1最後把檔案輸出到資料夾2,再由監看資料夾2的監看器觸發任務2。
要嘛一次只放一個檔案到起始資料夾,並且在檔案被最終任務處理完畢前,禁止再放新檔案進去;要嘛就為每一條「流程」建立獨立的資料夾,並複製出對應的監看器與任務,聽起來就超難維護。所以我建議改用一個批次「排程器」:它去監看你真正的媒體輸入資料夾,一次只把一個檔案搬進 MCE 的「起始」資料夾,並且等到該檔案被所有任務處理完畢後才放行下一個。這會變得棘手的地方是,一旦任務失敗,你得 1) 在任何環節都能偵測到失敗,2) 決定該檔案的復原與重啟流程。
MCE Buddy 本來就不是為單一線性流程設計的——尤其現在多核心 CPU、GPU 以及多個 MCE Buddy 引擎同時運作。因此這條線性流程的閘門與管理,我認為必須由你在 MCE Buddy 外部自己搞定。做法當然可行:用「標記檔」讓你的排程器知道檔案目前在哪、MCE Buddy 處於什麼狀態。排程器只要監看與 MCE Buddy 相同的資料夾,並在後製階段新增標記檔,就能掌握狀態。
這或許可以找個接案工程師或資訊系學生當專案來做,也可能是適合高中或大學、具備工程思維且懂狀態機的學生。說穿了,就是用空檔案(存在與否)當狀態標記,把檔案系統當成狀態機的「記憶體」。這對一般高中電腦課學生可能有點難,但問問看也無妨。若想找接案工程師,有些「接案」平台專門媒合程式設計師與需要自動化服務的人。