399 字
2 分鐘
YouTube 影片取得縮圖

YouTube 提供多種不同解析度的影片縮圖,只要替換網址中的影片 ID (xxxxxx) 即可取得。
縮圖網址格式
- 高解析度大圖 (1280 × 720)
http://img.youtube.com/vi/xxxxxx/maxresdefault.jpg
- 標準清晰圖 (640 × 480)
http://img.youtube.com/vi/xxxxxx/sddefault.jpg
- 高品質縮圖 (480 × 360)
https://img.youtube.com/vi/xxxxxx/hqdefault.jpg
- 播放器背景縮圖 (480 × 360)
http://img.youtube.com/vi/xxxxxx/0.jpg
- 影片開始畫面縮圖 (120 × 90)
http://img.youtube.com/vi/xxxxxx/1.jpg
- 影片中間片段縮圖 (120 × 90)
http://img.youtube.com/vi/xxxxxx/2.jpg
- 影片結束縮圖 (120 × 90)
http://img.youtube.com/vi/xxxxxx/3.jpg
使用方法:將網址中的 xxxxxx 替換為目標 YouTube 影片的 ID 即可。
EX:
YouTube 影片資訊擷取工具
以下是一個實用的 JavaScript 函數,能夠從 YouTube 一般影片或 Shorts 短片的 URL 中提取影片 ID、類型,並生成高解析度縮圖網址:
function getYouTubeInfo(url) {
// 定義正則表達式以匹配 YouTube URL 和 Shorts URL
const youtubeRegex = /^(?:https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/;
const shortsRegex = /^(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/shorts\/)([\w-]{11})(?:\S+)?$/;
let videoId = null;
let type = null;
// 判斷是否為 Shorts 連結
let shortsMatch = url.match(shortsRegex);
if (shortsMatch) {
videoId = shortsMatch[1];
type = "shorts";
} else {
// 判斷是否為 YouTube 連結
let youtubeMatch = url.match(youtubeRegex);
if (youtubeMatch) {
videoId = youtubeMatch[1];
type = "youtube";
}
}
// 如果不是有效的 YouTube 或 Shorts 連結,返回 false
if (!videoId) {
return false;
}
// 組合封面圖片網址
const thumbnailUrl = `http://img.youtube.com/vi/${videoId}/maxresdefault.jpg`;
return {
id: videoId,
type: type,
thumbnail: thumbnailUrl,
};
}
// 測試範例
console.log(getYouTubeInfo("https://www.youtube.com/watch?v=dQw4w9WgXcQ"));
// 輸出: { id: "dQw4w9WgXcQ", type: "youtube", thumbnail: "http://img.youtube.com/vi/dQw4w9WgXcQ/maxresdefault.jpg" }
console.log(getYouTubeInfo("https://youtu.be/dQw4w9WgXcQ"));
// 輸出: { id: "dQw4w9WgXcQ", type: "youtube", thumbnail: "http://img.youtube.com/vi/dQw4w9WgXcQ/maxresdefault.jpg" }
console.log(getYouTubeInfo("https://youtube.com/shorts/0dPkkQeRwTI?feature=share"));
// 輸出: { id: "0dPkkQeRwTI", type: "shorts", thumbnail: "http://img.youtube.com/vi/0dPkkQeRwTI/maxresdefault.jpg" }
console.log(getYouTubeInfo("https://www.example.com"));
// 輸出: false
這個函數不僅能識別標準的 YouTube 網址,還支援短連結和 YouTube Shorts 格式,十分適合需要處理 YouTube 內容的前端應用。
YouTube 影片取得縮圖
https://laplusda.com/posts/youtube-thumbnail-urls/