
片段簡報是一段計劃片段的交接紀錄。入點是計劃的開始時間。出點是計劃的結束時間。時長是該計劃片段的長度。用時長 = 出點 − 入點。前後餘量是該剪接之前或之後的額外來源時間。前後餘量給剪輯人員數秒來修剪。除非簡報寫明,前後餘量不屬於最終片段。
TikTok Transcript Actor 會傳回字幕文字與時間。Actor 是託管的資料收集程式。這個 Actor 不會剪接、下載、編輯或發佈影片。它不授予重用媒體的許可。你要做下面的檢查。然後儲存片段簡報。真實片段請用你自己已獲授權的來源。
先用一條已知的長度規則
選字之前,先寫明剪輯目標、對象和長度。一篇公開的 TikTok 片段剪輯招聘帖 要求 10–20 秒的短剪輯,並要求素材保持原有次序。該帖是一項真實的工作要求。它不是全部買家的計數。它不能證明很多人會觀看這段片段。不要從該帖複製薪酬、電郵或聯絡資料。不要假設該帖容許你重用別人的影片。
一次字幕執行會傳回甚麼
Task 是已儲存的輸入預設。一次執行是用該輸入使用 Actor 一次。目前公開的 TikTok Transcript 組建是 0.1.36。它接受 `startUrls`,項目為 1–100 個。每個項目必須是已知的公開影片 URL、短連結,或由數字組成的影片 ID。這個 Actor 不會搜尋個人檔案、關鍵字頁或聲音頁。
`preferredLanguages` 會按你列出的次序選取公開軌道。一條軌道是影片上已有的一種字幕語言。空白清單會用第一條公開軌道。這個 Actor 不會翻譯。沒有公開字幕的音訊,它不會代寫文字。它不會收集留言。它不會指派主題代碼。
公開 Task 只是起步輸入。它不會代你做這些檢查。下面已儲存的輸入是目前的樣本。請用你自己已知的公開 URL 取代該樣本 URL。
{
"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 項動作
- 先寫明目標、對象和長度。
寫明這段片段給誰看。寫明它必須帶出的一個意思。讀字幕之前先寫長度規則。就上面的工作要求而言,最終片段要保持在 10–20 秒以內。一段內容可以有用,但仍可能不符合長度規則。長度規則是工作規則。它不是需求的計數。它不能證明人們會觀看這段片段。
- 從一部已知影片及其字幕列開始。
選一部你已經能指名的已獲授權公開影片。在簡報上保留 `videoId`、`videoUrl`、`languageCode` 和 `status`。只有當 `status` 是 `succeeded` 且 `text` 不是空白時,才繼續。如果狀態是 `no_public_captions` 或其他失敗,就停止。不要編寫假對白。`duplicate_input` 列是已傳送影片的額外複本。該影片只保留一列。這裡只確認公開影片的步驟可以保持簡短。片段工作要在一列狀態為 succeeded 的字幕之後才開始。
- 選一段完整的段落。
候選是一段可能的片段。它尚未獲准。選一段在你的目標之下,單獨仍然說得通的段落。如果前一行帶有條件或否定,就保留該行。後一行若因同一理由,也要保留。條件是一項限制,例如「用同一個單位」。否定是一個會改變意思的「不」。如果丟掉其中任何一項,片段可能說錯意思。有用的字幕行只是候選。這份簡報不標明整部影片如何開場。它只記錄一段、其時間及其情境。
- 依分段時間設定入點和出點。
直接讀取 `startSeconds` 和 `endSeconds`。把入點設在你需要的第一個字的開始。把出點設在你需要的最後一個字的結束。然後計算時長 = 出點 − 入點。分段可以相接或重疊。重疊不會增加影片時間。不要把一次重疊再加一次。長度仍然是出點減入點。如果缺少 `durationSeconds`,該未知值不是零。觀看影片。交接前確認出點落在真實影片之內。
- 先看、先聽,只在需要時才加前後餘量。
播放候選片段。檢查入點和出點沒有切斷語音。檢查它們保留了所需的圖、動作、條件和說話人轉換。剪接點是計劃片段開始或停止的位置。如果剪輯人員需要額外秒數來做淡變或修剪,就加前後餘量。放在入點之前、出點之後,或兩邊都放。寫下餘量長度。寫下這些餘量覆蓋的來源時段。最終入點和出點要分開保留。餘量時段是可用的來源時間。除非剪輯人員更改簡報,它不是最終時長。
- 儲存一列完整的簡報。
記錄這些項目:
- 來源 ID 與來源 URL
- 時間單位:十進制秒或時間碼
- 出點是否為不含該瞬間的邊界
- 入點、出點和時長
- 預定訊息
- 字幕語言證據
- 人手的聲音與畫面檢查
- 情境風險
- 前後餘量
- 擁有者、剪輯人員和核准狀態
不含該瞬間的邊界停在該瞬間之前。它不包括該瞬間。這裡,字幕的 `endSeconds` 是最後一個所需字的結束。除非你知道來源的幀率,否則不要用這些秒數製作幀時間碼。沒有幀率,就沒有幀時間碼。
- 只有意思以及入點、出點邊界都通過後,才標為就緒。
`succeeded` 表示 Actor 傳回了帶有文字的公開字幕。它不表示剪輯人員已核准該片段。如果重要字句不清楚,把核准狀態設為 `needs_review`。不要猜測用字。按該剪輯人員一向接收檔案的方式,把已核准的來源檔交給剪輯人員。本文不下載該檔案。
- 把完成的剪接與簡報比較。
剪輯人員完成剪接後,把最終檔案與簡報比較。檢查訊息、長度、邊界、可見文字和情境。這項檢查由你或剪輯人員做。字幕時間是計劃。它不能證明完成的檔案符合該計劃。
演練一課虛構園藝課的例子
下一課是原創虛構。它不是產品結果。它不是真實字幕。它不是已量度的剪輯。
虛構來源是一課已獲授權的園藝課。來源長度是 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 秒。訊息有兩部分。用厘米量內側寬度。然後長度用同一個單位。
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 |
來源與延伸閱讀
作者 Chronometrica · 更新日期
返回頂端 ↑
