内容提要
Mux 团队分享了 stream.new 应用内容审核系统的三次迭代历程。从 2021 年使用 Google 和 Hive 视觉 API 检测帧,到 2025 年采用 @mux/ai 工具包,利用多模态模型通过自然语言问题识别盗版等内容,再到 2026 年迁移至 Mux Robots 原生服务,简化了代码并提升了审核能力。每次升级都减少了定制代码,使审核更高效、准确。
延伸解读
审核策略的演进:从视觉API到多模态模型
文章展示了内容审核从2021年的视觉API(Google Vision、Hive)到2025年基于多模态模型的自然语言问题(askQuestions)的转变。早期系统只能识别单帧的NSFW或暴力内容,无法识别盗版影视等需要上下文理解的类别。而多模态模型通过分析视频帧和字幕,能回答更复杂的问题,如“这是否是盗版电影?”或“是否有人在观看直播时录制?”,从而更准确地识别违规内容。
自动化与人工审核的平衡
stream.new的自动化审核并非完全取代人工。文章强调,自动化层只是辅助人工审核,所有视频都有手动举报流程,最终决定由人类做出。自动化系统将高置信度的违规内容自动删除,其余则发送到Slack频道供人工审查。这种设计既减少了人工接触不良内容的数量,又保留了人工判断的灵活性,避免误删。
从自建集成到原生服务的迁移收益
迁移到Mux Robots后,stream.new删除了自定义的API客户端和协调代码,不再需要管理OpenAI和Hive的API密钥,审核工作流代码显著简化。每次策略调整只需修改配置,而非代码。这体现了将AI能力集成到视频基础设施中的优势:减少维护成本,提高迭代速度,同时保持审核能力。
Q&A
stream.new 的内容审核系统经历了哪三次迭代?
stream.new 的内容审核系统经历了三次迭代:2021年使用 Google Vision SafeSearch 和 Hive 视觉 API 检测帧;2025年迁移到 @mux/ai 工具包,利用多模态模型通过自然语言问题识别内容;2026年迁移到 Mux Robots 原生服务,简化了代码并提升了审核能力。
2021年的审核系统有哪些缺点?
2021年的审核系统需要维护两个不同的 API 客户端(Google 和 Hive),响应格式不同,需要约250行代码来协调;所有操作同步运行在 asset.ready webhook 中,导致超时和重试;而且只能分析帧的外观,无法识别视频内容,比如盗版电视剧的帧看起来正常,无法被检测。
@mux/ai 的 askQuestions 功能是如何工作的?
askQuestions 是 @mux/ai 中的一个功能,它允许用自然语言问题来审核视频。stream.new 将审核政策转化为一系列英文问题,对每个上传的视频运行这些问题。多模态模型根据视频的帧和转录文本回答是/否,并给出置信度和推理。根据置信度,某些问题会触发自动删除,其他则进入人工审核。
为什么 stream.new 在审核中加入了观看派对和自行车比赛的问题?
观看派对问题是为了检测有人在观看动漫等视频时录制自己,这种内容简单的 NSFW 检查无法识别;自行车比赛问题是因为盗版比赛录像频繁出现,直接询问比通用盗版问题更可靠。
Mux Robots 相比 @mux/ai 有哪些优势?
Mux Robots 是 Mux 的原生服务,不需要自带 LLM 密钥,直接使用 Mux API 凭证即可。它自动选择最佳提供商,简化了代码,因为不需要自己管理编排。stream.new 迁移后,工作流代码显著简化,并且移除了 OPENAI_API_KEY 和 HIVE_API_KEY。
stream.new 如何设置审核阈值?
stream.new 最初采取保守策略,然后在生产环境中调整。他们通过观察 Slack 中的审核日志和用户报告来调整阈值,最终确定了置信度 0.85 和每 10 秒采样一次的设置。
Mux Robots 的异步工作流是如何处理的?
Mux Robots 的工作流是异步的,stream.new 使用 Vercel Workflow 的 hook 原语:先创建以资产 ID 和作业类型为键的 hook,然后触发作业并挂起。当完成 webhook 到达时,恢复 hook 并将 webhook 负载直接传递给工作流。注意要先创建 hook 再触发作业,以避免快速 webhook 丢失。