更改 FFMPEG 剪切命令?

我一直遇到一个问题:广告被移除后,有时仍会留下 3–4 秒的广告片段。可能我的期望有点不切实际,但我理解的是它应该在黑帧到黑帧之间被完全切除。我已经排查了我的 Comskip INI,并对如何调整它有了更深的理解。我认为问题并不在 Comskip 配置文件,而在于用于剪辑的 FFMPEG 命令。看起来为了精确剪辑,视频需要先解码再重新编码。参考 Making sure you're not a bot!Cutting Videos with FFmpeg | Mark Buckler

有没有办法调整用于剪辑的 FFMPEG 命令?谢谢!

我不太確定,但問題可能是 ffmpeg 只能在關鍵幀(keyframe)處剪切,這是處理壓縮影片時的限制。即使是廣播電視,影像也會經過某種程度的壓縮,因此影片中仍會有關鍵幀。

你可能正面臨一個複合問題,這只是我的猜測,是 Comskip 的精準度與必須在關鍵幀剪切的兩個問題疊加。我認為 Comskip 的設定偏保守,寧願留下一點廣告,也不願剪掉節目內容。你可以在設定中調整,但這樣可能會導致節目內容被剪掉。

當我使用 Comskip(很少用)時,我會維持預設的「正常」模式,並選擇「未處理的 TS」作為輸出格式,因為一旦重新編碼與壓縮,關鍵幀的間隔似乎會變大。接著我會把這個 TS 檔丟進 Avidemux,幾分鐘內就能手動微調廣告剪切的點。如果你熟悉 Avidemux,操作會變得非常快……我現在就在處理一些 History 頻道的錄影,這是我遇過最難剪廣告的頻道,因為他們在廣告時段會混用不同解析度。

如果你不想手動剪輯(我會手動是因為我要保存這些節目),那就得接受偶爾會殘留一點廣告,以避免剪掉節目內容。

這是我的經驗,也許有錯……但我現在已經有一套非常穩定的去廣告流程,即使需要手動剪輯。

感謝你的回覆。我會試試 TS unprocessed 設定檔,看看效果如何。

我已經花了好幾週閱讀 Comskip 的各種主題與調校指南,當我用 Comskip GUI 跑檔案時,剪輯點與黑場幾乎完全吻合。我也試著在論壇註冊,想請 Comskip 的 Erik 幫我檢查設定,確認沒有異常,但一直收不到驗證信,寫信給他們的支援信箱也沒回應。

我想盡量讓這件事自動化,因為我太太喜歡錄一堆 Hallmark 電影與節目,若要手動剪廣告,我大概得辭掉正職專門做這件事了 lol。

再說一次,可能是我期望太高。但看 Plex 論壇及其他論壇,你會以為大家的設定都能相當自動化,偶爾才會漏個 3–4 秒廣告,這我還能接受;而不是每次廣告段都留下 3–4 秒。

如果它留下3-4秒,那是Comskip设置的问题;如果是关键帧问题,最多只会是一秒。

我为女朋友录制了大量Hallmark电影,我曾尝试自动去除广告,但对结果不满意,所以我每晚手动编辑电影,然后将其加入队列,让MCEBuddy转换并存储。

我只是想澄清一下——我確實是籠統地說 3 到 4 秒。實際時間會因來源素材而異,但最短可能只要半秒,最長可達 2 到 3 秒。也許等我試過未處理的設定檔後,可以上傳一段影片到我的 Dropbox 來示範。

如果你做得够久,就会发现没有任何频道用同一种方式插播广告,这正是 Comskip 难以用一套通用设置精准识别的原因。你可以为每个频道单独设置参数,但我不知道 MCEBuddy 会如何处理。

Hallmark、Hallmark Movies & Mysteries、Lifetime、Lifetime Movie Network、ION 和 UP 这些频道播放的内容和电影类型相似,却各自用不同的方式、在不同时间点插入广告……没有一家是 100% 可预测的。

有时广告前后会出现好几秒的黑屏;有时先渐黑再渐亮;有时节目直接淡入广告(几乎没有可切的点);还有时一帧之内硬切到广告再硬切回来——虽然你通常察觉不到,因为那时往往没有声音。最糟糕的是,同一部片子在同一家频道里,可能把上述所有转场方式都用一遍,根本无法预判。

正因如此,我改用手动剪辑:压缩后存到媒体服务器,随时观看,我希望切口无缝,像一部连续的电影。用 Avidemux,我一边看电视一边剪,一部电影大约 5 分钟就能搞定。通常等女朋友上床后,我就用睡前这点时间把片子剪好,放到 Emby 上。

我還是回到原本的問題:能否修改 FFMPEG 的剪輯指令。用 VideoRedo 搭配 Comskip 時,我可以精準剪輯,不會有關鍵幀問題,也不會留下一兩秒的廣告,因此我最初的懷疑似乎成立。除非有人能指出一套可行設定,讓我從 HDHomeRun Prime 透過 PlexDVR 錄製的 MPEG 串流能乾淨地去除廣告。我想要的是某種程度自動化的流程,並不要求完美,偶爾的小瑕疵我可以接受;但若每筆錄影都這樣,就有點惱人了。

如果總是某個特定節目或頻道,你可以為它們設定一個專屬的 MCEBuddy 設定檔(轉換任務),並把它放在最上方,這樣它就會優先抓取任務。

有一些設定可以在開始與結尾剪掉幾秒鐘,但這是在廣告偵測/剪除「之前」。
不過,你也可以在這裡為這個設定檔/轉換任務所處理的檔案,選擇一個自訂的 COMSKIP .ini 檔案。

如果你真的在 Comskip 裡找到可以修剪廣告「額外長度」的選項,就把它們放到一個特製的 comskip.ini 裡,然後讓這個轉換任務去使用那個 comskip.ini 檔案。

祝你好運。