Najogólniej pisząc, streaming jest technologią pozwalającą na przekaz audio/video na serwisach internetowych. Obecnie najpopularniejszym protokołem streamingowym jest RTSP (Real Time Streaming Protocol), protokół jest ciągle na etapie propozycji pretendującej do miana standardu, niemniej nie przeszkadza to komercyjnym producentom we wprowadzaniu swoich alternatywnych rozwiązań – obecnie dość łatwo można zauważyć, że konkretne serwisy wymagają instalowania dodatkowego oprogramowania do przeglądarek zanim będzie możliwe obejrzenie samego streamu. Popularne dzisiaj rozwiązania bazujące na technologiach Microsoft Silverlight czy też Adobe Flash Media Interactive Server bazują na swoich zamkniętych rozwiązaniach, w zamian jednak oferując dodatkowe rozbudowane funkcjonalności. Adobe rozwija własny protokół RTMP (Real Time Messaging Protoco ) natomiast Silverlight co prawda korzysta z Windows Media Services i teoretycznie RTSP ale wykorzystuje również RTP (Real-time Transport Protocol).
W trakcie podejmowania decyzji o osadzeniu elementów video na serwisach należy szczególną uwagę zwrócić na rodzaj streakingu, który chcemy wykorzystać – w głównej mierze dlatego, że może się okazać, iż technologie streamingowe wcale nie są niezbędne. Ogólnie rzecz biorąc do czynienia ze pełnym streamingiem mamy tylko w scenariuszu, w którym obraz jest na ‘żywo’ dekodowany do strumienia multimedialnego ze źródła obrazu (np. kamery) a następnie za pomocą odpowiednich narzędzi (serwerów) multiplikowany na wiele niezależnych tzw. strumieni (stream’ów) dedykowanych konkretnemu użytkownikowi serwisu. Trzeba przy tym pamiętać, że na „żywo” wcale nie oznacza, iż obraz jest emitowany na bieżąco. Zazwyczaj tolerowane są opóźnienia 5-15 sekund pomiędzy zmianą obrazu a uwzględnieniem tej zmiany w przeglądarce klienta. Dzieję się tak głównie ze względu na czas potrzebny systemom kodującym na dostosowanie formatu, tudzież można wprowadzić opóźnienie jako element pozwalający zarządzać (cenzurować) treści. Jeśli natomiast posiadamy po prostu bibliotekę gotowych filmów czy muzyki, które chcemy prezentować na serwisie, najczęściej najlepszą i najtańszą opcją będzie osadzenie zwykłego player’a (np. we flashu) na stronie. Jego działanie polega wtedy na dekodowaniu i bieżącym wyświetlaniu statycznego pliku audio/video, który w tle jest na bieżąco pobierany z serwera web.
Flash Media Server
Zamknięte rozwiązania np. Adobe FMS, oprócz funkcjonalności streamingu pozwalają na szersze potraktowanie przekazu video a jego funkcjonalność w zasadzie ograniczona jest jedynie inwencją twórcy. Okazuje się że tworzenie aplikacji, które są interaktywnym połączeniem przekazu video z akcjami wykonywanymi przez użytkownika na serwisie stało się stosunkowo łatwe.
Przykładowym rozwiązaniem jest serwis (obecnie już nieczynny) zbudowany przez K2 dla Coca-Cola (Alubulta) na platformie FMS, gdzie użytkownik odwiedzając witrynę zapraszany był do wirtualnego świata gry 3D zamkniętego w aluminiowej butelce. Ciekawostką tego serwisu była możliwość komunikacji pomiędzy spotkanymi innymi użytkownikami serwisu (na zasadzie czatu), podróże pomiędzy poziomami gry, oraz atrakcyjna oprawa graficzna. Tak skomplikowany przekaz audio/video możliwy był wyłącznie dzięki technologii adaptacyjnego strumienia oraz możliwości instalacji dedykowanych aplikacji obsługujących grę i działających jako hostowana aplikacja FMS’a.
Przykładowe screeny z gry:
Serwis otrzymał Kreaturę w kategorii Web Design oraz Złotego Orła w kategorii Interactive.
Innym obecnie realizowanym ciekawym projektem opartym o technologie FMS jest serwis operatora Play PlayMobile oraz PrzejdzdoPlay gdzie wszystkie elementy video serwisu bezpośrednio są obsługiwane przez Flash Media Server.
Cechy rozwiązań opartych o FMS to między innymi:
Interactive features
Plug-in architecture,
MPEG-4 video recording,
AMF3 support,
DVR functionality,
XMP metadata support.
Video streaming features
Dynamic Streaming,
Faster server and scalability,
Easier implementation,
More secure content delivery,
Reliable delivery protocols,
H.264 video and HE-AAC audio,
Live HD/H.264 video streaming,
Mobile video delivery to Adobe Flash Lite™ 3,
Bandwidth detection,
Multipoint publishing,
Server redirection handling,
Logging,
Stream data access.
Docelowa architektura rozwiązania opartego o FMS’a może uwzględniać zarówno zaawansowane rozwiązania load balancingu pomiędzy serwerami jak i istnieć jako pojedyncza usługa hostowana na jednym serwerze. Generalnie przyjmuje się, że jeden serwer FMS jest w stanie obsłużyć obecnie ok. tysiąca jednoczesnych użytkowników.
Poniżej schemat standardowej architektury streamingowej oferowanej naszym klientom (zdolnej obsłużyć kilka tysięcy jednoczesnych użytkowników):
FMS oferowany jest naszym klientom jako oprogramowanie modelu SaaS, gdzie podstawową jednostką rozliczeniową jest cena jednego konta, na którym zainstalowana jest dedykowana aplikacja, ilość zajmowanego miejsca na dysku oraz opłata za rzeczywiście wykorzystany transfer wyrażony Mbit/s. Możliwa jest również budowa dedykowanych rozwiązań w modelu outsourcingu infrastruktury oraz licencji, niemniej podjęcie decyzji o rodzaju wdrożenia za każdym razem konsultowane jest z klientem w zakresie architektury i oczekiwań wydajnościowych.