Klipy i VOD-y na Kicku: co link mówi downloaderowi
Kick odpowiada na trzy różne pytania w zależności od tego, jaki link wkleisz: klip, zakończona transmisja albo kanał, który akurat jest teraz na żywo. Downloader najpierw czyta adres URL i wybiera właściwe.
Sama struktura adresów Kicka to najczystsza mapa tego, co trzymasz w ręku. Klip to krótki, zmontowany moment. VOD to cała zakończona transmisja. Strona kanału nie jest ani jednym, ani drugim, a jeśli streamer jest w tej chwili na żywo, nie ma czego pobierać — transmisja na żywo nie ma końca, więc nie ma pliku.
Trzy linki i to, w co się zmieniają
| Kształt linku | Co robi resolver |
|---|---|
kick.com/<channel>/clips/clip_… | Czyta API klipów i zwraca oryginalną jakość klipu. |
kick.com/<channel>/videos/<id> oraz /video/<id> | Czyta API wideo i wyświetla każdą wersję, jaką niesie główna playlista VOD-a. |
kick.com/<channel> | Wyświetla ostatnie VOD-y kanału; kanał na żywo zwraca zamiast tego live. |
| Sam identyfikator klipu | Najpierw pyta o kanał (need_channel), bo API klipów Kicka potrzebuje obu. |
Identyfikator klipu ma stały kształt — clip_, po którym następuje kod w stylu ULID — więc resolver rozpoznaje go bez żadnego wywołania sieciowego. Sam identyfikator nie wystarczy; API Kicka chce kanału w ścieżce, dlatego wklejony sam id wraca z prośbą o więcej.
Skąd biorą się jakości
Dla VOD-a Kick publikuje główną playlistę HLS: jeden mały plik wymieniający każdą wersję, każdą z własną rozdzielczością, przepustowością i liczbą klatek. Resolver czyta tę playlistę i nic więcej — nie pobiera fragmentów ani nie prosi Kicka o scalony plik, bo Kick takiego nie oferuje.
- Każda wersja zachowuje najlepszą dostępną przepływność dla swojej rozdzielczości, więc lista nigdy nie pokazuje dwóch wpisów w tym samym rozmiarze.
- Warianty są sortowane po przepustowości, od najwyższej — górny wiersz to źródło.
- Wersja przy 50 klatkach na sekundę lub więcej jest oznaczona liczbą klatek, na przykład
1080p60; poniżej tego etykieta to sama wysokość. - Jeśli nie da się przetworzyć głównej playlisty, resolver cofa się do jednego wpisu
sourcewskazującego na samą playlistę.
Klipy są prostsze: zwykle niosą jeden plik w jakości, w jakiej klip został wycięty, dlatego pobieranie klipu rzadko prosi Cię o wybór.
Dlaczego transmisje na żywo są odrzucane
Transmisja na żywo to przesuwające się okno, nie plik. Kick zgłasza kanał na żywo jako live w trzech różnych miejscach — w obiekcie VOD, na liście wideo kanału i na samej stronie kanału — a resolver zamienia wszystkie trzy na tę samą odpowiedź: live. Spróbuj klipu albo VOD-a.
Dwa inne stany wyglądają jak błędy, ale nimi nie są: processing znaczy, że transmisja skończyła się kilka minut temu i Kick nie zdążył jeszcze wyciąć VOD-a, a no_source znaczy, że VOD został usunięty lub wygasł. Oba to stan Kicka, nie awaria pobierania.
Nic nie jest przechowywane
CDN-y Kicka wysyłają access-control-allow-origin: *, więc przeglądarka może odczytać plik bezpośrednio. Pobieranie odbywa się na stronie, prosto z krawędzi sieci Kicka na Twój dysk; resolver zajmował się wyłącznie metadanymi. Nic nie jest ponownie kodowane, opatrywane znakiem wodnym ani zachowywane.
Jedna praktyczna uwaga: długie VOD-y najlepiej zapisywać w przeglądarce na komputerze, gdzie plik jest strumieniowany prosto na dysk. Na telefonie wielogodzinna transmisja jest trzymana w pamięci przez cały czas pobierania, a przeglądarka może się poddać, zanim plik się skończy.
W skrócie
- Linki do klipów zwracają klip; linki do VOD-ów zwracają listę wersji; linki do kanałów wyświetlają ostatnie VOD-y.
- Transmisje na żywo są odrzucane — nie ma pliku do zapisania, dopóki transmisja trwa.
- Wiersze jakości pochodzą z głównej playlisty HLS Kicka, najlepsza przepływność na rozdzielczość.
- Bajty wędrują z CDN Kicka do Twojej przeglądarki; resolver niczego nie zachowuje.
Pytania
Czy mogę pobrać transmisję na żywo z Kicka, gdy trwa?
Nie. Transmisja na żywo nie ma końca ani pliku; Kick zgłasza ją jako live, a resolver ją odrzuca. Gdy transmisja się skończy i Kick przetworzy nagranie, link do VOD-a zadziała.
Dlaczego VOD-y pokazują kilka jakości, a klipy tylko jedną?
VOD niesie główną playlistę HLS ze wszystkimi wersjami, które zakodował Kick, więc resolver może wymienić każdą. Klip jest wycięty z jednego pliku, więc zwykle jest tylko ta jedna jakość do zaoferowania.
Co oznacza jakość `source`?
To sama główna playlista, oferowana, gdy nie udało się przetworzyć poszczególnych wersji. To to samo wideo, tylko bez podziału na rozdzielczości.