Stríming

z Wikipédie, slobodnej encyklopédie
(Presmerované z Streaming)
Skočit na navigaci Skočit na vyhledávání

Stríming[1][2] (iné názvy: streaming[3], strímovanie[4], streamovanie[5], postupné sťahovanie[1], vysielanie prúdu údajov[5], prenos prúdu údajov[5], angl. streaming; z anglického stream = prúd) je doručovanie audio a video súborov klientovi zo servera cez internet. Stream[6] je technológia, ktorá nepretržite prenáša audiovizuálny materiál medzi zdrojom a koncovým užívateľom. Prenos cez web pomocou streamovania sa nazýva webcasting. Webcasting sa môže uskutočňovať v reálnom čase (internetová televízia alebo rádio) alebo metódou Video on demand (napr. YouTube – prehrávanie aj v reálnom čase aj metódou video on demand). Pre streamovanie videa alebo zvuku viacerým užívateľom je potrebný streamovací server, ktorý zaisťuje plynulý tok dát a komunikáciu medzi počítačmi.

História streamovacích médií a live streamingu[7][8][upraviť | upraviť zdroj]

1990 - 2000[upraviť | upraviť zdroj]

Prvý priamy prenos sa uskutočnil 24. júna 1993. Vystupovala v ňom skupina Severe Tire Damage zložená z počítačových vedcov a vysielaný bol z budovy Xerox PARC v Kalifornii pomocou siete Mbone, čo je skratka pre „Multicast Backbone“. V roku 1995 bola z nápadu Roba Glasera, výkonného predstaviteľa spoločnosti Microsoft, založená spoločnosť RealNetworks. Táto spoločnosť vyvinula RealPlayer, jeden z prvých prehrávačov médií schopných živého vysielania. V septembri roku 1995 bol tento prehrávač využitý americkým športovým kanálom ESPN na prenos zápasu Seattle Mariners proti New York Yankees. V roku 1997 RealNetworks spustili program RealVideo, ktorý bol jedným z prvých na komercializáciu živého vysielania. V roku 1998 vyšiel Real-Time Streaming Protocol (RTSP).

2001 - 2010[upraviť | upraviť zdroj]

DVD Forum v roku 2002 uviedli funkciu Adaptive Bitrate Streaming, čo je streamovanie s adaptívnou bitovou rýchlosťou. V roku 2005 bol založený YouTube, ktorý už tri roky po svojom vzniku hostil svoj prvý živý prenos, no sám živé prenosy užívateľom umožnil zdieľať až v roku 2011. Rok po vzniku YouTube prišla Justin.tv, neskôr známa ako Twitch, čo je americká služba, ktorá sa dnes hlavne zameriava na živé vysielanie videohier. V roku 2009 Apple predstavil HLS (HTTP Live Streaming). Rok na to Steve Jobs skritizoval Adobe Flash (multimediálnu softvérovú platformu používanú na produkciu animácií, aplikácií a vstavaných videoprehrávačov webových prehliadačov) a vyhlásil, že iPhone ho už viac podporovať nebude a prešiel na svoj HLS.

2011 - 2020[upraviť | upraviť zdroj]

V roku 2012 sa stal novým medzinárodným štandardom MPEG-DASH, na ktorý v januári 2015 prešiel aj YouTube, no to malo za následok oneskorenie prenosu. Neskôr v roku 2015 bol spustený Periscope, ktorý umožňoval komukoľvek vysielať naživo zo svojho mobilného zariadenia. V roku 2019 Apple uviedol Low-Latency HLS (HLS s nízkym oneskorením). Nakoniec, v decembri 2020 bol úplne zrušený Adobe Flash a už nie je viac podporovaný žiadnou platformou.

Kvalita videa a zvuku[upraviť | upraviť zdroj]

Na prenos audiovizuálneho obsahu cez internet sú potrebné kodeky, ktoré slúžia na zmenšenie objemu dát. Na streaming sa používajú napríklad MPEG-4, H.264, H.265. Videá dnes môžu byť streamované pri bitovej rýchlosti až 8000 kbps, čo nám dá video s rozlíšením 1920×1080p (HD 1080). Prenos vo vysokom rozlíšení dnes poskytujú rôzne streamovacie servery (napr. YouTube, Twitch.tv, Stream.cz).

Na streaming zvukov sa využívajú kodeky ako napr. AAC, Opus, MP3, OGG Vorbis. Pri streamovaní zvuku sa využíva ABR (Adaptive Bitrate Streaming), čo znamená, že prehrávač prehrávajúci stream zo servera dokáže automaticky meniť kvalitu zvuku v prípade zhoršenia alebo zlepšenia kvality internetového pripojenia poslucháča.

Rozdiel medzi sťahovaním a streamovaním[9][upraviť | upraviť zdroj]

Streamovanie prebieha v reálnom čase a je efektívnejšie ako sťahovanie mediálnych súborov. Ak sa stiahne súbor videa alebo audia, jeho celá kópia sa uloží na pevný disk zariadenia a súbor sa nebude dať prehrať, kým sa úplne nedokončí sťahovanie. Ak je namiesto toho video alebo audio streamované, prehliadač prehrá video bez toho, aby ho skutočne skopíroval a uložil. Video sa načíta po kúskoch (buffering) namiesto načítania celého súboru naraz a informácie, ktoré prehliadač načíta, sa neuložia lokálne.

Buffering[upraviť | upraviť zdroj]

Prehrávače streamovaných médií načítajú stream o niekoľko sekúnd vopred, takže v prípade krátkeho prerušenia pripojenia môže prehrávanie videa/audia pokračovať bez zastavenia. Toto je známe ako ukladanie do vyrovnávacej pamäte[9]. Ukladanie do vyrovnávacej pamäte zaisťuje plynulé a nepretržité prehrávanie videí. Avšak pri pomalom pripojení alebo ak má sieť veľké oneskorenie, môže načítanie videa do vyrovnávacej pamäte trvať dlhšie.

Adaptive Bitrate Streaming (ABR)[upraviť | upraviť zdroj]

Adaptívne streamovanie[10] (známe aj ako adaptívne streamovanie dátového toku) je technológia navrhnutá tak, aby doručovala používateľovi video najefektívnejším možným spôsobom a v najvyššej použiteľnej kvalite. ABR umožňuje poskytovateľovi videa vytvoriť odlišné video pre každú z veľkostí obrazovky (alebo zariadení), na ktoré chce zacieliť (PC, TV, mobil). ABR spôsobuje, že ak je nižšia rýchlosť internetu, tak sa zníži aj kvalita videa tak, aby pokračovalo bez zastavenia (napr. z 1920×1080 px na 1280×720 px).

Codec (Kodek)[upraviť | upraviť zdroj]

Kodeky[11] sú kompresné technológie a majú dve zložky, kodér na kompresiu súborov a dekodér na dekompresiu. Kodeky pre zvuk sú napríklad AAC, ALAC, FLAC a pre video HEVC, MPEG-2, VP9, AV1.

Existujú dva druhy kodekov: bezstratový a stratový. Bezstratové kodeky reprodukujú po dekompresii presne rovnaký súbor ako bol originál. Existuje niekoľko bezstratových video kodekov, vrátane kodeku Apple Animation a Lagarith, ktoré však nedokážu komprimovať video na dostatočne nízku veľkosť pre rýchly prenos dát pri streamovaní. Stratové kodeky naopak vytvárajú po dekompresii faksimile (napodobeninu) pôvodného súboru, ale nie pôvodný súbor. Stratové kodeky majú jednu nevýhodu– čím je rýchlosť prenosu dát nižšia, tým menej vyzerá (alebo znie) dekomprimovaný súbor ako originál.  

Protokoly používané na streamovanie[upraviť | upraviť zdroj]

Protokol[12] je súbor pravidiel, ktorý určuje, akým spôsobom majú dáta prechádzať z jedného komunikačného systému do druhého.

Tradičné streamovacie protokoly[upraviť | upraviť zdroj]

RTMP[13] (Real-Time Messaging Protocol)[upraviť | upraviť zdroj]

Primárnou úlohou tohto protokolu bolo umožniť plynulý prenos zvýšeného množstva údajov, ktoré bolo potrebné na prehrávanie videa v prehrávači Adobe Flash Player. Výhodou RTMP je, že nevyžaduje buffering (ukladanie do vyrovnávacej pamäte) a má relatívne malé oneskorenie (5 sekúnd).

  • Video kodeky: H.264, VP8, VP6, Sorenson Spark®, Screen Video v1 & v2
  • Audio kodeky: AAC, AAC-LC, HE-AAC+ v1 & v2, MP3, Speex, Opus, Vorbis
  • Ďalšie formáty: RTMPS, RTMPE, RTMPT, RTMFP

RTSP (Real-Time Streaming Protocol)[upraviť | upraviť zdroj]

Protokol, ktorý sa používa na riadenie streamovacích mediálnych serverov prostredníctvom funkcií „pause“ a „play“. Komunikáciou so serverom tak uľahčuje kontrolu streamovaných médií v reálnom čase („sieťové diaľkové ovládanie“ pre multimediálne servery). Výhodou RTSP je, že je podporovaný väčšinou IP kamier a jeho oneskorenie sú iba 2 sekundy.

  • Video kodeky: H.265, H.264, VP9, VP8
  • Audio kodeky: AAC, AAC-LC, HE-AAC+ v1 & v2, MP3, Speex, Opus, Vorbis
  • Ďalšie formáty: RTP, RTCP

Adaptívne protokoly založené na HTTP[upraviť | upraviť zdroj]

Apple HLS[14]  (HTTP Live Streaming)[upraviť | upraviť zdroj]

Apple HLS je adaptívny streamingový komunikačný protokol vytvorený spoločnosťou Apple na komunikáciu so zariadeniami iOS a Apple TV a počítačmi Mac. HLS je široko podporovaný na streamovacích serveroch od dodávateľov ako Adobe, Microsoft, RealNetworks a Wowza. Výhodou pri tomto protokole je, že podporovaný širokou škálou streamovacích médií a má funkciu ABR.

  • Video kodeky: H.265, H.264
  • Audio kodeky: AAC-LC, HE-AAC+ v1 & v2, xHE-AAC, Apple Lossless, FLAC
  • Ďalšie formáty: Low-Latency HLS, PHLS (Protected HLS)

Low-Latency HLS[15][upraviť | upraviť zdroj]

LL-HLS rozširuje protokol HLS, aby umožnil streamovanie videa s nízkym oneskorením pri zachovaní škálovateľnosti. Nový režim znižuje oneskorenie videa na verejných sieťach do rozsahu štandardného televízneho vysielania. Výhodou tohto protokolu je veľmi nízke oneskorenie (2 sekundy a menej), vysoká kvalita, spätná kompatibilita a škálovateľnosť (schopnosť systému, siete alebo procesu zvládnuť rastúci objem práce alebo jeho potenciál rozšíriť tak, aby mohol tento nárast spracovať).

MPEG-DASH[16] (Dynamic Adaptive Streaming over HTTP)[upraviť | upraviť zdroj]

The Moving Pictures Experts Group vytvorili MPEG-DASH ako alternatívu k HLS. Nepodporuje ho iOS ani Apple TV no výhodou je, že umožňuje použitie akéhokoľvek kódovacieho štandardu a je to medzinárodný štandard pre ABR. Nevýhodou je ale veľké oneskorenie v rozsahu 6 až 30 sekúnd.

Nové technológie[upraviť | upraviť zdroj]

SRT[17] (Secure Reliable Transport)[upraviť | upraviť zdroj]

SRT je bezplatný, voľne dostupný video protokol, ktorý podporuje vysokovýkonné streamovanie s nízkym oneskorením cez preťaženú alebo nepredvídateľnú sieť, ako je napríklad verejný internet. Zaoberá sa bezpečnostnými problémami. Výhody sú nízke oneskorenie aj cez menej kvalitné siete (3 sekundy) a vysoká kvalita.

WebRTC[18] (Web Real-Time Communication)[upraviť | upraviť zdroj]

WebRTC je technológia, ktorá umožňuje webovým aplikáciám a stránkam prijímať a voliteľne streamovať audio a video médiá, ako aj vymieňať ľubovoľné údaje medzi prehliadačmi bez potreby sprostredkovateľa. Jeho výhodou je extrémna rýchlosť (oneskorenie menej ako 500 milisekúnd).

  • Video kodeky:  H.264, VP8 (povinné); možno použiť aj AV1 alebo VP9
  • Audio kodeky: Opus, iSAC, iLBC

TCP (Transmission Control Protocol) vs UDP (User Datagram Protocol)[upraviť | upraviť zdroj]

TCP a UDP sú transportné protokoly, čo znamená, že sú používané na presun údajov cez siete. Oba sa používajú s internetovým protokolom (IP). TCP je pomalší, no zabezpečuje, že všetky dátové balíky dorazia v poriadku. UDP je síce rýchlejší, no môže sa stať, že niektoré dáta sa počas prenosu stratia a výsledný súbor nebude úplne rovnaký ako bol na počiatku.  

Pre streamovanie je v niektorých prípadoch oveľa dôležitejšia rýchlosť ako spoľahlivosť. Napríklad, ak sa niekto zúčastňuje videokonferencie, uprednostňuje interakciu s ostatnými účastníkmi konferencie v reálnom čase a nie čakanie na doručenie každého bitu videa. Niekoľko stratených dát preto nie je veľkým problémom a mal by sa tu použiť protokol UDP.

V iných prípadoch je pre streamovanie dôležitejšia spoľahlivosť (aby vo výslednom videu/audiu nič nechýbalo). Napríklad HTTP live streaming (HLS) aj MPEG-DASH sú streamingové protokoly, ktoré na prenos používajú TCP.

Streamovacie platformy[upraviť | upraviť zdroj]

Audio[upraviť | upraviť zdroj]

Spotify, Apple Music, Tidal HiFi, Amazon Music Unlimited, YouTube Music

Video[upraviť | upraviť zdroj]

Netflix, YouTube, Amazon Prime Video, Disney +, Hulu, HBO Now/HBO Go, Vimeo

Pseudostreaming[upraviť | upraviť zdroj]

Keďže streamovanie je zo strany prevádzkovateľa streamovacieho servera finančne a technologicky náročné, bola vyvinutá jednoduchšia alternatíva na streamovanie audiovizuálneho záznamu, ktorá sa nazýva pseudostreaming. Pseudostreaming simuluje správanie sa skutočného streamingu, a to najmä zo strany servera. Svojimi možnosťami a schopnosťami sa však zďaleka nevyrovná skutočnému streamingu. Cieľom používania pseudostreamingu je obyčajne dosiahnuť, s prijateľnými nákladmi a štandardnými softvérovými technológiami, možnosť prechádzania po časovej osi audiovizuálneho záznamu v prehrávači na strane klienta na akúkoľvek pozíciu bez toho, aby používateľ musel čakať na načítavanie dát celého záznamu.

Referencie[upraviť | upraviť zdroj]

  1. a b Výkladový terminologický slovník elektronických komunikácií - 2022 (anglicko-slovenský a slovensko-anglický) ISBN 978-80-89906-12-3
  2. What Is Streaming? [online]. Streaming Media Magazine, 2019-02-12, [cit. 2021-12-02]. Dostupné online. (po anglicky)
  3. Vyhláška č. 78/2020 Z. z.Vyhláška Úradu podpredsedu vlády Slovenskej republiky pre investície a informatizáciu o štandardoch pre informačné technológie verejnej správy
  4. Strímovanie bez hraníc: nové pravidlá pre online obsah [online]. Štrasburg: Európsky parlament, [cit. 2021-10-27]. Dostupné online.
  5. a b c Search and Download International Terminology - Microsoft | Language Portal [online]. microsoft.com, [cit. 2021-10-27]. Dostupné online.
  6. Co je to Stream? - IT Slovník [online]. it-slovnik.cz, [cit. 2021-12-02]. Dostupné online. (po česky)
  7. TEAM, Espresso Live. The History of Live Streaming [online]. [Cit. 2021-12-02]. Dostupné online. (po anglicky)
  8. History of Streaming Media [Infographic] [online]. Wowza Media Systems, 2021-04-08, [cit. 2021-12-02]. Dostupné online. (po anglicky)
  9. a b What is streaming? [online]. Cloudflare, [cit. 2021-12-02]. Dostupné online.
  10. Adaptive Bitrate Streaming » What is it? [online]. Bitmovin, 2021-01-15, [cit. 2021-12-02]. Dostupné online. (po anglicky)
  11. What Is a Codec? [online]. Streaming Media Magazine, 2011-03-21, [cit. 2021-12-02]. Dostupné online. (po anglicky)
  12. Streaming Protocols: Everything You Need to Know [online]. Wowza Media Systems, 2021-03-16, [cit. 2021-12-02]. Dostupné online. (po anglicky)
  13. RTMP and RTMP Servers – All You Need to Know [online]. [Cit. 2021-12-02]. Dostupné online. (po anglicky)
  14. HLS Streaming [HTTP Live Streaming]: All You Need to Know [online]. [Cit. 2021-12-02]. Dostupné online. (po anglicky)
  15. Apple Developer Documentation [online]. developer.apple.com, [cit. 2021-12-02]. Dostupné online.
  16. What is MPEG-DASH? | HLS vs. DASH [online]. Cloudflare, [cit. 2021-12-02]. Dostupné online.
  17. Secure Reliable Transport (SRT) Protocol | Matrox Video [online]. www.matrox.com, [cit. 2021-12-02]. Dostupné online.
  18. WebRTC API - Web APIs | MDN [online]. developer.mozilla.org, [cit. 2021-12-02]. Dostupné online. (po anglicky)