Der findes to hovedgrupper af Media Streaming i dag:
Progressive
streaming og Realtime streaming. Media filer leveret af en Web (HTTP) server er progressiv streamed. Realtime streaming filer leveres v.hj.a. en streaming media server.
Endelig findes der filer som skal downloades til harddisken før afspilning. Det er normal praksis for MP3 og MPEG filer, men kan også benyttes til andre formater.

Progressive Streaming
Progressive streaming, også kendt som Progressiv Download, refererer til online filer som kan ses medens de downloades. Brugeren kan se den del af filen, som er blevet hentet, men kan ikke springe længere frem til billeder som endnu ikke er downloadet.
Progressiv streaming filer justeres ikke under download så de passer til båndbredden på forbindelsen som Realtime streaming gør. Progressiv streaming kaldes også http streaming fordi en almindelig http server kan levere filerne uden nogen form for specielle protokoller.
Quick Time Fast start er et eksempel på denne type streaming.
Progressiv streaming er god til korte videoer som skal ses i en høj kvalitet fordi den sete del af filmen downloades inden afspilning. Dette betyder dog som regel en forsinkelse af starten fordi noget af videoen skal downloades inden den kan afspilles.
Denne metode er især god til overførsel via modem fordi du kan lave din video med en højere bitrate end et modem kan modtage i realtime og dermed få en bedre kvalitet.

Realtime Streaming
Realtime streaming refererer til at båndbredden på videosignalet tilpasses modtagerens båndbredde således at modtageren altid ser filmen I realtime. Det vil sige at det er ordet Realtime der gør forskellen til Progressiv streaming. Modtageren kan springe rundt i filmen i en Realtime stream fordi der ikke skal hentes noget ned på harddisken inden afspilning – filmen gemmes ikke hos modtageren, men leveres direkte til browseren.
Der skal bruges Streaming media servere og Streaming protokoller (som RTSP – RealTime Streaming Protocol eller MMS – Microsoft Media Server) for at streame realtime video/audio.
Real System, Windows Media og Quick Time kan alle lave realtime streaming filer som kan anvendes på en Streaming media server.
I teorien vil streaming video afspilles flydende, men i praksis kan der være mange forhold der gør at der kommer pauser i afspilningen. Realtime streaming video tilpasser sig modtagerens båndbredde og derfor vil det blive en dårlig kvalitet hvis man anvender modem. Selv om man har ISDN eller ADSL forbindelse kan kvaliteten af realtime streaming media svinge fordi fejl på netværket ofte ignoreres for at følge med streamen.
Når du encoder video til Realtime Streaming laver du f.eks. 4, 5 eller 6 forskellige videoer med forskellige bitrates og det er på den måde dig der bestemmer de forskellige kvaliteter.

Standard vs. Streaming Servers
En standard Web (HTTP) server er designet til at sende tekst og billeder hurtigst muligt og I de størst mulige datapakker. Dette er ikke den bedste metode til at streame video og audio.
Streaming media servers er designet til at levere mindre pakker og afsende dem lige før de skal ses. Og så kan man se vilkårlige steder af filmen medens den downloades uden at skulle vente helt til den er færdig. Men det kræver en speciel server som kører f.eks. Realtime Streaming Protocol (RTSP) eller Microsoft Media Server (MMS).

Bandwidth Scalability
Bandwidth scalability henviser til den mulighed for at tilpasse båndbredden til de aktuelle forhold. Der findes mange måder at koble sig til internettet så modtagerens båndbredde kan variere lige fra 56K modem til hurtige T1 forbindelser. Hvis båndbredden ændres undervejs kan streaming serveren også ændre hastighed så den passer til båndbredden. Dette opnås ved at serveren og modtageren hele tiden sender kontroldata frem og tilbage for at regulere datahastigheden.

Buffering
Buffering er en teknik der benyttes af media afspillere for at sikre en glidende afvikling af videoen. Dette gøres ved at gemme en lille bid af video i en intern buffer (memory) som typisk kan indeholde 5-10 sekunder. Det medfører selvfølgelig at du er 5-10 sekunder bagud i forhold til hvad der faktisk kommer ind via nettet (Så hvor er REALTIME? ;o).
Og afspilleren begynder ikke at spille før bufferen er fyldt op.
Dette gør systemet lidt mindre sårbar overfor fejl på nettet, men giver samtidig brugeren en fornemmelse af forsinkelse når man spoler.