Video và phụ đề · Trình tải xuống hình thu nhỏ & Trình xem siêu dữ liệu của YouTube
Cách hoạt động của yêu cầu hình thu nhỏ YouTube: ID video, tên kích thước và i.ytimg.com
· Cách thức hoạt động
youtube hình thu nhỏ http
Hình thu nhỏ của YouTube hiển thị ở các địa chỉ có thể dự đoán được được tạo từ ID video và tên kích thước. Bài đăng này giải thích cách các yêu cầu đó được hình thành, điều gì phản hồi và lý do tại sao một công cụ có thể liệt kê mọi kích thước mà không cần chạm vào chính video.
Bạn có liên kết và cần hình ảnh — công việc hàng ngày đằng sau việc tải xuống hình thu nhỏ
Người biên tập bản tin thường bắt đầu bằng liên kết xem và cần hình ảnh xem trước đáng tin cậy chứ không phải luồng video. Đơn vị hữu ích là ID video gồm 11 ký tự, vì mỗi địa chỉ hình thu nhỏ công khai được tập hợp từ ID đó và tên tệp đã biết. Việc ghi lại ID đó cho phép người chỉnh sửa liên kết mọi kiểm tra kích thước với một video ngay cả khi chia sẻ ban đầu URL chứa thông số theo dõi hoặc dấu thời gian.
ToolAcre phân tích liên kết được dán trong trình duyệt trước khi đưa ra bất kỳ yêu cầu nào. Bước cục bộ đó tách biệt việc hiểu dữ liệu đầu vào với việc tìm nạp nội dung công cộng, do đó, máy chủ không hợp lệ hoặc ID không đúng định dạng có thể bị từ chối mà không cần liên hệ với Google. Do đó, trong nhật ký yêu cầu, việc dán không hợp lệ sẽ không tạo ra mục nhập i.ytimg.com nào cả; chỉ một ID được xác thực mới có thể tiến hành thăm dò hình ảnh.
Máy chủ hình ảnh: i.ytimg.com — nơi các hình thu nhỏ được phân phát và tại sao nó lại tách biệt với youtube.com
Tệp hình ảnh đến từ i.ytimg.com chứ không phải từ máy chủ lưu trữ trang xem. Việc giữ các áp phích tĩnh trên máy chủ hình ảnh cho phép khách hàng yêu cầu JPEG trực tiếp mà không cần tải trình phát, đề xuất, nhận xét hoặc trang JavaScript. Do đó, phản hồi có thể được đánh giá dưới dạng hình ảnh mà không cần diễn giải đánh dấu trình phát hoặc chờ trang xem đầy đủ khởi chạy.
Máy chủ hình ảnh trực tiếp vẫn là một dịch vụ mạng chứ không phải xử lý cục bộ. Trình chặn quảng cáo, chế độ ngoại tuyến, proxy được quản lý hoặc chính sách DNS có thể dừng yêu cầu và Google nhận được yêu cầu cùng với tiêu đề Origin do trình duyệt cung cấp. DevTools có thể chứng minh yêu cầu đã đi đến đâu, trong khi việc giải mã phản hồi sẽ cung cấp bằng chứng riêng biệt cần thiết để phân biệt tác phẩm nghệ thuật với dự phòng nhỏ của YouTube.
Mẫu địa chỉ — ID video cộng với tên kích thước như mặc định, mqdefault, hqdefault, sddefault hoặc maxresdefault
Mẫu được triển khai là https://i.ytimg.com/vi/VIDEO_ID/VARIANT.jpg. ToolAcre thay thế một trong các maxresdefault, sddefault, hqdefault, mqdefault, default, hq1, hq2 hoặc hq3 sau khi xác thực hình dạng ID. Việc thăm dò tất cả các tên sẽ ngăn cản phản hồi 200 dẫn đến một dự phòng nhỏ khỏi việc giành chiến thắng sớm trước một biến thể khác có chứa tác phẩm nghệ thuật có thể sử dụng được.
Tám cái tên đó bao gồm năm lựa chọn áp phích và ba ảnh tĩnh. Danh mục ghi lại các kích thước và mục đích danh nghĩa, nhưng trình duyệt vẫn kiểm tra tệp được trả về vì không phải video nào cũng xuất bản mọi kích thước tùy chọn. Một hàng báo cáo những gì video này thực sự trả về cho tên đó, có thể khác với kích thước mà danh mục liên kết với một video tải lên được điền đầy đủ.
Phản hồi chứng minh điều gì: trạng thái, byte và kích thước được giải mã cùng nhau
Đề cương coi trạng thái HTTP là bằng chứng cho thấy một kích thước tồn tại nhưng việc triển khai sẽ khắc phục xác nhận đó. Ứng cử viên bị thiếu có thể là 404, lỗi HTTP khác hoặc phản hồi 200 thành công có chứa phần giữ chỗ 120×90 của YouTube. Báo cáo ghi ngày tháng ghi lại phản hồi được cung cấp cho trình duyệt đã đăng xuất trong lần chạy đó; nó không thể xây dựng lại một tấm áp phích cũ hơn mà trước đó đã đi theo cùng một đường dẫn có thể dự đoán được.
ToolAcre đọc nội dung dưới dạng Blob và giải mã kích thước thực của nó. Nội dung không thể giải mã được là lỗi, trong khi kết quả 120×90 cho biến thể lớn hơn bị đánh dấu là thiếu; do đó trạng thái, kích thước và byte mô tả bằng chứng khác nhau. Vì hình ảnh được lấy trực tiếp từ Google nên việc xác thực này sẽ cải thiện độ chính xác mà không tạo ra bí mật tra cứu khỏi dịch vụ cung cấp nó.
Ví dụ hoạt động: xây dựng tất cả tám yêu cầu JPEG cho một video
Đối với một ID hợp lệ, công cụ sẽ xây dựng 8 URL JPEG thay vì 5 URL được nêu trong dàn ý. Nó thăm dò năm tên áp phích cộng với hq1, hq2 và hq3, giữ nguyên thứ tự danh mục để áp phích dự kiến lớn nhất sẽ được xem xét đầu tiên. Do đó, người chỉnh sửa có thể so sánh tác phẩm nghệ thuật chính của video tải lên với ba vị trí khung hình đã chụp thay vì nhầm những ảnh tĩnh đó với độ phân giải áp phích thay thế.
Một yêu cầu có thể mang lại 1280×720, một yêu cầu khác 480×360 và một yêu cầu tùy chọn có thể trả về một phần giữ chỗ hoặc 404. Danh sách báo cáo từng kết quả thay vì giả vờ một chuỗi dự phòng có thể chứng nhận mỗi lần tải lên. Bằng chứng song song đó đặc biệt hữu ích khi một bản tải lên cũ hơn có áp phích có độ phân giải tiêu chuẩn nhưng không có tệp có độ phân giải tối đa thực sự.
Tại sao điều này không bao giờ ảnh hưởng đến video — hình thu nhỏ là các tệp công khai riêng biệt, không phải là một phần của luồng
Yêu cầu hình thu nhỏ không bao giờ yêu cầu byte video hoặc âm thanh. Nó xử lý một tệp hình ảnh công khai riêng biệt và công cụ này không chứa mã thông báo trình phát, giải mã chữ ký phương tiện hoặc đường dẫn tải xuống luồng. Ngay cả ứng cử viên lớn nhất cũng là phản hồi JPEG thông thường, vì vậy việc kiểm tra các URL này không cho biết gì về các định dạng phương tiện, tốc độ bit hoặc ủy quyền phát lại có sẵn.
Sự tách biệt không tạo ra quyền truy cập. Các video riêng tư, đã xóa và bị giới hạn độ tuổi sẽ không có bản ghi đăng xuất có thể sử dụng được và quy ước hình thu nhỏ công khai không thể bỏ qua những hạn chế đó hoặc khôi phục tệp mà YouTube không xuất bản. Đường dẫn có thể dự đoán được chỉ đơn thuần là một quy ước về địa chỉ; quyền và tính khả dụng vẫn được quyết định bởi những gì máy chủ hình ảnh phục vụ tại thời điểm yêu cầu.
Điều này không bao gồm những gì - video riêng tư, nội dung bị khóa theo khu vực và hình thu nhỏ đã được thay đổi kể từ lần cuối bạn xem
Hình thu nhỏ đã thay đổi là một ranh giới khác: URL có thể dự đoán đề cập đến hình ảnh hiện được cung cấp chứ không phải bản sửa đổi lịch sử. Chính sách khu vực và tính khả dụng khi đăng xuất cũng có thể ảnh hưởng đến những gì khách truy cập có thể nhận được tại thời điểm tra cứu. Bất kỳ ai ghi lại chiến dịch đều phải ghi ngày tháng cho hình ảnh đã tải xuống vì việc yêu cầu cùng một đường dẫn sau khi thiết kế lại có thể trả về các pixel khác nhau dưới URL không thay đổi.
Thăm dò hình thu nhỏ có thể không thành công qua mạng, do phản hồi HTTP không thành công, thông qua phần giữ chỗ 200 hoặc do nội dung không thể giải mã dưới dạng hình ảnh. Giao diện giữ cho các lớp lỗi này được phân biệt để sự vắng mặt không bị cường điệu hóa. Sự gián đoạn proxy yêu cầu thử lại, trong khi phần giữ chỗ 120×90 đã được giải mã cho thấy cụ thể rằng biến thể lớn hơn được yêu cầu không được phân phối.
Bài học rút ra: các địa chỉ có thể dự đoán được, được thông báo trước — cách Trình tải xuống hình thu nhỏ của YouTube liệt kê mọi kích thước cho một liên kết
Quá trình phân tích cú pháp diễn ra trước khi Tìm nạp. Sau khi Tìm nạp, trình duyệt sẽ gửi các yêu cầu GET không có thông tin xác thực ẩn danh mà không có liên kết giới thiệu, bộ nhớ đệm không lưu trữ và các chuyển hướng tiếp theo trực tiếp đến i.ytimg.com và www.youtube.com; Google thấy các yêu cầu đó và tiêu đề Origin, trong khi không có máy chủ ToolAcre hoặc proxy nào nằm giữa chúng. Do đó, DevTools sẽ hiển thị lưu lượng hình ảnh rời khỏi trình duyệt cho Google nhưng không có lệnh gọi ToolAcre API mang ID video đã dán.
Tra cứu oEmbed đi kèm sử dụng đồng hồ chuẩn URL chứa cùng ID cộng với định dạng=json. Yêu cầu này có thể bị lỗi do mạng, phản hồi HTTP hoặc JSON không hợp lệ và không yêu cầu nào truy xuất tài liệu riêng tư, bị xóa hoặc bị giới hạn độ tuổi. Bằng chứng hình thu nhỏ và bằng chứng siêu dữ liệu vẫn tách biệt: JPEG có thể có sẵn ngay cả khi bản ghi có cấu trúc không thành công và không nhánh nào chứng minh được quyền truy cập lâu dài.