

# 如何准备带已核对时间的 TikTok 片段简报

准备一份与来源关联的片段简报，写明已核对的入点、出点、预期时长和语境备注。与来源关联是指简报保留视频 ID 和视频 URL。字幕时间只是建议的剪切位置。剪辑人员必须先看画面、听声音，然后才能剪切。

片段简报是一条计划片段的交接记录。入点是计划的开始时间。出点是计划的结束时间。时长是这条计划片段的长度。用时长 = 出点 − 入点。余量是该剪切点之前或之后的额外素材时间。余量给剪辑人员几秒用于修剪。除非简报写明，余量不属于成片。

[TikTok Transcript Actor](https://apify.com/chronometrica/tiktok-transcript-scraper) 返回字幕文本和时间。Actor 是托管的数据采集程序。这个 Actor 不剪切、不下载、不编辑、也不发布视频。它不授予再利用媒体的许可。你来做下面的核对。然后保存片段简报。真实片段请使用你自己已获授权的来源。

## 先用一条已知的时长规则

在选词之前，先写明剪辑目标、受众和时长。一篇公开的[TikTok 片段剪辑招聘帖](https://www.reddit.com/r/JobPH/comments/1uqctq7/hiring_admin_assistant_for_a_tiktok_clipediting/)要求 10–20 秒的短剪辑，并要求镜头保持原顺序。那篇帖子是一份真实的工作请求。它不是全部买家的计数。它不能证明会有很多人观看这段片段。不要从中抄薪酬、电子邮箱或联系方式。不要假定该帖允许你再利用别人的视频。

## 一次字幕运行会返回什么

Task 是已保存的输入预设。一次运行是用该输入使用 Actor 一次。当前公开的 TikTok Transcript 版本是 0.1.36。它接受含 1–100 项的 `startUrls`。每一项必须是已知的公开视频 URL、短链接，或由数字组成的视频 ID。这个 Actor 不搜索主页、关键词页或声音页。

`preferredLanguages` 按你列出的顺序选取公开字幕轨。一条字幕轨是视频上已有的一种字幕语言。空列表使用第一条公开字幕轨。这个 Actor 不翻译。它对没有公开字幕的音频不写文本。它不采集评论。它不分配主题编码。

公开 Task 只是起始输入。它不会替你做这些核对。下面保存的输入是当前示例。请把该示例 URL 换成你自己已知的公开 URL。

```json
{
  "startUrls": ["https://www.tiktok.com/@hankgreen1/video/7047596209028074758"],
  "preferredLanguages": []
}
```

一次字幕运行会返回什么

做你自己的单视频测试时，只有在你选择研究英语时，才把 `preferredLanguages` 设为 `["en"]`。如果你研究另一种语言，就写下那条语言规则。没有这一选择时，不要保留英语。

每条已提交的输入返回一行结果。一行结果是一条记录。失败的行仍会返回。确切字段是 `inputIndex`、`inputUrl`、`videoId`、`videoUrl`、`authorHandle`、`durationSeconds`、`languageCode`、`text`、`segments`、`status`、`statusReason`、`isBillable` 和 `scrapedAt`。每个片段含有 `startSeconds`、`endSeconds` 和 `text`。按给出的两个时间使用。把 `videoId` 当作文本而不是数字保存，以免丢失数位。`languageCode` 可以包含地区，例如 `eng-US`。

`status` 可以是下列之一：

- `succeeded`
- `no_public_captions`
- `language_unavailable`
- `duplicate_input`
- `not_tiktok`
- `invalid_input`
- `unsupported_url`
- `video_unavailable`
- `not_public`
- `blocked_or_challenged`
- 字幕或提取失败

成功需要 `text` 不为空。失败状态配上空文本，并不表示人们当时沉默。不要为这段空白编造言语。如果需要文字，请指出另一种来源方法。本文不讲授那另一种方法。

`isBillable` 为 true 表示这一行是一次成功的字幕结果事件。其他行仍是有用的记录。平台的使用与单次结果事件是分开的。不要把整次运行称为免费。

运行的 OUTPUT 字段只是运行计数。它们并不表示这些行代表全部视频。

- `inputsReceived`
- `resultRows`
- `billableTranscriptRows`
- `nonBillableResultRows`
- `duplicateVideosSkipped`
- `statusCounts`

一次公开核对使用了上面的示例视频。那次核对成功了。它保留了所请求的精确视频 ID。它的文本不为空。它有 12 个带 `startSeconds` 和 `endSeconds` 的片段。这里没有抄录该视频的字幕词。这次核对显示，那一个来源上存在公开字幕路径。它并不显示每个视频都能用。它不能证明每个词都与言语一致。它不能证明主题编码有效。

## 做这 8 项操作

1. 先写明目标、受众和时长。

写明这段片段给谁看。写明它必须传达的那一个意思。在阅读字幕之前先写时长规则。对上面的工作请求，把成片控制在 10–20 秒内。一段内容可以有用，但仍可能不符合时长规则。时长规则是工作规则。它不是需求的计数。它不能证明人们会观看这段片段。

1. 从一条已知视频及其字幕行开始。

选择一条你已经能点名的、已获授权的公开视频。在简报上保留 `videoId`、`videoUrl`、`languageCode` 和 `status`。只有当 `status` 为 `succeeded` 且 `text` 不为空时才继续。如果状态是 `no_public_captions` 或其他失败，就停止。不要编造言语。`duplicate_input` 行是已发送视频的额外副本。该视频只保留一行。这里只确认公开视频的步骤可以保持简短。片段工作从成功的字幕行之后开始。

1. 选择一段完整的内容。

候选是一条可能的片段。它尚未获批。选择一段在你的目标下单独仍说得通的内容。如果前一行含有条件或否定，就保留那一行。后一行也因同一理由保留。条件是一种限制，例如“用同一个单位”。否定是一个会改变意思的“不”。如果丢掉其中任何一个，片段就可能说错。有用的字幕行只是候选。这份简报不标注整段视频如何开头。它记录一段内容、其时间和其语境。

1. 根据片段时间设定入点和出点。

直接读取 `startSeconds` 和 `endSeconds`。把入点设在你需要的第一个词的开始。把出点设在你需要的最后一个词的结束。然后计算时长 = 出点 − 入点。片段可能相接或重叠。重叠不会增加视频时间。不要把一次重叠再加一次。长度仍然是出点减去入点。如果缺少 `durationSeconds`，这个未知值不是零。观看视频。交接前确认出点落在真实视频之内。

1. 观看并聆听，然后仅在需要时添加余量。

播放候选片段。核对入点和出点没有截断言语。核对它们保留了需要的图示、动作、条件和说话人变化。剪切点是计划片段开始或停止的位置。如果剪辑人员需要额外的秒数来淡入淡出或修剪，就添加余量。把余量放在入点之前、出点之后，或两处都放。写下余量长度。写下这些余量覆盖的素材区间。把最终入点和出点与该余量区间分开保留。余量区间是可用的素材时间。除非剪辑人员更改简报，它不是最终时长。

1. 保存一行完整的简报。

记录这些项目：

- 来源 ID 和来源 URL
- 时间单位：十进制秒或时间码
- 出点是否为排他边界
- 入点、出点和时长
- 预定信息
- 字幕语言证据
- 人工声音和画面核对
- 语境风险
- 余量
- 所有者、剪辑人员和审批状态

排他边界停在该瞬间之前。它不包含该瞬间。这里，字幕的 `endSeconds` 是最后一个所需词的结束。除非你知道来源帧率，否则不要用这些秒数制作帧时间码。没有帧率就没有帧时间码。

1. 只有在预定意思以及片段起点和终点都通过核对后，才标为就绪。

`succeeded` 表示 Actor 返回了带文本的公开字幕。它并不表示剪辑人员已批准该片段。[如果一个重要短语不清楚](/zh-Hans/articles/%E7%A0%94%E7%A9%B6%E5%89%8D%E6%A0%B8%E5%AF%B9tiktok%E5%AD%97%E5%B9%95%E7%94%A8%E8%AF%8D/)，把审批状态设为 `needs_review`。不要猜测用词。按该剪辑人员已经接收文件的方式，把已批准的来源文件交给剪辑人员。本文不下载该文件。

1. 把完成的剪切与简报对照。

剪辑人员完成剪切后，把最终文件与简报对照。核对信息、长度、边界、可见文本和语境。由你或剪辑人员做这次核对。字幕时间是一份计划。它不能证明完成的文件与计划一致。

## 演练一节虚构的园艺课

下面这一节是原创的虚构示例。它不是产品结果。它不是真实字幕。它不是一次实测剪辑。

虚构来源是一节已获授权的园艺课。来源长度为 30 秒。这里使用的字幕行是四个片段。时间是十进制秒。

| 片段 | startSeconds | endSeconds | 文本 |
| --- | --- | --- | --- |
| 1 | 5.0 | 8.0 | 把托盘放在平整的桌子上 |
| 2 | 8.0 | 12.5 | 测量边缘内侧的宽度 |
| 3 | 12.5 | 16.0 | 用厘米写下这个数字 |
| 4 | 16.0 | 19.0 | 长度也用同一个单位。 |

时长规则是 10–20 秒。信息有两部分。用厘米测量内侧宽度。然后长度也用同一个单位。

```text
duration = out - in
3.0 = 8.0 - 5.0
4.5 = 12.5 - 8.0
3.5 = 16.0 - 12.5
3.0 = 19.0 - 16.0
3.0 + 4.5 + 3.5 + 3.0 = 14.0
14.0 = 19.0 - 5.0
4.5 = 12.5 - 8.0
22.0 = 27.0 - 5.0
15.0 = 19.5 - 4.5
```

演练一节虚构的园艺课

四个片段在 8.0、12.5 和 16.0 相接。这些共用的瞬间不是额外的视频时间。四段长度相加得到 14.0。从 5.0 到 19.0 的跨度也是 14.0。

候选 1 使用入点 5.0 和出点 19.0。时长 = 19.0 - 5.0 = 14.0 秒。这落在 10–20 秒之内。这段内容保留了托盘、宽度、厘米和同一单位规则。观看确认直尺边缘保持可见。说出的单位条件保持完整。没有截断说话人变化。成片审批为 `ready`。

剪辑人员还要求入点前 0.5 秒余量和出点后 0.5 秒余量。余量起点 = 5.0 - 0.5 = 4.5。余量终点 = 19.0 + 0.5 = 19.5。余量跨度 = 19.5 - 4.5 = 15.0 秒。来源是 30 秒，因此 4.5 和 19.5 都在其中。可用素材区间是 15.0 秒。预定的最终剪切仍是 5.0–19.0，即 14.0 秒。不要把 15.0 秒称为最终时长。这 15.0 秒是余量空间。已批准的片段长度仍是 14.0 秒。

候选 2 使用入点 8.0 和出点 12.5。时长 = 12.5 - 8.0 = 4.5 秒。下限是 10 秒，因此 4.5 不合格。这次剪切还丢掉了“长度也用同一个单位。”单位条件丢失了。状态是 `needs_revision`。它未就绪。

候选 3 使用入点 5.0 和出点 27.0。时长 = 27.0 - 5.0 = 22.0 秒。上限是 20 秒，因此 22.0 不合格。点 27.0 仍在 30 秒来源之内。这四行不含 19.0 到 27.0 的字幕文本。不要为这段空白编造词语。状态是 `needs_revision`。它未就绪。

三者都不是 `needs_review`。所给的词是清楚的。候选 2 未达到下限，并丢掉了单位规则。候选 3 超过了上限。只有候选 1 就绪。

就绪行使用虚构标签。它不声称一次真实的可计费事件。

| 简报字段 | 就绪值 |
| --- | --- |
| 来源 ID | fictional-garden-lesson-01，按文本保留 |
| 来源 URL | https://example.com/authorized-garden-lesson |
| 时间单位 | 十进制秒。不是时间码。 |
| 出点边界 | 19.0 结束最后一个所需字幕词。它不是排他的帧边界。帧率未知。没有制作帧时间码。 |
| 入点 | 5.0 |
| 出点 | 19.0 |
| 最终时长 | 14.0 秒。公式：19.0 - 5.0 = 14.0。 |
| 余量 | 入点前 0.5 秒，出点后 0.5 秒。 |
| 余量区间 | 4.5–19.5。跨度：19.5 - 4.5 = 15.0 秒。这不是最终时长。 |
| 预定信息 | 用厘米测量内侧宽度。长度也用同一个单位。 |
| 字幕语言证据 | 虚构的 `languageCode` eng-US。教学行假定 `succeeded`，且文本不为空。这些词是虚构的。 |
| 人工核对 | 已听声音，已看画面。言语完整。直尺边缘保持可见。同一单位那一句有说出。没有切断说话人变化。 |
| 语境风险 | 从 8.0 开始会丢掉托盘那一行。在 12.5 结束会丢掉同一单位那一行。就绪剪切保留两者。 |
| 来源时长 | 30 秒，已知。点 4.5 和 19.5 在来源之内。如果这个值未知，它不会是零。先在视频上确认出点。 |
| 所有者 | 虚构课程所有者 |
| 剪辑人员 | 虚构片段剪辑人员 |
| 审批状态 | ready |

| 候选 | 入点 | 出点 | 时长 | 状态 |
| --- | --- | --- | --- | --- |
| 1 | 5.0 | 19.0 | 19.0 - 5.0 = 14.0 | ready |
| 2 | 8.0 | 12.5 | 12.5 - 8.0 = 4.5 | needs_revision |
| 3 | 5.0 | 27.0 | 27.0 - 5.0 = 22.0 | needs_revision |

## 下一步

核对一段已获授权的来源内容。在任何剪辑人员制作片段之前，保存完整的入点、出点和语境简报。使用 [TikTok Transcript Actor](https://apify.com/chronometrica/tiktok-transcript-scraper) 和 [TikTok Timestamped Transcript Segments Task](https://apify.com/chronometrica/tiktok-transcript-scraper/examples/tiktok-timestamped-transcript-segments)。把示例 URL 换成你自己已知的公开视频。保留返回的 `startSeconds` 和 `endSeconds`。在把该行标为就绪之前，先看画面、听声音。

## 来源和延伸阅读

- [TikTok Transcript Actor](https://apify.com/chronometrica/tiktok-transcript-scraper)
- [TikTok Timestamped Transcript Segments Task](https://apify.com/chronometrica/tiktok-transcript-scraper/examples/tiktok-timestamped-transcript-segments)
- [TikTok 片段剪辑招聘帖](https://www.reddit.com/r/JobPH/comments/1uqctq7/hiring_admin_assistant_for_a_tiktok_clipediting/)