YouTube播放清單倒序工具
簡介
Toollect 的 YouTube 播放清單倒序工具將 YouTube 播放清單按從最舊到最新的順序播放。貼上清單連結,按下載入,播放器就從最舊的項目開始播放,倒序清單以可點擊的縮圖形式顯示在下方 – 無需註冊、無需 API 金鑰、無需上傳。
這個需求眾所周知。長篇連續劇、教學頻道和紀錄片系列不斷在頂端添加新集數,因此中途加入意味著要捲動到底部、手動開啟最舊的影片、並在每集之後重複這一過程。一個 150 集的清單會變成 150 個小彎路。這個工具消除了這些彎路:整個清單反向播放,最舊的在前 – 除此之外與一般清單完全一樣。
一切都在你的瀏覽器中執行。清單由隱藏的 YouTube 播放器執行個體讀取,標題來自 YouTube 的公開 oEmbed 服務,可見播放器隨後在頁面上播放倒序清單。你的連結永遠不會到達由本網站控制的伺服器。
使用情境
倒序播放服務的情境不止「從頭看一部連續劇」。
追趕長篇連續劇
每天或每週更新的頻道會積壓越來越多,且一直在頂端增長。倒轉清單把這堆積壓變成自然的觀看順序:從第 1 集到最新一集,一次不間斷地看完。
依課程順序學習教學
許多教學頻道不依序上傳課程,或在之後重新排列。如果清單順序就是設計的學習路徑,那麼透過倒序可以依照從基礎到進階課程的順序完成學習,無論每集是什麼時候上傳的。
依時間順序收聽專輯和混音帶
將新歌放在頂端的音樂清單預設從新到舊播放。倒轉它們可以還原專輯的發行順序、廠牌唱片目錄或主題混音帶的原始順序。
歸檔與研究
研究人員和檔案管理員依時間順序重播頻道內容時,可以依發布時的順序獲得內容演進 – 這有助於內容審查、引文核對,或單純用於驗證每個階段存在什麼。
運作原理
工具不會攔截播放器控制項,也不模擬點擊。它把倒序的清單餵給 YouTube,讓播放器自身的內部清單已經處於所需順序 – 下一個影片按鈕、接下來播放的佇列和自動播放都自然地遵循倒序。
載入過程分為三個階段:
- 讀取清單 – 隱藏播放器使用與 YouTube 本身相同的
list參數載入清單。清單穩定後(經過短暫的穩定性檢查),擷取其影片 ID – 最多到播放器的 200 個影片上限。 - 取得標題 – 每個影片的標題從 YouTube 的公開 oEmbed 端點取得,這是用於自動產生分享卡片、無需金鑰的同一個服務。
- 倒序播放 – 可見播放器以倒序清單建立,並播放你選擇的影片。驗證迴圈確認播放器已載入倒序順序後,才釋放控制項。
網址列承載狀態:?list=清單ID&index=位置 記錄清單和你在倒序清單中的位置。重新整理頁面會還原清單並從此位置繼續,瀏覽器的上一頁和下一頁按鈕可遍歷你造訪過的清單。
為什麼播放器會遵循倒序
可見播放器以 playlist=影片1,影片2,... 的形式接收倒序影片。YouTube 從該清單建構內部佇列,因此「下一個影片」意味著下一個倒序影片,而自然接在目前影片之後的影片是最舊的。由於播放器認為倒序清單才是真正的清單,其他一切都保持一致:迷你播放器的佇列、影片結尾的自動播放、相關導覽。
支援的 URL 格式
輸入接受 YouTube 自己產生的清單連結,以及一些快捷方式。
| 格式 | 範例 |
|---|---|
| 清單頁面 | youtube.com/playlist?list=清單ID |
| 帶或不帶協定 | https://youtube.com/... 或 youtube.com/... |
| 行動子網域 | m.youtube.com/playlist?list=清單ID |
| 帶清單的影片連結 | youtube.com/watch?v=影片ID&list=清單ID |
| 帶清單的短連結 | youtu.be/影片ID?list=清單ID |
| 帶清單的 Shorts | youtube.com/shorts/影片ID?list=清單ID |
| 僅清單 ID | 清單ID(22 個以上字元) |
| 被拒絕 | 原因 |
|---|---|
沒有 list 參數的影片連結 |
沒有可倒序的清單 |
| 其他網域的連結 | 不是 YouTube 清單來源 |
| 私密或未公開的清單 | 播放器無法讀取 |
list= 旁邊的額外參數會被自動忽略。
200 個影片的上限
YouTube 播放器 API 每個清單最多傳回 200 個影片,本工具尊重此上限。當清單達到上限時,清單上方會出現警告:此播放清單有超過 200 個影片 – 只匯入前 200 個。
兩個誠實的細節:
- 保留的是哪 200 個。 播放器依清單的儲存順序傳回前 200 項。對於從頂端增長的連續劇清單(常見情況),那就是最新的 200 個影片。工具隨後倒轉這個集合進行播放,因此匯入的 200 個中最舊的影片先播,最新的最後播。上限之外留下的是清單最舊的部分:最早的劇集位於儲存順序第 200 位之後,不在其中。
- 為什麼沒有確切總數。 播放器 API 不會透露清單的實際長度,只傳回前 200 個 ID。實際總數是只有官方 YouTube Data API 才曝光的後設資料(參見與官方 API 的對比)。因此警告說的是「已達上限」,而不是清單的確切大小。
警告僅是提示性的 – 播放會繼續使用匯入的 200 個影片,依倒序播放。
使用方法
工作流程是一個互動面板:
- 貼上清單連結 – 從網址列、分享選單或 YouTube 提供清單網址的任何地方。
- 按載入或Enter – 面板讀取清單,顯示載入指示器並建構倒序清單。
- 從最舊的影片開始觀看 – 播放立即開始,依倒序進行。
- 隨意跳轉 – 清單中的每一行都是可點擊的縮圖;播放器跳到該影片,URL 更新到你的新位置。
- 保留位置 – 重新整理頁面或稍後重新開啟連結,清單會帶著相同的選取位置回來。
貼上本身不會觸發載入;載入在你按載入或 Enter 時才開始。這讓工具保持可預測 – 編輯輸入框絕不會捨棄你正在觀看的結果。
教學
從連結到播放,走一遍完整的流程。
步驟 1 – 取得清單連結。 開啟任意公開 YouTube 清單並複製網址,例如 https://www.youtube.com/playlist?list=PLYL09HHJfLaFIsmXEjJEfz3EdCZZcOOY6。
步驟 2 – 貼上並載入。 點擊輸入框,貼上並按Enter。縮圖面板顯示載入指示器,同時清單被讀取和倒轉。
步驟 3 – 檢查順序。 清單顯示在播放器下方,從 1 開始編號。第一行是原始清單的最舊影片 – 即 YouTube 頁面本身的最後一個項目。
步驟 4 – 播放。 播放器從第一行開始。播放器的下一個影片按鈕遵循倒序清單,跳到第 2 行、第 3 行,依此類推。
步驟 5 – 跳到某集。 例如點擊第 37 行。播放器切換到該影片,網址列更新為 ?list=...&index=36 – 倒序位置,從 0 開始計數。
步驟 6 – 稍後繼續。 複製位址,關閉分頁,重新開啟,相同的清單和相同的位置就會回來。
這就是完整循環:貼上、載入、從最舊看到最新、按行跳轉、在中斷處精確繼續。
瀏覽器視窗內全螢幕
播放器下方的設定面板提供一個勾選框:瀏覽器視窗內全螢幕。這是一個刻意的功能,不是權宜之計。
通常,YouTube 的全螢幕按鈕會把作業系統切換成全螢幕模式 – 瀏覽器介面消失,影片填滿整個顯示器。在工具頁面內,這感覺像一次逃離,而且很容易失去自己身在哪個視窗的感知。啟用該選項後,YouTube 的全螢幕按鈕會把影片放大到只填滿瀏覽器視窗:覆蓋層填滿可見區域,頁面的捲動軸消失,影片保留其控制項、字幕和設定。
值得了解它的原理。工具先讓 YouTube 的全螢幕請求通過,然後在不到一秒後把它拉回視窗,同時套用覆蓋層樣式 – 因此在切換的瞬間,會看到短暫的全螢幕閃現,然後影片在視窗內落定。它快得只像一個閃爍,這是使用 YouTube 原生按鈕的代價,而不是添加一個會與播放器介面衝突的第二個自訂按鈕。
兩個可以預期的行為:
- 還原 – 再次點擊 YouTube 的放大按鈕(或取消勾選選項)退出視窗模式。
- 僅限工作階段 – 此設定只在目前頁面工作階段中有效,關閉分頁時會被重設。這遵循本站「絕不在瀏覽器儲存中保存設定」的隱私方針;該選項是每次造訪的決定,而非靜默持久化。
專業技巧
- 貼上純清單 ID。 輸入接受不帶網址的 22 個以上字元的清單 ID – 當你從嵌入程式碼片段、API 回應或資料庫匯出中複製 ID 時很方便。
- 自己建構 URL。 位址格式為
?list=清單ID&index=位置,位置在倒序清單中從 0 計數。&index=0是最舊的影片;&index=36是清單第 37 行。你可以直接貼上或分享該 URL。 - 出錯後重試。 如果載入失敗 – 打錯字、短暫網路故障 – 輸入框保持可用。修正連結再按一次載入即可,無需先清除任何內容。
- 不要在結尾追右箭頭。 在最後(最新)一個影片上,按播放器的右箭頭會重新播放目前影片。這是 YouTube 的進度列操作在清單末尾卡住的表現,不是工具缺陷 – 自然的結束方式是讓影片自然播完,自動播放會接手下一步。
- 播放過程中行仍然可點擊。 你可以隨時重新調整觀看計畫 – 點擊前面的行可以倒回工作階段,而不觸碰播放器的時間軸。
- 預料到視窗全螢幕的閃爍。 切換時短暫的全螢幕閃現是機制在運作,不是缺陷 – 參見瀏覽器視窗內全螢幕。
替代方案
人們通常如何從最舊到最新播放清單?表格整理了各種選項。
| 方法 | 付出 | 順序倒轉 | 位置保留 |
|---|---|---|---|
| 捲動到底部手動播放 | 每集都要付出,永遠如此 | 部分倒轉,直到放棄 | 否 |
| 在 YouTube 上重新排序清單 | 需要登入,永久性修改 | 是,但會改變你的清單 | 透過你的帳戶 |
| 倒序播放瀏覽器擴充功能 | 安裝並信任第三方 | 各不相同 | 各不相同 |
| 本工具 | 貼上一個連結 | 總是,即時 | 透過 URL |
手動從底部播放只對一次有效。在 YouTube 上重新排序清單是永久性的,對使用該清單的所有人都會改變清單。擴充功能增加了一個需要審查的相依項目。本工具是一次「貼上即播放」的操作,在不動你清單的情況下當場倒轉順序。
與官方 API 的對比
官方 YouTube Data API 能比播放器 API 回答更多關於清單的問題 – 代價是金鑰、伺服器和配額。這個對比誠實地說明了雙方各得到什麼。
| 能力 | 官方 Data API | 本工具 |
|---|---|---|
| 清單的確切總數 | playlistItems.pageInfo.totalResults |
不可用 – 播放器最多傳回 200 |
| 倒序播放順序 | 無此功能 – 僅後設資料 | 直接在播放器內 |
| 播放影片 | 不能 – 它是後設資料 API | 可以,完整的播放器 |
| 保留位置 | 自己建構 | 透過 URL |
| 金鑰、配額、伺服器 | 金鑰 + 配額 + 伺服器代理 | 都不需要 – 100% 瀏覽器 |
| 存取私密清單 | OAuth + 使用者同意 | 否 |
官方 API 知道而本工具看不到的唯一一件事,是超過 200 個影片的清單的實際長度。工具承諾的一切 – 倒序、播放、保留位置 – 正是播放器 API 存在的意義。如果你需要超長清單的確切總數,Data API 是誠實的答案,代價是它的金鑰和配額。
錯誤訊息說明
工具顯示的每條訊息都對應一個具體原因。
| 訊息 | 含義 | 典型原因 |
|---|---|---|
| 請輸入有效的 YouTube 播放清單連結 | 輸入不是 YouTube 清單網址 | 沒有 list= 的影片連結、打錯字或外部網域 |
| 此播放清單是私密的或已無法使用 | 播放器無法載入清單 | 私密或已刪除的清單,或 ID 拼寫錯誤 |
| 無法讀取播放清單 – 請重試 | 等待視窗內沒有清單回應 | 播放器指令碼被攔截、廣告攔截器或網路問題 |
| 播放器錯誤 {code} | 播放器回報了意外錯誤碼 | 播放器端的罕見故障 |
「私密或已無法使用」訊息同時涵蓋多個播放器錯誤碼 – 無效 ID、已刪除清單和嵌入限制都會以播放器錯誤碼之一的形式出現。因此它們共用一條訊息,而不是假裝能區分它們。
疑難排解
| 問題 | 原因 | 解決方案 |
|---|---|---|
| 載入停留在縮圖指示器上 | 播放器指令碼被攔截或網路中斷 | 等待逾時訊息並按載入重試 – 或允許 youtube.com 的播放器指令碼 |
| 「此播放清單是私密的或已無法使用」 | 清單無法公開讀取 | 先確認清單能在自己的瀏覽器中開啟;檢查分享設定 |
| 清單只有 200 行 | YouTube 播放器上限 | 參見 200 個影片的上限 – 警告已說明情況 |
| 第一個影片不是最舊的 | 貼上的連結帶有 index 參數 |
載入簡單的清單網址,或設定 &index=0 |
| 結尾按右箭頭會重新播放影片 | YouTube 的進度列操作卡在清單末尾 | 讓影片自然播完 – 自動播放會接手 |
| 全螢幕切換時有快速閃現 | 視窗模式機制把播放器拉回視窗 | 預期行為 – 參見瀏覽器視窗內全螢幕 |
| 退出後播放器沒有回到視窗模式 | 瀏覽器需要全螢幕轉場穩定下來 | 等一會兒再點擊 YouTube 的放大按鈕 |
隱私與資料處理
工具遵循 Toollect 整體的隱私模型:一切都在你的瀏覽器中本機執行。
- 無上傳。 你的連結在瀏覽器中處理。任何包含其內容的請求都不會傳送到本網站控制的伺服器。
- 無帳戶、無追蹤。 沒有登入、沒有分析、沒有你載入過清單的歷史記錄。
- 僅 YouTube 流量。 唯一的網路請求發往 YouTube:播放器指令碼、播放器自身的串流、oEmbed 標題請求與縮圖。這些都是任何頁面嵌入影片時發出的相同請求。
- 無瀏覽器儲存。 工具設定(包括視窗全螢幕選項)只在工作階段內有效,絕不會寫入 localStorage 或 Cookie。
- 不保存任何影片。 串流播放發生在播放器內,與任何嵌入影片一樣;不會下載、擷取或儲存任何內容。
如果你在意所查看清單的隱私:這個頁面與在瀏覽器中觀看 YouTube 影片的行為完全相同 – 你的資料除了進入你自己的播放器之外,不會去往任何地方。
技術規格
詳細資訊:
- 清單讀取:隱藏的 iframe 播放器執行個體,使用
listType: "playlist",擷取前進行穩定性檢查(播放器的 200 個影片上限) - 標題:每個影片透過
https://www.youtube.com/oembed?url=...&format=json取得,無需金鑰 - 可見播放器:以
playerVars.playlist依倒序建立,index偏移 1 以符合播放器的從 1 開始計數,autoplay: 1 - 位置保留:URL 狀態
?list={id}&index={位置},URL 內從 0 開始,播放時更新,載入和瀏覽歷史時還原 - 視窗全螢幕模式:擷取
fullscreenchange,轉場後把播放器拉回視窗並套用固定覆蓋層 – 僅工作階段設定 - 清單順序:你在 YouTube 上的清單絕不會被修改
- 處理:100% 用戶端 JavaScript,無 API 金鑰、無上傳、無伺服器
- 瀏覽器支援:所有支援 Promise 的現代瀏覽器(ES5 等級,Chrome、Edge、Firefox、Safari)
功能特色
- 一鍵倒轉任意 YouTube 播放清單,從最舊影片開始播放
- 在頁面上播放倒序清單 – 下一個影片和自動播放都遵循新順序
- 透過保存清單和位置的分享連結,在重新整理後保留你的位置
- 以縮圖形式瀏覽倒序清單,點擊任一行即可跳到對應影片
- 當清單超過播放器匯入上限 200 個影片時顯示明確警告
- 瀏覽器視窗內全螢幕,影片填滿視窗而不是系統全螢幕
- 無需註冊、無需 API 金鑰、無需上傳 – 一切都在瀏覽器中處理