次の方法で共有


Wideo i Silverlight w praktyce - część 1

 

Przez ostatnie dni miałem okazję przeprowadzić kilka eksperymentów związanych z wykorzystaniem technologii Silverlight do odtwarzania materiałów wideo. Poniżej kilka praktycznych spostrzeżeń, mogących przydać się początkującym filmowcom.

 

Konfiguracja elementów serwera

Pierwszą decyzją, którą należy podjąć przed budową infrastruktury jest wybór trybu, w jakim będziemy transmitować dane. Do wyboru mamy następujące opcje:

 

  • Przekaz "na żywo" - materiały transmitowane są bezpośrednio ze źródła audio/wideo np. kamery lub mikrofonu;
  • Transmisja materiałów przygotowanych wcześniej, np. gotowych klipów filmowych.

  

Transmisja przekazu "na żywo"

 

Scenariusz strumieniowania "live" w najprostszym przypadku wymaga jedynie narzędzia pozwalającego na pobranie i kompresję obrazu i dźwięku. Może nim być choćby Expression Encoder lub jego starszy brat - Windows Media Encoder (WME). Oba te produkty pozwalają z jednej strony na pobranie i przetworzenie sygnałów wejściowych do formatu WMV (z możliwością precyzyjnego określenia jakości materiału końcowego), z drugiej mogą służyć jako prosty serwer strumieniujący te dane do klientów.  W przypadku Expression Encodera ważne jest, aby po przejściu w tryb Live Encoding (Ctrl+H) zaznaczyć w zakładce Output opcję Streaming > Broadcast:

 

 

Nomenklatura ta różni się nieco dla Windows Media Encodera (WME). Tutaj należy zdecydować się na opcję Pull from encoder:

 

 

W obu przypadkach możemy jawnie określić, na którym porcie udostępniona będzie usługa strumieniowania wideo. Expression Encoder pozwala dodatkowo okreslić jawnie maksymalną liczbę jednoczesnych połączeń (10). W przypadku WME limit ten standardowo określony został na 5 połączeń z możliwością zwiększenia tej puli do 50 poprzez modyfikację wpisu w rejestrze (szczegóły znaleźć można w dokumentacji produktu).

 

Tak, jak wspomniałem, jest to najprostszy sposób realizacji tego typu transmisji. Jego podstawowym ograniczeniem jest liczba maksymalnych połączeń, skutecznie limitująca to rozwiązanie do celów testowych lub pilotażowych. Aby rozwiązać ten problem, wystarczy posłużyć się jednym ze składników systemu Windows Server, czyli usługą Windows Media Services (WMS). Jest to  wysoce skalowalne rozwiązanie do masowego strumieniowania wideo, stosowane powszechnie przez wielu nadawców.

Podstawową kwestią przy konfigurowaniu WMS, zakładając współpracę z odtwarzaczami opartymi o Silverlight jest upewnienie się, że wsród protokołów kontrolnych dostępny jest również HTTP:

 

Następnie, definiując punkt publikacji (publishing point), wskazujemy jeden z dwóch trybów współpracy z encoderem - pull lub push. Pierwszy odpowiada konfiguracji omówionej powyżej - aplikacja kodująca wideo jest jednocześnie serwerem, do którego podłączać się będzie automatycznie usługa WMS. W przypadku trybu push, WMS pełni rolę nadrzędną, oczekując na połączenia ze strony encodera.

Na koniec należy sprawdzić, czy wyłączona jest transmisja z wykorzystaniem multicastingu (Silverlight nie pozwala na odbiór tego typu strumienia):

 

 

Uruchomienie tak skonfigurowanego punktu publikacji powinno pozwolić na bezproblemowe połączenie się z użyciem dowolnego oprogramowania klienckiego (np. Windows Media Player).

 

W kolejnych częściach zaprezentuję możliwości transmisji gotowych materiałów wideo oraz postaram się omówić niuanse związane z częścią kliencką, czyli samą aplikacją Silverlight.

Comments