Transmisja strumieniowa (ang. streaming) jest to sposób przesyłania danych multimedialnych w sieciach pakietowych. Pozwala na bezpośrednie odtwarzanie na komputerze użytkownika w czasie rzeczywistym, bądź „na życzenie”, materiału audiowizualnego znajdującego się na serwerze przez Internet, Intranet lub sieć lokalną. Transmitowane dane, dzięki specjalnym serwerom strumieniowym, odtwarzane są przez oprogramowanie klienckie w miarę ich dostarczania, nie pozostawiając swojej kopii na dysku.
Zwykłe pobieranie plików, w przeciwieństwie do strumieniowania, pozwala użytkownikowi obejrzeć film dopiero po całkowitym jego ściągnięciu ze standardowego serwera WWW na dysk komputera. Metoda ta sprawdza się w przypadku niewielkich plików audiowizualnych, gdy można je szybko pobrać z sieci. Pobieranie plików zapewnia wysoką jakość odtwarzania bez względu na szybkość łącza oraz to, że tak ściągnięty materiał można wielokrotnie odtwarzać, będąc już odłączonym od sieci. W przypadku dłuższych materiałów np. filmów pełnometrażowych, użytkownicy posiadający wolne łącza internetowe będą musieli długo czekać na rozpoczęcie odtwarzania. Jest to znacząca wada w stosunku do strumieniowania, gdy w mniejszym stopniu liczy się jakość materiału, a w większym szybkość otrzymania informacji. Najpoważniejszą wadą pobierania plików, a zarazem największą zaletą strumieniowania jest to, że można za jego pośrednictwem realizować transmisje na żywo. Dzięki strumieniowaniu w czasie rzeczywistym stało się możliwe uruchamianie w sieci różnego rodzaju telewizji i radiostacji internetowych lub przekazów ze zwykłych stacji w Internecie.
Istnieje kilka rodzajów strumieniowania. Strumienie jednokierunkowe (ang. unicast) są bezpośrednio transmitowane przez serwer do komputera użytkownika. Aby materiał mogło oglądać jednocześnie wielu odbiorców, serwer musi wyemitować kilka strumieni. Rozwiązanie takie charakteryzuje się nieefektywnym wykorzystaniem pasma. Jednak, dzięki temu, że każdy odbiera osobny strumień, możliwy jest dostęp do dowolnego fragmentu filmu i odtworzenie tylko tego, co chce się zobaczyć. Unicasting stosowany jest zazwyczaj w przypadku wcześniej nagranych filmów.
Strumienie wielokierunkowe (ang. multicast) wysyłane są bezpośrednio na adres grupy. Użytkownicy takiej grupy łączą się ze specjalnym adresem IP, z którym może się jednocześnie kontaktować wiele komputerów. W porównaniu do unicastingu nie jest możliwe jakiekolwiek kontrolowanie tego, co się ogląda (zatrzymywanie, przewijanie, itp.). Multicasting jest bardzo efektywnym sposobem dostarczania tego samego materiału do grupy osób, ponieważ z serwera wychodzi tylko jeden strumień. Retransmitowane strumienie wielokierunkowe (ang. reflected multicast) pobierają dane emitowane na żywo z innego źródła, takiego jak emisja telewizyjna lub radiowa, i przekazują je do odbiorców jako serię strumieni jednokierunkowych. Technika taka jest często stosowana przez nadawców telewizyjnych umożliwiających oglądanie telewizji w Internecie.
Aby stało się możliwe strumieniowanie danych multimedialnych potrzebne jest zastosowanie kilku odpowiednich komponentów, mianowicie:
- oprogramowania kompresującego materiał,
- serwerów strumieniowych,
- odtwarzaczy.
Ze względu na wykorzystywane technologie, każdy z powyższych komponentów jest ściśle związany z innymi. Oznacza to, że praktycznie nie istnieje uniwersalne rozwiązanie, które pozwala na stosowanie kodeków, serwerów i odtwarzaczy multimedialnych różnych producentów.

Rys. 1.1. Powiązania między elementami technologii strumieniowej
Rysunek 1.1 pokazuje przed jak trudnym wyzwaniem stawiani są dostawcy mediów strumieniowych. Od początku muszą zdecydować się na wybór odpowiedniej technologii, ponieważ większość z serwerów strumieniowych pozwala na strumieniowanie tylko jednego typu danych. Wyjątkiem jest serwer Helix w wersji komercyjnej, który pozwala na obsługę natywnego formatu Real Media oraz Windows Media i QuickTime. Każda z wymienionych technologii posiada swoje wady i zalety, które uniemożliwiają proste wskazanie najlepszego rozwiązania. Ze względu na popularność systemów operacyjnych w danych krajach oraz to, że niektóre odtwarzacze są z nimi zintegrowane np. QuickTime z MacOS, czy Windows Media z Windows, dostawcy decydują się na dane rozwiązanie.

Rys. 1.2. Najbardziej liczące się technologie strumieniowe.
Obecnie wyróżnia się kilka najpopularniejszych, wzajemnie niekompatybilnych technologii strumieniowych: Real Media, Windows Media, QuickTime oraz Flash (rys. 1.2). Konsekwencją braku kompatybilności jest to, że aby użytkownik mógł oglądać transmisje realizowane przez różnych nadawców musi mieć zainstalowane na swoim komputerze odtwarzacze każdego producenta. Pewnym rozwiązaniem jest stosowanie alternatywnych odtwarzaczy multimedialnych, niestety ciągłe rozwijanie produktów przez producentów powoduje, że użytkownicy zmuszeni są poszukiwać i instalować kolejne uaktualnienia oprogramowania.
Strumieniowe przesyłanie plików multimedialnych jest stosunkowo młodą technologią. Poniżej przedstawione zostały najważniejsze daty z jej rozwoju:
- 1994 – pierwsze prawdziwe transmisje strumieniowe wideo przez eksperymentalna sieć Mbone (ang. Multicast Backbone). Dostępne jedynie dla użytkowników z bardzo szybkimi komputerami.
- 1995 – użytkownicy zwykłych komputerów osobistych uzyskują dostęp do plików audiowizualnych przez sieć, lecz dopiero po ich pobraniu na dysk komputera.
- 1997 – pierwsze odtwarzacze multimedialne zdolne do odtwarzania jednocześnie dźwięku i obrazu
- 1999 – W3C (ang. World Wide Web Consortium) wprowadza język SMIL (ang. Synchronized Multimedia Integration Language)
- 2001 – pierwsze implementacje otwartego formatu kompresji MPEG-4





