Multimedia z internetu
- Paweł Szczepaniak,
- 13.10.2011
Udostępnianie materiałów multimedialnych to obecnie bardzo ważna funkcja serwisów webowych. Dobór odpowiedniej technologii i serwera do streamingu wideo pozwala na prezentację tego typu treści w satysfakcjonującej dla użytkowników jakości. Aby to osiągnąć, nie zawsze trzeba zmieniać posiadany serwer webowy, choć są przypadki, gdy jest to konieczne.
Treści multimedialne możemy dostarczać na kilka sposobów. Pierwszy to tryb download, czyli dostarczanie wideo lub audio za pomocą protokołów HTTP lub HTTPS. Właściwie nie jest to streaming, tylko jego namiastka. Sprawdza się głównie przy małych objętościach plików i w połączeniu z technologiami imitującymi streaming po stronie odtwarzaczy.
Większość materiałów wideo w internecie przekazywana jest przez progressive download. Odtwarzacz osadzony na stronie może rozpocząć wyświetlanie filmu jeszcze przed jego całkowitym pobraniem. Jest to możliwie dla plików FLV, Windows Media oraz Quicktime (po wybraniu odpowiedniej opcji w odtwarzaczu).
Zarówno rozwiązanie download, jak i progressive download nie wymagają dedykowanych rozwiązań po stronie serwera i do ich prezentacji można wykorzystać typowy serwer webowy - Apache, Lighttpd czy IIS.
Kolejna krok w kierunku "prawdziwego" streamingu to tzw. pseudostreaming. On także może zostać uruchomiony na typowych serwerach webowych, wymaga jednak dodatkowego skryptu do komunikacji serwera z aplikacją Flash. Odtwarzacz wideo wysyła żądanie HTTP do serwera z pozycją startową w parametrze i skrypt po stronie serwera na to żądanie odpowiada odpowiednim potokiem wideo, który rozpoczyna się w tej pozycji czasowej. Z takiego mechanizmu korzysta YouTube. W tym najpopularniejszym serwisie wideo z powodzeniem wykorzystywany jest open-sourcowy Lighttpd. Największą zaletą używania pseudostreamingu jest możliwość przewijania filmu do pozycji w pliku, która nie została jeszcze pobrana z serwera.
Rozwiązanie HTTP Live Streaming (HLS)
Serwer streamingu możemy uruchomić, korzystając z oprogramowania instalowanego na jednej z platform serwerowych (Linux, Windows, Mac OS). Dostępne są także dedykowane rozwiązania - appliance ze skonfigurowanym oprogramowaniem i optymalną konfiguracją sprzętową do prowadzenia streamingu.