İçeriğe geç

Kick klipleri ve VOD'ları: bağlantı indiriciye ne anlatır

Kick, yapıştırdığın bağlantıya göre üç farklı soruya cevap verir: bir klip, geçmiş bir yayın ya da o anda canlı olan bir kanal. İndirici önce URL'yi okur ve doğrusunu seçer.

Kick'in kendi adres yapısı, elindekinin ne olduğunun en net haritasıdır. Bir klip kısa, düzenlenmiş bir andır. Bir VOD tam bir geçmiş yayındır. Bir kanal sayfası ikisi de değildir ve yayıncı o anda canlıysa indirilecek bir şey yoktur — canlı yayının sonu yoktur, yani dosyası da.

Üç bağlantı ve her birinin dönüştüğü şey

Bağlantı biçimiÇözücü ne yapar
kick.com/<channel>/clips/clip_…Klip API'sini okur ve klibin özgün kalitesini döndürür.
kick.com/<channel>/videos/<id> ve /video/<id>Video API'sini okur ve VOD'un ana çalma listesindeki her sürümü listeler.
kick.com/<channel>Kanalın son VOD'larını listeler; canlı bir kanal bunun yerine live cevabını verir.
Yalın bir klip kimliğiÖnce kanalı ister (need_channel), çünkü Kick'in klip API'si ikisini de gerektirir.

Bir klip kimliğinin sabit bir biçimi vardır — clip_ ve ardından ULID tarzı bir kod — böylece çözücü onu hiçbir ağ çağrısı yapmadan tanır. Yalın kimlik tek başına yeterli değildir; Kick'in API'si kanalı yolda ister, bu yüzden tek başına yapıştırılan kimlik daha fazlasını isteyerek geri döner.

Kaliteler nereden geliyor

Bir VOD için Kick bir HLS ana çalma listesi yayınlar: her sürümü kendi çözünürlüğü, bant genişliği ve kare hızıyla listeleyen küçük bir dosya. Çözücü o ana listeyi okur, başka bir şeyi değil — parçaları indirmez ve Kick'ten birleştirilmiş bir dosya istemez, çünkü Kick öyle bir dosya sunmaz.

Klipler daha basittir: genellikle kesildikleri kalitede tek bir dosya taşırlar, bu yüzden bir klip indirmesi senden nadiren bir şey seçmeni ister.

Canlı yayınlar neden reddediliyor

Canlı yayın bir dosya değil, kayan bir penceredir. Kick canlı bir kanalı üç farklı yerde canlı olarak bildirir — VOD nesnesi, kanalın video listesi ve kanal sayfasının kendisi — ve çözücü üçünü de aynı cevaba çevirir: live. Bunun yerine bir klip ya da VOD dene.

Hata gibi görünen ama olmayan iki durum daha var: processing, yayının birkaç dakika önce bittiğini ve Kick'in VOD'u kesmeyi henüz bitirmediğini söyler; no_source ise VOD'un kaldırıldığını veya süresinin dolduğunu. İkisi de Kick'in durumudur, indirmenin başarısızlığı değil.

Hiçbir şey saklanmaz

Kick'in CDN'leri access-control-allow-origin: * gönderir, böylece tarayıcı dosyayı doğrudan okuyabilir. İndirme sayfanın içinde, Kick'in kenarından doğrudan diskine çalışır; çözücü yalnızca üst veriyle ilgilendi. Hiçbir şey yeniden kodlanmaz, filigran eklenmez veya tutulmaz.

Pratik bir not: uzun VOD'lar en iyi masaüstü tarayıcıda kaydedilir, çünkü dosya doğrudan diske akar. Telefonda saatler süren bir yayın indirilirken bellekte tutulur ve tarayıcı dosya bitmeden pes edebilir.

Kısa özet

Sorular

Çalışırken bir Kick canlı yayınını indirebilir miyim?

Hayır. Canlı yayının sonu ve dosyası yoktur; Kick onu canlı olarak bildirir ve çözücü reddeder. Yayın bitip Kick onu işlemeyi tamamlayınca VOD bağlantısı çalışır.

VOD'lar neden birkaç kalite listelerken klipler yalnızca bir tane?

Bir VOD, Kick'in kodladığı her sürümü içeren bir HLS ana çalma listesi taşır, bu yüzden çözücü her birini listeleyebilir. Bir klip tek bir dosyadan kesilir, dolayısıyla normalde sunulacak yalnızca o kalite vardır.

`source` kalitesi ne anlama geliyor?

Ana çalma listesinin kendisidir ve tek tek sürümler ayrıştırılamadığında sunulur. Aynı videodur, yalnızca çözünürlük başına dökümü yoktur.

Bu makaledeki araçlar

Tüm makaleler