如何取得 YouTube 縮圖,以及為什麼經常缺少一種尺寸
每個 YouTube 影片都會在固定地址發布最多八張預覽圖像。這是如何獲取它們,以及如何從尺寸不存在時返回的佔位符中辨別真實圖像。
連結在您的瀏覽器中解析,無需網頁存取。按 Fetch 會直接從 i.ytimg.com 和 www.youtube.com 請求公共文件 - 不涉及我們的伺服器,並且不會儲存任何內容。
簡短版本
將任何 YouTube 連結貼到工具頁面上的框框中。該連結將在您的瀏覽器中讀取,無需任何聯繫:您將立即看到 11 字元影片 ID 出現在框下方。按 Fetch,瀏覽器會直接從 Google 要求每個已發布的縮圖文件,向您顯示哪些文件真正存在,並允許您下載其中的任何文件。
如果您只想要最大的可用圖像而不關心細節,請選擇第一張標記為 "Available" 的卡片:網格首先按最大的順序排列。
- 從網址列、分享按鈕或行動應用程式複製連結。
- 將其貼到連結框中。視訊 ID 在本機讀取並顯示給您。
- 按“取得縮圖和元資料”。這是第一次也是唯一一次有任何接觸。
- 尋找標記為 "Available" 的卡片 — 這些檔案以完整大小存在。
- 按您想要的下載,或複製 URL 以直接連結到該連結。
為什麼 maxresdefault 常常缺失
只有當來源影片以 720p 或更高的解析度上傳時,1280x720 檔案 maxresdefault.jpg 才存在。許多較舊的上傳、手機上傳和螢幕錄製都不是,因此對於這些視頻,檔案從未生成。
尷尬的是 YouTube 的說法並不一致。有時,缺少大小會傳回普通的 404。有時它會回答 200 並提供 120x90 灰色佔位符,而不是您要求的圖像 - 以及一個信任狀態代碼的工具,然後告訴您文件存在並為您提供一個灰色矩形。由於這兩種情況都會發生,因此該工具會忽略狀態代碼並測量解碼的圖像,無論哪種方式都是正確的。
該工具對每個回應進行解碼並讀取其真實的像素尺寸。對於應該更大的尺寸的 120x90 結果將報告為“未發布”,因為這就是它的含義。這就是閱讀標籤和打開盒子的區別。
您應該使用哪種尺寸?
對於連結卡、文章標題或任何列印內容,請在存在 maxresdefault 時使用它:它是唯一真正的 1280x720 檔案。
對於緊湊列表或側邊欄,320x180 的 mqdefault 通常是更好的選擇,因為它是真正的 16:9 ,沒有黑條。 hqdefault 和 sddefault 是 4:3 幀,寬螢幕影像在其內部以信箱形式顯示,因此在全出血時使用一個會留下條形,然後您必須進行裁剪。
hqdefault 是當您需要始終存在的東西時可以回退的尺寸:每個影片都有它。
三個故事板框架
除了海報圖片之外,YouTube 還發布了從影片開頭、中間和結尾拍攝的三張劇照,分別為 hq1.jpg、hq2.jpg 和 hq3.jpg。它們不是選定的縮圖,通常不討人喜歡,但當海報是標題卡並且您想要展示影片的實際外觀時,它們很有用。
這些畫面僅以 JPEG 形式存在。在工具中選擇 WebP 會隱藏它們,而不是產生 404 的位址。
JPEG 或 WebP
五種海報尺寸也在不同的路徑下以 WebP 形式發布,並且在相同的視覺品質下,這些文件通常要小 25 到 35 %。如果圖片要用於網頁並且您不需要在舊軟體中開啟它,則 WebP 是更好的下載。
有一個實際問題。 Google 為 JPEG 路徑提供跨網域標頭,而為 WebP 路徑提供不含跨網域標頭的服務,因此網頁可以取得並儲存 JPEG 文件,但無法讀取 WebP 位元組。因此,該工具會下載 JPEG 並為您提供 WebP 位址作為連結:在標籤中開啟它,或將其貼到獲取伺服器端的建置步驟中。
字幕和文字記錄面板
此工具不會從 YouTube 取得字幕,因為沒有網頁可以。 timedtext 端點傳回零字節,除非請求攜帶來自真實玩家會話的來源證明令牌,並且保存簽名標題 URL 的觀看頁面不會發送跨來源標頭,因此頁面無法讀取它。兩者都是經過深思熟慮的,並且都與縮圖不同,縮圖是允許跨來源讀取的主機上的普通靜態檔案。
相反,「字幕」面板的作用是閱讀您在幾秒鐘內可以獲得的內容,無論它以何種形式到達。有三種途徑,第一種適用於任何有字幕的視頻:打開視頻,展開說明,單擊“顯示文字記錄”,然後選擇並複製文字記錄文本。將其貼進去,時間戳記就會隨之而來——這個工具將「0:15」行變成真正的提示。第二條路線是 YouTube Studio,用於您自己的影片:字幕、語言、三點選單、下載,其中提供 SRT、VTT 和 SBV。第三個是瀏覽器的網路面板:開啟字幕後,過濾「timedtext」並複製回應正文或請求 URL;兩者均被接受,並為您取得 URL。
格式是被偵測到的,而不是被詢問的。 SRT、WebVTT、SBV、TTML/DFXP、YouTube 的 timedtext XML、其 JSON3 形式和純文字轉錄面板文字都解析到相同的提示清單中。然後列出每個提示及其時間戳,每個時間戳都是指向您粘貼的視頻的那一秒的鏈接,因此腳本變成了一組跳轉點而不是一堵文本牆。
有一個警告是在螢幕上說明的,而不是隱藏的:轉錄面板僅發布每行的開始時間,因此每個提示都會在下一個提示開始的地方給出結束時間。這些計時精確到秒,而不是毫秒。來自 Studio 或網頁面板的真實字幕檔案具有準確的持續時間。
自動字幕得到了額外的待遇。它們被寫成一個滾動視窗——每個提示重複前一行,並附加一個單字——這使得天真的抄本將每個短語讀四到五遍。此視窗預設情況下是折疊的,您可以將其關閉以查看與寫入完全相同的檔案。
匯出為帶有時間戳記的轉錄本、帶有可點擊時間戳記的 Markdown、電子表格的 CSV,或匯出為 SRT 或 WebVTT。所有這一切都發生在頁面中:文件從未上傳。
問題
這個可以下載影片嗎?
不。它只獲取預覽圖像和公共 oEmbed 記錄,僅此而已。這裡沒有影片下載器,也沒有嘗試存取媒體串流。
为什么该工具在我按“获取”之前显示尺寸?
這些是 YouTube 已發布目錄中的標稱尺寸,顯示這些尺寸是為了讓您知道需要什麼。它們被標記為 "nominal" ,直到獲取並測量真實文件為止。
我可以使用 Shorts 連結嗎?
是的。 Shorts、live、embed、youtu.be、m.youtube.com、music.youtube.com 和 youtube-nocookie.com 連結所有工作,貼上裸 11 字元 ID 也是如此。
限制
- 從未產生的縮圖無法恢復:沒有工具可以為以 360p 上傳的影片產生 1280x720 檔案。
- 私人、已刪除和有年齡限制的影片不會向退出的訪客發布縮圖,因此不會找到他們的任何內容。
- 這些圖像由 Google 提供。如果您的網路封鎖 i.ytimg.com,則此處的提取將會失敗,就像在其他地方一樣。