Wideo i Silverlight w praktyce - część 2

Transmisja klipów audio i wideo

Platforma
Windows Media Services oferuje kilka trybów dostarczania gotowych multimediów.
Z punktu widzenia użytkowego należy wziąć pod uwagę dwa czynniki:

  • Poziom kontroli oferowany użytkownikom
    - w momencie tworzenia nowego punktu publikacji mamy możliwość określenia
    jednego z dwóch trybów: on-demand oraz broadcast. Opcja on-demand pozwoli użytkownikom na możliwość
    wpływu na transmisję (chwilowe zatrzymanie odtwarzania, przewinięcie
    materiału do innego miejsca itd.) - tego typu funkcje wiążą się jednakże
    ze zwiększeniem wymogów dotyczących infrastruktury, ponieważ każdy z
    klientów nawiązuje niezależne połączenie z serwerem. Jako alternatywa tryb broadcast przypomina tradycyjny przekaz telewizyjny -
    odtwarzacz użytkownika nie ma możliwości "nawigacji", a jedynie
    podłącza się w sposób bierny do nadawanego strumienia.
  • Liczba dostarczanych materiałów
    - nadawca może zdecydować, czy całość transmisji obejmować będzie tylko
    pojedynczy materiał (klip wideo lub audio) czy też chciałby skompilować
    z kilku z nich ramówkę (playlist).

Oba
parametry określamy podczas tworzenia nowego punktu dostępowego. Najwygodniej
posłużyć się w tym celu widokiem zaawansowanym (Add
Publishing Point (Advanced)):

 

Przygotowanie transmisji dla odtwarzacza wykonanego w
technologii Silverlight

Silverlight
w wersji 1.0 narzuca kilka istotnych ograniczeń, dotyczących obsługiwanych
typów strumienia. Zostały one opisane poniżej, wraz z informacją o ewentualnym,
zalecanym sposobie ich rozwiązania:

 

Odtwarzanie materiałów z ramówki

 

Silverlight
nie potrafi poprawnie zinterpretować ramówek przygotowanych po stronie serwera
WMS (server-side playlists),
udostępnianych fizycznie jako pliki z rozszerzeniem .WSX. Aby poprawnie
zrealizować taki scenariusz, należy posłużyć się listami przygotowanymi w
formacie .ASX (client-side playlists).  Najprostszy przykład definicji ramówki może
wyglądać następująco:

 

<ASX version = "3.0">

      <ENTRY>

         <REF HREF = "https://videoserver/PublishingPoint1" />

      </ENTRY>

      <ENTRY>

         <REF HREF = "mms://videoserver2/livesource" />

     </ENTRY>

</ASX>

 

Gotowy
plik ASX wystarczy umieścić na dowolnym serwerze WWW a następnie, konstruując
odtwarzacz Silverlight, wskazać go jako źródło (atrybut Source) w kontrolce
MediaControl. Takie rozwiązanie ma kilka ciekawych właściwości. Spreparowana  w ten sposób ramówka może być umieszczona niezależnie od lokalizacji samych
serwerów wideo, pozwalając przy tym (jak w powyższym przykładzie) na pobieranie
treści z różnych źródeł. Ponieważ podstawowym wpisem (entry) jest punkt publikacji możliwe jest
zrealizowanie scenariusza mieszanego, gdzie część materiałów odbierana jest w
trybie-on demand (np. reklamy), część zaś dostępna jest jako broadcast
(przykładowo transmisja na żywo). Zachęcam do zapoznania się z bardziej
szczegółową dokumentacją
struktury plików ASX.

 

Format plików

Silverlight
kojarzy się często z "nowym" sposobem kompresji wideo - formatem
VC-1. Tymczasem warto mieć świadomość, że VC-1 to nazwa standardu
(zdefiniowanego przez SMPTE), 
normalizującego i wyznaczającego trend rozwoju obecnych już na rynku
technologii. W szczególności, implementacją VC-1 jest jeden z profili
stosowanego powszechnie kodeka Windows Media Video 9. Warto również pamiętać o
tym, że wtyczka Silverlight obsługuje również starsze formaty, WMV 7,8 oraz
MP3.

 

Sposób transmisji

Kontrolka
MediaControl pozwala na odbiór danych multimedianych zarówno w postaci
tradycyjnego przesyłu strumieniowego, jak i poprzez tzw. pobieranie progresywne
(progressive download). Ta druga metoda,
choć mniej efektywna z punktu widzenia dostawcy treści, ma szereg istotnych
zalet. Wykorzystuje bowiem standardowy protokół HTTP, co pozwala na serwowanie
materiałów bez pośrednictwa WMS, z wykorzystaniem wyłącznie serwera WWW.
O tym, jaki tryb transmisji zostanie wybrany, decyduje wybór przedrostka. Jeśli
adres do zasobu poprzedzony jest https:// lub https:// komunikacja inicjowana będzie w sposób
progresywny, jeśli pojawi się prefiks mms:// zostanie wykonana próba transmisji
strumieniowej.

 

Zabezpieczenia (DRM) oraz MBR

Co
istotne, wtyczka Silverlight 1.0 nie pozwala na odbiór mediów wykorzystujących
zabezpieczenia oparte o technologię DRM (takie wsparcie będzie dostępne dla
wersji 2.0). Dodatkowo, warto mieć świadomość, że pliki multimedialne typu MBR
(multiple bit rate), choć mogą być
odtwarzane, nie wykorzystują zalet tej technologii - kontrolka odtwarzacza
automatycznie wyświetlać będzie materiał o największej jakości, bez
uwzględnienia rzeczywistych właściwości łącza.

 

W
kolejnej części artykułu omówię kilka sposobów na przygotowanie własnego odtwarzacza.