我一直用 MCEBuddy 和 comskip 给半小时节目去广告,一切正常。后来加了一个一小时节目,新节目却开始失败。MCEBuddy 会报“comskip 失败”并取消转换。
如果我手动把 .ts 文件拖到 comskip.exe,它能顺利跑完,没有任何错误。
原来 MCEBuddy 会在 comskip 耗时过长时将其杀掉。我手动观察,发现广告检测在还剩 10 秒时“卡住”,此时 comskip 日志却不断增长。最终 MCEBuddy 超时杀进程——我猜是固定等待时间——然后报失败。
原因是这档节目的日志变得巨大。comskip 默认 verbose=5,疯狂写日志。即使工作目录在 SSD 上,配合高速 XEON 处理器,一旦日志文件过大,每写一行都极慢。我觉得 comskip 的日志模块需要优化。
总之,我把 verbose 改成 0,瞬间跑完,MCEBuddy 不再杀进程,转换成功。
我觉得 MCEBuddy 应该延长 comskip 的超时,或把它做成可配置项。不过直接改 comskip 配置把 verbose 设成 0 就能解决,只是看不到详细日志了。

