视频卡片模型

卡片是什么

在引入复杂算法前,先把 Feed 流的基础体验做好。用户每次下滑都要拿到一组视频卡片——每张卡片是可播放、可展示的元数据,而不是视频文件本身。

一条 Feed item

一条 Feed item 通常包含:

视频卡片

推荐服务返回的不是视频文件,而是元数据

video_id视频 ID
author_id作者
play_url播放地址
cover_url封面
duration时长
title标题
reason推荐原因 / 实验标记
cursor下一页游标
设计要点: 卡片是元数据(快、可缓存、可签名);`reason` 承载推荐原因与实验标记(可解释、可评估); `cursor` 携带上下文(可续页、不重不漏)。
字段含义
video_id视频 ID
author_id作者
play_url播放地址
cover_url封面
duration时长
title标题
reason推荐原因或实验标记
cursor下一页游标上下文

关键设计

卡片是元数据

推荐服务返回的是元数据,视频二进制在 CDN / 对象存储。这样:

  • 返回快(不搬文件)。
  • 可缓存(卡片可复用)。
  • 播放地址可动态生成(签名 URL)。

reason 字段

reason 是容易被忽略但很重要的字段:

  • 前端可以展示「关注的人更新了」「和你最近看过的相似」。
  • 它是实验标记:区分这条推荐来自哪个策略版本。
  • 它是分析依据:评估不同召回 / 排序通道的效果。

cursor 上下文

游标不只是「第几页」,而是携带上下文(下一节展开)。它让服务端知道「用户看到哪了、该往哪续」。

卡片的演进

基础卡片解决「能播能看」。随着系统演进,卡片会承载更多:

  • 推荐原因(透明度)。
  • 实验标识(可评估)。
  • 交互状态(已曝光、已跳过)。
  • 质量标记(低质内容降权展示)。

一句话

视频卡片模型的核心是**「返回元数据而非内容」**:快、可缓存、可签名、可追踪。它是整个 Feed 链路的入口数据结构。

下一节看 Feed 的分页与曝光去重。

发现内容有问题?

告诉我们哪里需要改进。