Chuyển đến nội dung

Clip và VOD Kick: liên kết nói gì với trình tải

Kick trả lời ba câu hỏi khác nhau tùy theo liên kết bạn dán: một clip, một buổi phát đã qua, hay một kênh đang phát trực tiếp ngay lúc này. Trình tải đọc URL trước rồi chọn đúng thứ.

Cấu trúc địa chỉ của chính Kick là tấm bản đồ rõ nhất về thứ bạn đang cầm. Clip là một khoảnh khắc ngắn đã được dựng. VOD là cả một buổi phát đã qua. Trang kênh thì không phải cả hai, và nếu streamer đang phát trực tiếp ngay lúc đó thì không có gì để tải — một luồng trực tiếp không có điểm kết thúc, nên không có tệp.

Ba loại liên kết, và mỗi loại trở thành gì

Dạng liên kếtBộ xử lý làm gì
kick.com/<channel>/clips/clip_…Đọc API clip và trả về chất lượng gốc của clip.
kick.com/<channel>/videos/<id> và /video/<id>Đọc API video và liệt kê mọi bản có trong danh sách phát gốc của VOD.
kick.com/<channel>Liệt kê các VOD gần đây của kênh; kênh đang phát trực tiếp thì trả lời live.
Một id clip trầnHỏi kênh trước (need_channel), vì API clip của Kick cần cả hai.

Id clip có dạng cố định — clip_ theo sau là một mã kiểu ULID — nên bộ xử lý nhận ra nó mà không cần gọi mạng. Chỉ một id trần là chưa đủ; API của Kick cần cả kênh trong đường dẫn, nên khi chỉ dán id thì kết quả trả về là yêu cầu thêm thông tin.

Các mức chất lượng đến từ đâu

Với VOD, Kick phát hành một danh sách phát HLS gốc: một tệp nhỏ liệt kê mọi bản dựng, mỗi bản có độ phân giải, băng thông và tốc độ khung hình riêng. Bộ xử lý chỉ đọc danh sách gốc đó và không gì khác — nó không tải các phân đoạn, cũng không xin Kick một tệp đã ghép, vì Kick không cung cấp tệp như thế.

Clip đơn giản hơn: chúng thường chỉ có một tệp ở đúng chất lượng mà clip được cắt ra, nên tải clip hiếm khi bắt bạn chọn gì.

Vì sao livestream bị từ chối

Một luồng trực tiếp là một cửa sổ cuốn, không phải một tệp. Kick báo một kênh đang phát trực tiếp ở ba nơi khác nhau — đối tượng VOD, danh sách video của kênh và chính trang kênh — và bộ xử lý biến cả ba thành cùng một câu trả lời: live. Hãy thử một clip hoặc một VOD.

Hai trạng thái khác trông như lỗi nhưng không phải: processing nghĩa là buổi phát kết thúc vài phút trước và Kick chưa cắt xong VOD, còn no_source nghĩa là VOD đã bị gỡ hoặc hết hạn. Cả hai đều là trạng thái của Kick, không phải lỗi của bản tải.

Không lưu trữ gì

Các CDN của Kick gửi access-control-allow-origin: *, nên trình duyệt đọc được tệp trực tiếp. Bản tải chạy trong trang, thẳng từ edge của Kick tới đĩa của bạn; bộ xử lý chỉ xử lý siêu dữ liệu. Không có gì bị mã hóa lại, đóng dấu hình mờ hay giữ lại.

Một lưu ý thực tế: VOD dài nên lưu bằng trình duyệt máy tính, nơi tệp truyền thẳng ra đĩa. Trên điện thoại, một buổi phát dài nhiều giờ bị giữ trong bộ nhớ trong lúc tải, và trình duyệt có thể bỏ cuộc trước khi tệp hoàn tất.

Bản tóm tắt ngắn

Câu hỏi

Tôi có tải được livestream Kick khi đang phát không?

Không. Một luồng trực tiếp không có điểm kết thúc và không có tệp; Kick báo nó là `live` và bộ xử lý từ chối. Khi buổi phát kết thúc và Kick xử lý xong, liên kết VOD sẽ hoạt động.

Vì sao VOD liệt kê nhiều chất lượng còn clip chỉ một?

VOD có một danh sách phát HLS gốc chứa mọi bản dựng mà Kick đã mã hóa, nên bộ xử lý liệt kê được từng bản. Clip được cắt từ một tệp duy nhất, nên thường chỉ có một mức chất lượng để đưa ra.

Chất lượng `source` nghĩa là gì?

Đó là chính danh sách phát gốc, được đưa ra khi không đọc được các bản dựng riêng lẻ. Vẫn là cùng một video, chỉ không có phần chia theo từng độ phân giải.

Công cụ trong bài viết này

Tất cả bài viết