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ết | Bộ 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ần | Hỏ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ế.
- Mỗi bản dựng giữ tốc độ bit tốt nhất hiện có cho độ phân giải của nó, nên danh sách không bao giờ hiện hai mục cùng kích thước.
- Các biến thể được sắp theo băng thông, cao nhất trước — dòng đầu là bản nguồn.
- Bản dựng từ 50 fps trở lên được ghi kèm tốc độ khung hình, ví dụ
1080p60; dưới mức đó nhãn chỉ là chiều cao. - Nếu không đọc được danh sách gốc, bộ xử lý lùi về một mục
sourceduy nhất trỏ tới chính danh sách phát.
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
- Liên kết clip trả về clip; liên kết VOD trả về danh sách bản dựng; liên kết kênh liệt kê các VOD gần đây.
- Livestream bị từ chối — không có tệp để lưu khi luồng đang chạy.
- Các dòng chất lượng đến từ danh sách phát HLS của chính Kick, tốc độ bit tốt nhất cho mỗi độ phân giải.
- Các byte đi từ CDN của Kick tới trình duyệt của bạn; bộ xử lý không giữ lại gì.
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.