Video và phụ đề · Trình tải xuống hình thu nhỏ & Trình xem siêu dữ liệu của YouTube
Hình thu nhỏ JPEG và WebP: đường dẫn vi và vi_webp trên i.ytimg.com
· Lý lịch
youtube webp image-formats
YouTube cung cấp hình thu nhỏ ở cả JPEG và WebP. Bài đăng này giải thích hai quy ước về đường dẫn, lý do WebP được giới thiệu, định dạng thay đổi như thế nào đối với kích thước và chất lượng tệp cũng như cách quyết định bạn cần cái nào.
Hai định dạng hình ảnh cho cùng một hình ảnh — các biến thể JPEG và WebP của hình thu nhỏ
Tên người đăng chẳng hạn như `hqdefault` xuất hiện trong hai họ URL nhưng chỉ thay đổi phần mở rộng là sai. JPEG sử dụng `vi` và `.jpg`; WebP sử dụng `vi_webp` và `.webp`. Vai trò ID và người đăng không đổi. Ánh xạ cung cấp các địa chỉ theo định dạng cụ thể nhưng không đảm bảo tính khả dụng của biến thể tùy chọn cũng như quyền truy cập theo tập lệnh. Khả năng đánh địa chỉ, tính sẵn có và khả năng đọc chéo nguồn gốc là những sự thật riêng biệt. Việc ghi nhật ký đầy đủ URL sẽ ngăn ngừa lỗi thư mục và hậu tố trong quá trình gỡ lỗi.
ToolAcre tìm nạp ảnh JPEG, kiểm tra trạng thái, tạo Blobs, giải mã kích thước và từ chối 120×90 dự phòng cho các biến thể lớn hơn. Nó chỉ xây dựng các liên kết WebP vì `vi_webp` thiếu quyền CORS bắt buộc đối với quy trình làm việc được đo lường đó. Một liên kết có thể mở trong một tab trong khi tính năng tải xuống trong ứng dụng vẫn bị tắt; đó là ranh giới của trình duyệt, không phải định dạng không đúng định dạng. DevTools có thể hiển thị các kết quả yêu cầu khác nhau mà không thay đổi chính sách.
JPEG: mặc định lâu đời — hỗ trợ chung và đường dẫn vi
JPEG sử dụng `https://i.ytimg.com/vi/VIDEO_ID/VARIANT.jpg`. Năm tên người đăng, `maxresdefault`, `sddefault`, `hqdefault`, `mqdefault` và `default`, cùng với các ảnh tĩnh trong khung `hq1`, `hq2` và `hq3`, tạo ra tám ứng cử viên. Các tệp được đánh số có thể hiển thị các khoảnh khắc khác nhau; coi chúng là có thể hoán đổi cho nhau có thể thay thế tác phẩm nghệ thuật đã chọn bằng một khung tùy ý.
Mỗi đường dẫn đều cần xác minh. Yêu cầu có thể không thành công trước HTTP, trả về lỗi, trả lời 200 bằng trình giữ chỗ 120×90 hoặc chứa byte không thể giải mã được. ToolAcre chỉ giữ lại Blob sau khi kiểm tra phản hồi và pixel. Vì `default` chính hãng trên danh nghĩa là 120×90 nên kích thước đó được chấp nhận ở đó nhưng bị từ chối đối với các tên lớn hơn. Điều này đánh bại các hậu tố tin cậy hoặc mọi phản hồi 200. Báo cáo kích thước được giải mã với tên tệp đã chọn.
WebP sử dụng /vi_webp/; không yêu cầu lịch sử hỗ trợ hoặc tiết kiệm kích thước không được hỗ trợ
WebP sử dụng `https://i.ytimg.com/vi_webp/VIDEO_ID/VARIANT.webp` và chỉ cho phép năm tên người đăng. Yêu cầu WebP `hq1`, `hq2` hoặc `hq3` là lỗi lập trình nên không có khung tương ứng nào được ngụ ý. Kho lưu trữ chứng tỏ không có phần trăm tiết kiệm, lợi thế về chất lượng hoặc lịch sử hỗ trợ; những thứ này phụ thuộc vào mã hóa và ứng dụng khách thực tế chứ không phải hậu tố.
CORS là giới hạn được chứng minh. Điều hướng cấp cao nhất có thể mở hình ảnh có nhiều nguồn gốc, trong khi JavaScript không thể đọc nội dung của hình ảnh đó nếu không có tiêu đề từ xa. ToolAcre do đó không thể giải mã thứ nguyên, đo byte, giữ lại Blob hoặc cung cấp bản tải xuống JPEG được kiểm soát của nó. Việc thử lại không thể thay đổi chính sách máy chủ và không có proxy ẩn nào tránh được chính sách đó. Kiểm soát trung thực là một liên kết. Mở link đó vẫn liên hệ trực tiếp với Google.
Chọn các định dạng từ các ràng buộc quy trình làm việc thực tế, không phải các phép đo chất lượng được phát minh
Chọn theo quy trình làm việc tiêu thụ. Tệp cục bộ đã được xác minh có tên có thể dự đoán sẽ ưu tiên JPEG Blob có thể đọc được. Một trang web có thể sử dụng liên kết WebP từ xa khi khách hàng hỗ trợ liên kết đó, chấp nhận sự phụ thuộc `i.ytimg.com` trực tiếp. Một kho lưu trữ yêu cầu byte được lưu trữ, tổng kiểm tra và kích thước không thể sử dụng kết quả chỉ liên kết. Việc phân phối, xác nhận, lưu giữ và hỗ trợ quyết định định dạng.
Chất lượng và kích thước yêu cầu đo lường. Cài đặt bộ mã hóa và nội dung hình ảnh thay đổi khả năng nén, do đó, phần mở rộng không mang lại tỷ lệ phần trăm đáng trách. ToolAcre báo cáo JPEG byte và kích thước có thể đọc được nhưng không phát minh ra số liệu WebP. So sánh các bản sao được phép của cùng một vai trò áp phích, ghi lại kích thước thực tế, kiểm tra chúng ở kích thước hiển thị dự định và không khái quát hóa một mẫu. Sử dụng các điều kiện hiển thị giống nhau để so sánh công bằng.
Ví dụ hoạt động: so sánh các đường dẫn chính xác mà không yêu cầu số tiền tiết kiệm được đo
Đối với ID `dQw4w9WgXcQ` và `hqdefault`, địa chỉ là `https://i.ytimg.com/vi/dQw4w9WgXcQ/hqdefault.jpg` và `https://i.ytimg.com/vi_webp/dQw4w9WgXcQ/hqdefault.webp`. ID được chia sẻ và các đại diện tương ứng của mục tiêu vai trò. ToolAcre thăm dò và giải mã JPEG, giữ lại các byte không giữ chỗ nhưng chỉ hiển thị WebP dưới dạng liên kết.
Nếu JPEG báo cáo 480×360 và WebP mở trong một tab thì chỉ điều hướng và phép đo JPEG mới được chứng minh. Tính năng đọc WebP theo kịch bản vẫn không khả dụng; không đo được mức tiết kiệm kích thước. Sau đó, đường dẫn máy chủ được ủy quyền có thể ghi lại byte và giá trị băm cho cả hai, nhưng các phép đo đó thuộc về đường dẫn đó và không thể tự động biểu thị các vai trò hoặc video khác. Giữ báo cáo của nó tách biệt với việc xuất trình duyệt.
Điều này không bao gồm những gì - chuyển đổi giữa các định dạng, đó là công việc của công cụ hình ảnh
Chuyển đổi định dạng nằm ngoài ToolAcre. Chuyển đổi JPEG thành-WebP được phép sẽ tạo ra một mã hóa mới chứ không phải bằng chứng khớp với `vi_webp` byte của YouTube. Nó không thể khôi phục chi tiết bị thiếu và việc mã hóa bị mất lặp đi lặp lại có thể thêm các thành phần lạ. Ghi lại URL gốc và biến thể, giữ nguyên nguồn, chọn cài đặt phù hợp với đích đến và tách quyền sửa đổi khỏi quyền truy cập kỹ thuật.
Các video riêng tư, đã xóa và bị giới hạn độ tuổi sẽ không có nội dung đăng xuất nào có thể phục hồi được. Trạng thái ngoại tuyến, trình chặn, điều khiển DNS và proxy có thể dừng một trong hai nhóm; các biến thể tùy chọn có thể trả về lỗi hoặc phần giữ chỗ và WebP có thể thất bại trong khi JPEG thành công. ID và đường dẫn hợp lệ chỉ chứng minh việc xây dựng chứ không chứng minh quyền xuất bản, tính khả dụng, khả năng đọc, tính bền vững hoặc quyền sử dụng lại. Ghi lại lỗi trên mỗi định dạng thay vì suy ra sự tương đương.
Bài học rút ra: đường dẫn chính xác và ranh giới CORS
`/vi/` cộng với `.jpg` bao gồm tám ứng viên JPEG đã được thăm dò có thể tải xuống từ các Blobs không giữ chỗ thành công. `/vi_webp/` cộng với `.webp` bao gồm năm liên kết áp phích và không có khung được đánh số. CORS làm cho điều hướng liên kết khác với việc đọc và tải xuống ở cấp ứng dụng. Duy trì sự bất đối xứng đó sẽ chính xác hơn việc cung cấp một nút không thể xác minh hoặc lưu giữ lời hứa của nó. Nhãn giao diện phải phân biệt rõ ràng bản tải xuống đã được xác minh với liên kết bên ngoài.
Chẩn đoán đường dẫn bắt đầu sau khi phân tích cú pháp cục bộ: JPEG thăm dò và điều hướng WebP truy cập trực tiếp vào Google, trong khi không có proxy ToolAcre nào thay đổi cả phản hồi. Hàng JPEG có thể cung cấp trạng thái và bằng chứng được giải mã; liên kết WebP chỉ hiển thị kết quả điều hướng có sẵn theo chính sách CORS của nó. oLỗi nhúng vẫn riêng biệt, đường dẫn ổn định có thể thay đổi và các tệp đã lưu không có quyền. Thư mục, hậu tố, quyền truy cập phản hồi và quy trình làm việc tiêu tốn cùng nhau xác định khả năng sử dụng; riêng phần mở rộng thì không.