
先選一部你擁有或可以編輯的影片。YouTube Studio 是影片擁有者使用的影片管理介面,你可以在其中新增說明欄內容並檢查帳戶權限。公開字幕工具可以協助你草擬章節開始時間,但無法確認帳戶設定,也無法證明播放器已接受你的章節設定。
以下方法會產生兩份獨立紀錄:已檢查的章節清單,以及帳戶權限檢查紀錄。請分開保存,以免正確的清單掩蓋尚未解決的權限問題。
1. 確認影片、影片長度與擁有者權限
章節是影片中有名稱的一個部分。時間戳記標示章節的開始時間。章節長度是從該章開始到下一章開始的時間;最後一章則計算到影片結束。
編輯前,請依照下列步驟操作:
- 開啟你確定要修改的那部影片。
- 確認你擁有這部影片,或有權編輯其說明欄。
- 記錄影片網址與影片 ID。ID 是用來識別影片的短代碼。
- 從實際影片確認並記錄精確的影片長度。
- 保留目前說明欄內容的副本。
- 在擁有者帳戶中檢查「進階功能」的使用權限。
將權限檢查結果記為「已確認可用」、「無法使用」或「尚未檢查」。尚未檢查的設定屬於未知狀態,不要記為「無法使用」。
請區分手動章節與自動章節。手動章節是你新增的時間戳記與標題行。YouTube 會透過另一套流程建立自動章節。根據 YouTube 說明,手動章節會取代自動章節。
不要因為沒有自動章節,就認定手動章節清單無效。請依照手動章節的規則檢查清單。如果你要調查影片是否符合自動章節資格,請另行記錄結果。
公開字幕的擷取結果無法證實上述擁有者帳戶狀態。請在管理該影片的帳戶中檢查。
2. 根據實際影片草擬章節開始時間
章節分界是前一章結束、下一章開始的位置。先依影片內容選擇分界,再檢查各分界之間的時間間隔。
觀看開頭、每個主題轉換處和結尾。將各章開始時間設在下一個主題實際開始的位置。口述的標題可能有幫助,但影片也可能透過無聲示範或畫面中的操作轉換主題。
請依照下列順序操作:
- 簡要列出影片的主要部分。
- 觀看各部分的開頭。
- 記錄暫定的開始時間。
- 寫下能描述該部分的簡短標題。
- 再次觀看轉換處,確認時間與標題。
第一章的開始時間須維持在 00:00。為開頭取一個實用且符合內容的標題。
標題應有助於觀眾選擇要看的部分。「準備材料」比「第二部分」提供更多資訊。請確認標題能描述整個章節。章節中短暫提到某個主題,不一定就適合用該主題為整章命名。
附有時間資訊的字幕可以協助你找出口語內容的主題轉換處,但無法確認沒有聲音的畫面變化。即使字幕文字看起來很清楚,仍須觀看每個暫定分界。
這項工作是將你自己的影片分成章節。如果你只是要在別人的課程中找到一段解說,請參閱處理這項較小範圍工作的概念導覽指南。適合學習的一段影片,不一定適合作為完整公開章節清單中的一章。
3. 視需要使用現有字幕
只要觀看影片,就能準備手動章節。如果字幕能幫你更容易找到可能的主題轉換處,再使用字幕。
字幕軌是一部影片中一組附有時間資訊的文字片段。每個片段都有開始與結束時間。逐字稿則將這些文字片段彙整起來。
YouTube Transcript Scraper 會讀取現有的公開字幕軌。Actor 是在託管環境中執行、用來蒐集資料的程式。Task 是為 Actor 儲存的一組預設輸入設定。
文件所述的 Actor 接受公開 YouTube 影片的直接網址或 ID。它不接受頻道、播放清單或搜尋頁面作為蒐集輸入,也不會將語音轉成新文字,或下載音訊與影片。如果沒有字幕,請繼續自行觀看影片。
提供的精簡輸入範例如下:
{"includeFailedInputDetails":true,"outputFormats":["json"],"preferredLanguages":[],"startUrls":["https://www.youtube.com/watch?v=dQw4w9WgXcQ"]}將 `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 秒。暫定的說明欄內容如下:
00:00 Prepare
00:35 Collect
01:20 Check各章開始時間為第 0、35 和 80 秒。逐章檢查如下:
| 章節 | 開始時間 | 下一章開始時間或影片結束時間 | 計算 | 長度 |
|---|---|---|---|---|
| 準備 | 00:00 | 00:35 | 35 − 0 | 35 秒 |
| 蒐集 | 00:35 | 01:20 | 80 − 35 | 45 秒 |
| 檢查 | 01:20 | 02:00 結束 | 120 − 80 | 40 秒 |
三個章節都至少有 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. 儲存說明欄內容並檢查播放器
檢查內容、格式與章節長度後,透過擁有者帳戶發布清單:
- 在 YouTube Studio 中開啟擁有者的影片。
- 保留原本說明欄內容的副本。
- 將已檢查的時間戳記與標題行加入說明欄。
- 儲存說明欄內容。
- 開啟儲存後的影片頁面。
- 確認說明欄包含預定加入的各行內容。
- 檢查播放器是否顯示章節。
- 核對播放器顯示的章節開始時間,確認是否對應預定的主題轉換處。
記錄你實際觀察到的結果。「已儲存說明欄內容」與「已顯示章節」是兩個獨立結果。單憑儲存文字,無法確認播放器已顯示章節。
如果章節沒有顯示,請重新檢查已儲存的各行內容、章節長度,以及「進階功能」的使用權限。不要只根據草稿或格式檢查,就回報已成功發布。所提供的來源未保證章節一定會顯示,也未訂出固定的等待時間。
7. 保留章節表,另存權限紀錄
保留足夠資訊,以便編輯後重新檢查。版本是章節清單某次儲存的狀態。請為每個版本加上標籤與檢查日期。
每個章節各用一列記錄:
| 儲存欄位 | 應記錄的內容 |
|---|---|
| 影片 ID 與網址 | 你實際檢查的那部影片 |
| 清單版本 | 這次編輯使用的版本 |
| 影片長度 | 已確認的影片長度,以秒為單位 |
| 章節順序 | 該章在清單中的位置 |
| 章節標題 | 填入說明欄的文字 |
| 開始時間 | 說明欄中的時間戳記 |
| 開始秒數 | 將同一個開始時間換算成秒數 |
| 下一章開始時間或影片結束時間 | 用來計算章節長度的數值 |
| 章節長度 | 相減的結果,以秒為單位 |
| 內容檢查 | 你在分界處看到的內容 |
| 檢查日期 | 你檢查這個版本的日期 |
另為整部影片保留一份紀錄,記下編輯權限、「進階功能」的使用權限、已儲存的說明欄內容,以及實際觀察到的播放器結果。尚未完成的檢查,請記為未知狀態。
如果使用字幕,也請保留所選語言、`scrapedAt` 和任何失敗註記。`scrapedAt` 記錄字幕的蒐集時間,不是你檢查擁有者設定或播放器的時間。
剪輯或替換影片後,請重新檢查變更位置之後的所有章節開始時間。再次確認影片總長度與最後一章的長度。先前的計算只適用於先前的版本。
8. 根據失敗狀態選擇下一項檢查
根據實際觀察到的失敗狀態,決定下一步要檢查什麼。
| 觀察到的狀態 | 下一項檢查 |
|---|---|
| 第一個時間戳記不是 00:00 | 修正第一行,並檢查其標題 |
| 時間戳記少於三行 | 重新檢視內容,編成符合規則的完整清單 |
| 時間重複或遞減 | 修正順序,並重新計算章節長度 |
| 某個章節短於 10 秒 | 重新檢視該分界與附近內容 |
| 最後一章的長度未知 | 確認影片的實際結束時間 |
| 無法取得字幕 | 自行觀看影片 |
| 無法取得指定語言 | 檢查失敗資訊與所選語言 |
| 已儲存的說明欄內容與草稿不同 | 修正並儲存預定的版本 |
| 格式通過檢查,但章節未顯示 | 檢查擁有者權限,並記錄尚未解決的播放器結果 |
缺少字幕軌是資料蒐集的限制,不能據此認定帳戶有權限問題。正確的公開逐字稿也無法證實擁有者權限。
如果文件所列的檢查全部通過,但播放器仍未顯示章節,請將結果保留為尚未解決。保存已檢查的清單與帳戶觀察紀錄。所提供的證據未涵蓋所有可能原因,因此不要在沒有證據的情況下判定原因。
來源與延伸閱讀
作者 Chronometrica · 更新日期
返回頂端 ↑

