影片播放器連接到來源卡片、筆記時間軸和已勾選的筆記。上方有一張問號卡片。

先選一部你擁有或可以編輯的影片。YouTube Studio 是影片擁有者使用的影片管理介面,你可以在其中新增說明欄內容並檢查帳戶權限。公開字幕工具可以協助你草擬章節開始時間,但無法確認帳戶設定,也無法證明播放器已接受你的章節設定。

以下方法會產生兩份獨立紀錄:已檢查的章節清單,以及帳戶權限檢查紀錄。請分開保存,以免正確的清單掩蓋尚未解決的權限問題。

1. 確認影片、影片長度與擁有者權限

章節是影片中有名稱的一個部分。時間戳記標示章節的開始時間。章節長度是從該章開始到下一章開始的時間;最後一章則計算到影片結束。

編輯前,請依照下列步驟操作:

  1. 開啟你確定要修改的那部影片。
  2. 確認你擁有這部影片,或有權編輯其說明欄。
  3. 記錄影片網址與影片 ID。ID 是用來識別影片的短代碼。
  4. 從實際影片確認並記錄精確的影片長度。
  5. 保留目前說明欄內容的副本。
  6. 在擁有者帳戶中檢查「進階功能」的使用權限。

將權限檢查結果記為「已確認可用」、「無法使用」或「尚未檢查」。尚未檢查的設定屬於未知狀態,不要記為「無法使用」。

請區分手動章節與自動章節。手動章節是你新增的時間戳記與標題行。YouTube 會透過另一套流程建立自動章節。根據 YouTube 說明,手動章節會取代自動章節。

不要因為沒有自動章節,就認定手動章節清單無效。請依照手動章節的規則檢查清單。如果你要調查影片是否符合自動章節資格,請另行記錄結果。

公開字幕的擷取結果無法證實上述擁有者帳戶狀態。請在管理該影片的帳戶中檢查。

2. 根據實際影片草擬章節開始時間

章節分界是前一章結束、下一章開始的位置。先依影片內容選擇分界,再檢查各分界之間的時間間隔。

觀看開頭、每個主題轉換處和結尾。將各章開始時間設在下一個主題實際開始的位置。口述的標題可能有幫助,但影片也可能透過無聲示範或畫面中的操作轉換主題。

請依照下列順序操作:

  1. 簡要列出影片的主要部分。
  2. 觀看各部分的開頭。
  3. 記錄暫定的開始時間。
  4. 寫下能描述該部分的簡短標題。
  5. 再次觀看轉換處,確認時間與標題。

第一章的開始時間須維持在 00:00。為開頭取一個實用且符合內容的標題。

標題應有助於觀眾選擇要看的部分。「準備材料」比「第二部分」提供更多資訊。請確認標題能描述整個章節。章節中短暫提到某個主題,不一定就適合用該主題為整章命名。

附有時間資訊的字幕可以協助你找出口語內容的主題轉換處,但無法確認沒有聲音的畫面變化。即使字幕文字看起來很清楚,仍須觀看每個暫定分界。

這項工作是將你自己的影片分成章節。如果你只是要在別人的課程中找到一段解說,請參閱處理這項較小範圍工作的概念導覽指南。適合學習的一段影片,不一定適合作為完整公開章節清單中的一章。

3. 視需要使用現有字幕

只要觀看影片,就能準備手動章節。如果字幕能幫你更容易找到可能的主題轉換處,再使用字幕。

字幕軌是一部影片中一組附有時間資訊的文字片段。每個片段都有開始與結束時間。逐字稿則將這些文字片段彙整起來。

YouTube Transcript Scraper 會讀取現有的公開字幕軌。Actor 是在託管環境中執行、用來蒐集資料的程式。Task 是為 Actor 儲存的一組預設輸入設定。

文件所述的 Actor 接受公開 YouTube 影片的直接網址或 ID。它不接受頻道、播放清單或搜尋頁面作為蒐集輸入,也不會將語音轉成新文字,或下載音訊與影片。如果沒有字幕,請繼續自行觀看影片。

提供的精簡輸入範例如下:

json
{"includeFailedInputDetails":true,"outputFormats":["json"],"preferredLanguages":[],"startUrls":["https://www.youtube.com/watch?v=dQw4w9WgXcQ"]}
3. 視需要使用現有字幕

將 `startUrls` 中的整個範例清單,替換為你要處理的公開影片網址。範例網址僅用來示範有效的輸入結構,並不代表該影片適合用來準備章節。

各項設定的用途如下:

  • `startUrls` 包含輸入的影片。這次檢查請只使用一部影片。
  • `outputFormats` 指定輸出為 JSON。JSON 是一種結構化文字格式,可以保留片段的時間資訊。
  • `preferredLanguages` 為空,因此 Actor 會選擇可取得的最佳字幕軌。這不保證會選到英文字幕。
  • `includeFailedInputDetails` 要求在本次執行的 OUTPUT 紀錄中提供失敗詳情。OUTPUT 是執行摘要。

如果你設定偏好語言,Actor 會依序嘗試。如果全部都無法取得,它會回報語言無法取得的失敗結果,不會自行改選其他語言。使用字幕前,請檢查回傳的語言。

公開的附時間戳記逐字稿 Task 是文件列出的起點,可用於這項工作。所提供的來源查核已確認該頁面及 Task ID 存在。這次查核未登入檢查已儲存的輸入,也未執行該 Task。開始執行前,請自行檢查輸入。

範例輸入已通過所提供的結構描述檢查;該檢查用於確認輸入結構。本文未進行付費 Actor 執行。此處所有蒐集步驟,都是建議讀者自行執行的操作。

使用前先檢查字幕結果

自行執行後,請確認影片身分與所選語言。檢查 `videoId`、`videoUrl`、`transcriptLanguageCode`、`status` 和 `statusReason`。接著閱讀本次執行的 OUTPUT,查看失敗輸入的詳情。

每部成功處理的不重複影片,都會產生一列資料集紀錄,也就是一筆影片結果。失敗的輸入不會產生成功的逐字稿紀錄。因此,缺少紀錄時須檢查失敗原因;這不代表該影片沒有適合的章節分界。

對每個回傳的片段,使用 `text`、`startSeconds` 和 `endSeconds` 定位內容。保留 `durationSeconds` 的原始回傳值,包括 null 值。Null 表示數值缺失或未知,不代表零秒。

對 `videoDurationSeconds` 也採用相同方式。如果該值缺失,請從實際影片取得影片長度。不要將最後一段字幕的結束時間當作影片結束時間。說話結束後,影片可能仍在繼續。

語言資訊、字幕來源資訊與 `videoCoverageRatio` 都無法證明文字準確。請保留原始結果,並播放影片確認暫定的章節開始時間。Actor 的公開規格 支援字幕蒐集,不會自動判定你的章節清單合格。

章節時間戳記也不同於字幕顯示單元。每個字幕顯示單元都有自己的文字顯示開始與結束時間。如果你需要字幕檔案,請參閱字幕轉換指南。新增手動章節不需要先將字幕轉成字幕檔案。

4. 檢查格式與每個章節的長度

選好適合的分界後,在說明欄中每行寫一個時間戳記與標題。第一行從 00:00 開始。至少要有三行,而且每個時間都須晚於前一個時間。

不要使用重複的時間,也不要使用超出影片範圍的時間。位於影片結束時或之後的時間戳記,無法作為至少 10 秒長的章節起點。

將每個開始時間換算成秒數,以檢查章節長度。先將分鐘數乘以 60,再加上秒數。例如,01:20 就是 1 × 60 + 20 = 80 秒。

除最後一章外,每章都用下一章的開始時間減去本章的開始時間。最後一章則用影片總長度減去該章的開始時間。

每個結果都必須至少為 10 秒。請檢查所有結果,包括最後一章。即使清單中各時間戳記之間的間隔都符合規則,最後一個時間戳記之後的剩餘時間仍可能不足。

如果某章太短,請重新檢視內容。判斷是否應將它與相鄰章節合併,或選擇另一個仍符合實際主題轉換的分界。接著再次檢查章節長度。如果新的時間會錯誤標示影片內容,就不要只為了符合計算要求而移動時間。

YouTube 官方規則 要求從 00:00 開始、至少有三個依序遞增的時間戳記,而且每章至少要有 10 秒。通過這些檢查,只能確認格式符合規則,無法確認帳戶權限,也無法確認播放器已接受章節設定。

5. 計算範例:一部原創虛構的兩分鐘影片

這是原創虛構範例。影片、標題與建議修改內容都是虛構的。這個範例沒有編輯任何擁有者的真實影片,也沒有檢查任何已發布影片的播放器。這些計算只用來教你檢查章節長度。

假設這部虛構影片在 02:00 結束,也就是 2 × 60 = 120 秒。暫定的說明欄內容如下:

text
00:00 Prepare
00:35 Collect
01:20 Check
5. 計算範例:一部原創虛構的兩分鐘影片

各章開始時間為第 0、35 和 80 秒。逐章檢查如下:

5. 計算範例:一部原創虛構的兩分鐘影片
章節開始時間下一章開始時間或影片結束時間計算長度
準備00:0000:3535 − 035 秒
蒐集00:3501:2080 − 3545 秒
檢查01:2002:00 結束120 − 8040 秒

三個章節都至少有 10 秒。第一章從 00:00 開始,而且三個開始時間依序遞增。

章節長度合計為 35 + 45 + 40 = 120 秒,與虛構影片的長度相符。這個總和可用來核對計算,但無法證明標題符合真實內容,也無法證明 YouTube 會顯示章節。

現在假設你在 01:55 新增第四章。其開始時間為 1 × 60 + 55 = 115 秒。

前一章的長度會是 115 − 80 = 35 秒,這個間隔符合規則。但最後一章只有 120 − 115 = 5 秒,不符合至少 10 秒的規則。

檢視虛構內容後,移除或修改這個暫定分界。不要再新增 02:00 作為另一章的開始時間。這會讓最後一章的長度變成 120 − 120 = 0 秒。

實際檢查時,如果結束時間未知,在你查看影片前就必須維持未知狀態。沒有影片結束時間,就無法確認最後一章的長度合格。

6. 儲存說明欄內容並檢查播放器

檢查內容、格式與章節長度後,透過擁有者帳戶發布清單:

  1. 在 YouTube Studio 中開啟擁有者的影片。
  2. 保留原本說明欄內容的副本。
  3. 將已檢查的時間戳記與標題行加入說明欄。
  4. 儲存說明欄內容。
  5. 開啟儲存後的影片頁面。
  6. 確認說明欄包含預定加入的各行內容。
  7. 檢查播放器是否顯示章節。
  8. 核對播放器顯示的章節開始時間,確認是否對應預定的主題轉換處。

記錄你實際觀察到的結果。「已儲存說明欄內容」與「已顯示章節」是兩個獨立結果。單憑儲存文字,無法確認播放器已顯示章節。

如果章節沒有顯示,請重新檢查已儲存的各行內容、章節長度,以及「進階功能」的使用權限。不要只根據草稿或格式檢查,就回報已成功發布。所提供的來源未保證章節一定會顯示,也未訂出固定的等待時間。

7. 保留章節表,另存權限紀錄

保留足夠資訊,以便編輯後重新檢查。版本是章節清單某次儲存的狀態。請為每個版本加上標籤與檢查日期。

每個章節各用一列記錄:

7. 保留章節表,另存權限紀錄
儲存欄位應記錄的內容
影片 ID 與網址你實際檢查的那部影片
清單版本這次編輯使用的版本
影片長度已確認的影片長度,以秒為單位
章節順序該章在清單中的位置
章節標題填入說明欄的文字
開始時間說明欄中的時間戳記
開始秒數將同一個開始時間換算成秒數
下一章開始時間或影片結束時間用來計算章節長度的數值
章節長度相減的結果,以秒為單位
內容檢查你在分界處看到的內容
檢查日期你檢查這個版本的日期

另為整部影片保留一份紀錄,記下編輯權限、「進階功能」的使用權限、已儲存的說明欄內容,以及實際觀察到的播放器結果。尚未完成的檢查,請記為未知狀態。

如果使用字幕,也請保留所選語言、`scrapedAt` 和任何失敗註記。`scrapedAt` 記錄字幕的蒐集時間,不是你檢查擁有者設定或播放器的時間。

剪輯或替換影片後,請重新檢查變更位置之後的所有章節開始時間。再次確認影片總長度與最後一章的長度。先前的計算只適用於先前的版本。

8. 根據失敗狀態選擇下一項檢查

根據實際觀察到的失敗狀態,決定下一步要檢查什麼。

8. 根據失敗狀態選擇下一項檢查
觀察到的狀態下一項檢查
第一個時間戳記不是 00:00修正第一行,並檢查其標題
時間戳記少於三行重新檢視內容,編成符合規則的完整清單
時間重複或遞減修正順序,並重新計算章節長度
某個章節短於 10 秒重新檢視該分界與附近內容
最後一章的長度未知確認影片的實際結束時間
無法取得字幕自行觀看影片
無法取得指定語言檢查失敗資訊與所選語言
已儲存的說明欄內容與草稿不同修正並儲存預定的版本
格式通過檢查,但章節未顯示檢查擁有者權限,並記錄尚未解決的播放器結果

缺少字幕軌是資料蒐集的限制,不能據此認定帳戶有權限問題。正確的公開逐字稿也無法證實擁有者權限。

如果文件所列的檢查全部通過,但播放器仍未顯示章節,請將結果保留為尚未解決。保存已檢查的清單與帳戶觀察紀錄。所提供的證據未涵蓋所有可能原因,因此不要在沒有證據的情況下判定原因。

來源與延伸閱讀

作者 Chronometrica · 更新日期

返回頂端 ↑