上传状态流转与转码

内容供给是推荐流的上游

推荐流的上游是内容供给。用户能刷到什么,首先取决于创作者上传的视频能否稳定、合格地进入系统。

视频上传比普通文件更复杂,因为它通常需要转码、截图、审核和多清晰度处理。

状态流转

一个视频从上传到可推荐,要经历这些状态:

uploading -> uploaded -> transcoding -> auditing -> published -> recommendable
                                             -> rejected
  • 状态写入元数据表。
  • 推荐系统只消费 recommendable 的内容。
  • 还在审核、转码的视频不能进推荐池。

视频从上传到可推荐

创作者上传视频
01 · 动作

分片上传到对象存储

大文件,失败可恢复
02 · 动作

异步转码

多码率 + 封面 + 播放清单
03 · 判断

内容审核

机器 + 文本 + 人工
04 · 动作

审核通过后发布

审核拒绝则 rejected
05 · 结果

进入推荐池(recommendable)

特征同步给推荐系统
视频可被用户刷到

转码任务

上传完成后触发异步转码:

  • 生成多码率版本:360p、720p、1080p。
  • 生成封面和首帧预览。
  • 提取时长、分辨率、码率、文件大小。
  • 生成播放清单(HLS / DASH)。

转码是耗时任务,不能阻塞上传接口。 用户看到的状态应该是「处理中」,处理完成后再发布。

转码的健壮性

  • 转码任务可重试、可追踪。
  • 转码失败要告警,不能悄悄卡死。
  • 转码队列积压时,上传入口要限流或提示。

一句话

视频内容链路的本质是把「上传成功」和「可推荐」分开:中间隔着转码与审核,每一步都有状态、都可追踪、都可恢复。

下一节看内容审核——视频进入推荐池前的安全关口。