SlideShare uma empresa Scribd logo
1 de 37
Baixar para ler offline
Onet VOD
Marcin Kaptur
Tomasz Charewicz
Agenda
Skąd wziął się pomysł na vod.onet.pl?
Start projektu i wyzwania technologiczne
Technologia czyli Onet VOD od kuchni
Podsumowanie
Charakterystyka ruchu w Internecie
http://www.wired.com
Dynamiczny wzrost video w wersji pełnometrażowej
Co powoduje ten wzrost? Co
ludzie chcą oglądać w sieci?
Do 2009 r.
Video UGC: krótkie,
amatorskie filmy –YouTube
Od 2009 r. Rynek video w sieci
wygląda już inaczej.
Profesjonalna, legalna treść
TV i filmowa trafiła do sieci. I
to ona powoduje ten wzrost.
7%
6%
14%
20%
4% 5%
7%
13%
cze 2008 wrz 2008 kwi 2009 paź 2009
Użytkownicy którzy obejrzeli online lub pobrali
film pełnometrażowy (% ankietowanych)
Streaming Download
http://emarketer.com
Profesjonalny kontent video
• filmy, seriale, bajki, muzyka
• prapremiery, catch-up tv
• od TVN, Warner Bros i
innych wytwórni
Modele Biznesowe
• Advertising VOD (AVOD)
• Transaction VOD (TVOD)
• Subscription VOD (SVOD)
Onet VOD
PROJEKT ONET VOD
Wyzwanie – nowy serwis
Założenia:
Dostępność na różnych platformach (Windows, MacOS)
Zabezpieczenie treści w sposób akceptowalny dla dostawców
Wysoka jakość prezentowanych treści – HD Ready 720p
Duża biblioteka materiałów – na starcie 2000 assetów, kilkaset nowych co
miesiąc
Maksymalna skalowalność, dostępność, możliwość outsourcingu komponentów
Modele biznesowe
Advertisement based VOD (AVOD)
Transaction based VOD (TVOD)
Subscription based VOD (SVOD)
Dostępna technologia
MS Silverlight (Smooth Streaming + Playready)
Windows Media Video (MS Windows Media Services + WMDRM10)
Adobe Flash (RTMPE)
Zdecydowaliśmy się na wybór Silverlighta
Microsoft Silverlight
Najważniejsze cechy z punktu widzenia VOD
penetracja w VOD 60% (StatOwl 61.19 % - styczeo 2011)
w VOD ok. 3,5 mln. zainicjowanych instalacji
dostępnośd: Windows, Mac (IE, FF, Chrome, Safari), Windows Phone 7
obsługa Play Ready DRM (oraz WMDRM)
obsługa SmoothStreaming’u
w wersji 4 m.in.
license store - wsparcie dla trybu offline (gruby klient)
nowe możliwości DRM, np. wypożyczenie czasowe
możliwośd dodatkowego zabezpieczenia wyjścia video
wsparcie dla h.264 i AAC-LC
Silverlight SmoothStreaming
Adaptatywny streaming video wykorzystujący jako transport protokół
HTTP
Pierwotnie możliwy do podawania wyłącznie za pomocą Windows 2008 i
IIS7, obecnie dostępne są moduły firm trzecich również dla Linuxowych
serwerów HTTP
Główne cechy:
dynamiczne dostosowanie jakości do łącza i obciążenia CPU klienta
szybkie rozpoczęcie odtwarzania i krótki seek time
odpornośd na zerwanie transmisji
wsparcie dla transmisji LIVE
Jak to działa?
SmoothStreaming – storage
Na dysku przechowujemy osobny
plik dla każdego bitrate’u plus
dodatkowe pliki na manifesty.
W naszym systemie
wykorzystujemy 7 różnych bitrate
od 300 kbps do 2.6 Mbps (kodeki
VC-1/WMA Pro)
Każdy plik składa się z
samodzielnych, łatwo dostępnych
fragmentów
Jak się do nich dostać?
Źródło: http://alexzambelli.com
SmoothStreaming – sieć
Każdy fragment jest dostępny
poprzez specjalny request HTTP
zgodny z REST:
http://server/asset.ism/QualityLevels({bitrate})/Fragme
nts(video={start time})
Umożliwia to łatwe przełączanie
się pomiędzy poszczególnymi
jakościami, jak i krótki czas
seek’a.
Z drugiej strony ułatwia
cache’owanie przez
standardowe proxy/cache HTTP
Źródło: http://alexzambelli.com
Jak to wszystko razem działa?
MS SilverLight
Player
MS SilverLight
Player
Media server
http://server1/vod/film.ism/QualityLevels
(300)/Fragments(video=0)
http://server1/vod/film.ism/QualityLevels
(300)/Fragments(video=0)
http://server1/vod/film.ism/QualityLevels
(300)/Fragments(video=2000)
http://server1/vod/film.ism/QualityLevels
(300)/Fragments(video=2000)
http://server1/vod/film.ism/QualityLevels
(600)/Fragments(video=4000)
http://server1/vod/film.ism/QualityLevels
(300)/Fragments(video=4000)
http://server1/vod/film.ism/QualityLevels
(600)/Fragments(video=6000)
http://server1/vod/film.ism/QualityLevels
(300)/Fragments(video=6000)
ONET VOD – JAK TO
WYGLĄDA OD KUCHNI?
Onet
TVN
Przeglądarka www
Serwis VOD
Whats’On
System
transkodingu
Workflow
Manager System
Płatności/SMS
Adserver
Reklama
System
Statystyk
Archiwum Cyfrowe
Farma Streamingowa (MS
SmoothStreaming, Flash)
Player Video
Onet Vplayer / SilverLight
Produktyzacja
Publikacja
Opisywanie
Submit Database CMSystem
Video storage
Warstwa Integracji API
Farma Frontendowa (serwis www)
Farma PlayReady DRM
Auth/Baza
użytkowników
Narzędzia BackOffice
XML Metadata (CableLabs), napisy, video
UGC
Narzędzia obróbki cyfrowej
Onet VOD – komponenty systemu
OnetVOD – Streaming Video
Service router
Media server cluster
Edge cache farm
Replicated video storage
MS SilverLight
Player
Req: http://media.onet.pl/vod/film.ism/Manifest
Resp: HTTP 302
http://server1/vol1/film.ism/Manifest
OnetVOD – Streaming Video
Replicated video storage
MS SilverLight
Player
Req: http://server1/vol1/film.ism/Manifest
Resp: Client Manifest
Service router
Media server cluster
Edge cache farm
MS SilverLight
Player
OnetVOD – Streaming Video
Replicated video storage
MS SilverLight
Player
Req:
http://server1/vol1/film.ism/QualityLevels(bitrate
)/Fragments(video=time)
Resp: MP4 Fragment
Service router
Media server cluster
Edge cache farm
MS SilverLight
Player
Service Router – media.onet.pl
Usługa zbudowana w oparciu o IIS7 i ASP.NET
Główne zadanie: routing ruchu video w portalu Onet
(w tym również VOD)
Główne kryteria:
Rodzaj materiału
Dostępność sieciowa klienta
Obciążenie łączy i komponentów systemu
Charakterystyka ruchu
Dodatkowo realizują jeden z punktów kontroli dostępu GeoIP, zbierają
statystyki, zarządzają serwerami frontowymi
Service router
Service router – media.onet.pl
Dobór algorytmu wyboru ścieżki zależnie od aktualnej
charakterystyki ruchu:
Domyślnie stosowane jest content affinity
W miarę wzrostu popularności materiału jest on podawany z większej ilości
serwerów
Dobór ścieżki w zależności od lokalizacji sieciowej
Bieżący monitoring tablic routingu BGP w celu wyboru węzła
zapewniającego najbardziej efektywne dostarczenie treści do klienta
Dobór ścieżki w zależności od obciążenia systemu
Bieżący monitoring obciążenia łączy i komponentów systemu, umożliwia
przełączenie ruchu między lokalizacjami lub przekierowanie części do
zewnętrznego usługodawcy (Antidodum  )
Service router
Edge cache
Serwery zbudowane w oparciu o Windows 2008 i IIS7
oraz Linux/nginx
Zadanie: podawanie multimediów do klientów w formie „strumieni”
SmoothStreaming oraz Windows Media Services
Utrzymują treści jak najbliżej klienta
Co jest absolutnie kluczowe:
Wysoka wydajność I/O: dużo RAM, efektywny cache dyskowy,
bardzo szybkie dyski lokalne – SSD
Dostarczenie fragmentu do klienta w czasie <2s
Edge cache farm
Media Server
Serwery zbudowane w oparciu o Windows 2008 i IIS7
Główne zadanie
Zamiana formatu dyskowego SmoothStreaming na sieciowy
Ingestia treści video live
Zasilanie serwerów Edge Cache w fragmenty video
Media server cluster
Transkoding
Główne wyzwania:
Operacja wyjątkowo CPU Intensive
Charakterystyka zakupów treści – „życie na ramówce”
Rozwiązanie:
Budowa farmy transkoderów w oparciu o maszyny frontowe (w
wolnych chwilach pracują agenci transkodujący video)
Transkoding
• Wybrany enkoder: Expression Encoder v3 i kodeki VC-1/WMA Pro,
obecnie planujemy zmianę na h.264/AAC
System zarządzania zadaniami
Kolejki o różnych priorytetach (konieczność obsługi materiałów
typu catch-up)
Kontrola czasu pracy zadań transkodingu – efektywne
wykorzystanie wolnych zasobów sprzętowych
Architektura - sieć
Klasyczny podział sieci w Data Center:
Sieć brzegowa
Sieć core
Sieć agregacyjna
Siec Aggregacyjna
Siec Brzegowa
Siec Core
ISPs
Architektura - sieć
Cache serwery najlepiej żeby
znajdowały się jak najbliżej
klientów, czyli bezpośrednio
dołączane do sieci brzegowej.
Minusem tego rozwiązania są
drogie interfejsy w routerach.
Edge Cache
Siec Brzegowa
ISPs
Architektura - sieć
Zwiększenie gęstości portów uzyskuje
się poprzez wykorzystanie urządzeń
dystrybucyjnych, do których podłącza
się serwery edge cache. W ten sposób
zmniejsza się liczbę potrzebnych
portów w sieci brzegowej.
Edge Cache
Siec
Dystrybucyjna
Siec Brzegowa
ISPs
Architektura - sieć
W sieci dystrybucyjnej można zastosować urządzenia:
switch warstwy drugiej,
switch warstwy trzeciej,
switch warstwy trzeciej plus technologie virtualizacji.
Architektura - sieć
Switch warstwy drugiej – ze względu na
wykorzystanie protokołów spanning-tree połowa
uplinków jest nieaktywna.
ISPs
Architektura - sieć
Switch warstwy trzeciej – wszystkie uplinki
aktywne, dodatkowo dostajemy możliwość LB
ruchu do serwerów edge cache poprzez
wykorzystanie ECMP (equal cost multi path).
ISPs
Architektura - sieć
Switch warstwy trzeciej plus technologie
virtualizacji. - VSS, VC – brak
niewykorzystywanych linków p-2-p między
routerami w sieci dystrybucyjnej.
ISPs
Architektura - sieć
Wykorzystywane protokoły warstwy L3:
bgp – stosowany miedzy urządzeniami sieci
dystrybucyjnej a routerami w sieci brzegowej.
Switche pracujące jako routery w sieci
dystrybucyjnej, są wstanie pomieścić bardzo małą
ilość prefiksów, z tego względu musi nastąpić ich
selekcja (8 lub 16 tysięcy prefiksów). Do tego
zadania można wykorzystać atrybut bgp
„community”.
ISPs
1.1.1.0/24
ISPs
0.0.0.0/0
Architektura - sieć
Wykorzystywane protokoły warstwy L3:
ospf – wykorzystywany na styku pomiędzy
urządzeniami dystrybucyjnymi a hostem
docelowym, pozwala na rozrzucenie ruchu na kilka
maszyn docelowych.
admin@sdr > show route
inet.0: 43 destinations, 43 routes (43 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
213.180.132.150/32 *[OSPF/10] 3d 22:57:42, metric 100
to 213.180.132.131 via vlan.402
> to 213.180.132.132 via vlan.402
to 213.180.132.133 via vlan.402
to 213.180.132.134 via vlan.402
to 213.180.132.135 via vlan.402
PODSUMOWANIE
Onet VOD - Kilka faktów
Start – 14 lutego 2010
Pierwszego dnia: 25 tysięcy jednoczesnych strumieni , prawie ćwierć
miliona odtworzeń i kilkaset nowych strumieni na sekundę
Jeden użytkownik spędza u nas średnio ok. 45 minut dziennie
Charakterystyka ruchu: 90% odtworzeń to 20% opublikowanych u
nas formatów, z drugiej strony dziennie odtwarza się 3000 różnych
assetów
Od premiery serwisu ludzie oglądali nasze filmy przez 21 871 420
godzin = 2496 lat
Co dalej?
Konkurencja nie śpi 
W ciągu roku ruch na serwisie wzrósł nam
kilkukrotnie (ponad 300%!)
Nieustannie wzrasta ilość nowych
materiałów wprowadzanych do serwisu (w
tej chwili mamy ponad 7000)
Rosną wymagania naszych
użytkowników i ich możliwości
(głównie sieciowe)
Wzrasta popularność innych niż komputer
platform multimedialnych
0 -0.5 Mbit
19%
0.5 -1 Mbit
23%
1 -1.5 Mbit
20%
1.5 -2 Mbit
28%
2.5 -3 Mbit
10%
0
10
20
30
Q1 Q2 Q3 Q4
Ilość strumieni (mln)
Marcin Kaptur (marcin.kaptur@dreamlab.pl)
Tomasz Charewicz (tomasz.charewicz@portal.onet.pl)

Mais conteúdo relacionado

Semelhante a PLNOG 6: Marcin Kaptur, Tomasz Charewicz - Onet VOD

PLNOG23 - Bartosz Belter & dr hab. inż. Andrzej Bęben - Techniki przetwarzani...
PLNOG23 - Bartosz Belter & dr hab. inż. Andrzej Bęben - Techniki przetwarzani...PLNOG23 - Bartosz Belter & dr hab. inż. Andrzej Bęben - Techniki przetwarzani...
PLNOG23 - Bartosz Belter & dr hab. inż. Andrzej Bęben - Techniki przetwarzani...PROIDEA
 
Projekcik Routery2
Projekcik Routery2Projekcik Routery2
Projekcik Routery2arkulik
 
PLNOG 22 - Karol Kowalik - Droga na szczyt Speedtest
PLNOG 22 - Karol Kowalik - Droga na szczyt Speedtest PLNOG 22 - Karol Kowalik - Droga na szczyt Speedtest
PLNOG 22 - Karol Kowalik - Droga na szczyt Speedtest PROIDEA
 
Przemysław Frasunek - Oprogramowanie do budowy rozproszonych systemów dystryb...
Przemysław Frasunek - Oprogramowanie do budowy rozproszonych systemów dystryb...Przemysław Frasunek - Oprogramowanie do budowy rozproszonych systemów dystryb...
Przemysław Frasunek - Oprogramowanie do budowy rozproszonych systemów dystryb...PROIDEA
 
The story of GOG.com Cache - PHPers 2014 ( PL )
 The story of GOG.com Cache - PHPers 2014 ( PL ) The story of GOG.com Cache - PHPers 2014 ( PL )
The story of GOG.com Cache - PHPers 2014 ( PL )GOG.com dev team
 
The story of GOG.com Cache - 4developers 2014 ( PL )
The story of GOG.com Cache - 4developers 2014 ( PL )The story of GOG.com Cache - 4developers 2014 ( PL )
The story of GOG.com Cache - 4developers 2014 ( PL )GOG.com dev team
 
Jak zrobilismy VideoCMS.pl
Jak zrobilismy VideoCMS.plJak zrobilismy VideoCMS.pl
Jak zrobilismy VideoCMS.plTomasz Karwatka
 
Jak zrobilismy VideoCMS.pl
Jak zrobilismy VideoCMS.plJak zrobilismy VideoCMS.pl
Jak zrobilismy VideoCMS.plDivante
 
Espol Plnog7 WiMax
Espol Plnog7 WiMaxEspol Plnog7 WiMax
Espol Plnog7 WiMaxespol
 
PLNOG 17 - Sławomir Janukowicz - NFV – using Juniper vMX, vSRX and NFX
PLNOG 17 - Sławomir Janukowicz - NFV – using Juniper vMX, vSRX and NFXPLNOG 17 - Sławomir Janukowicz - NFV – using Juniper vMX, vSRX and NFX
PLNOG 17 - Sławomir Janukowicz - NFV – using Juniper vMX, vSRX and NFXPROIDEA
 
PLNOG 5: Piotr Wojciechowski - Budowa głosowych usług operatorskich z zastoso...
PLNOG 5: Piotr Wojciechowski - Budowa głosowych usług operatorskich z zastoso...PLNOG 5: Piotr Wojciechowski - Budowa głosowych usług operatorskich z zastoso...
PLNOG 5: Piotr Wojciechowski - Budowa głosowych usług operatorskich z zastoso...PROIDEA
 
Publikacja usług Exchange 2013 w internecie. Co dalej bez TMG?
Publikacja usług Exchange 2013 w internecie. Co dalej bez TMG?Publikacja usług Exchange 2013 w internecie. Co dalej bez TMG?
Publikacja usług Exchange 2013 w internecie. Co dalej bez TMG?Konrad Sagala
 
PLNOG 3: Tomasz Paszkowski Wysokowydajny system składowania plików graficzny...
PLNOG 3: Tomasz Paszkowski  Wysokowydajny system składowania plików graficzny...PLNOG 3: Tomasz Paszkowski  Wysokowydajny system składowania plików graficzny...
PLNOG 3: Tomasz Paszkowski Wysokowydajny system składowania plików graficzny...PROIDEA
 
WebRTC+Websockety - Jak stworzyłem aplikację do kamerek internetowych w Larav...
WebRTC+Websockety - Jak stworzyłem aplikację do kamerek internetowych w Larav...WebRTC+Websockety - Jak stworzyłem aplikację do kamerek internetowych w Larav...
WebRTC+Websockety - Jak stworzyłem aplikację do kamerek internetowych w Larav...Laravel Poland MeetUp
 
Cometari Dedicated Solutions Oferta ogólna
Cometari Dedicated Solutions Oferta ogólnaCometari Dedicated Solutions Oferta ogólna
Cometari Dedicated Solutions Oferta ogólnaJakub Hajek
 
Łukasz Bromirski - Najlepsze praktyki zabezpieczania sieci klasy operatorskiej
Łukasz Bromirski - Najlepsze praktyki zabezpieczania sieci klasy operatorskiejŁukasz Bromirski - Najlepsze praktyki zabezpieczania sieci klasy operatorskiej
Łukasz Bromirski - Najlepsze praktyki zabezpieczania sieci klasy operatorskiejPROIDEA
 
Bartlomiej Anszperger - Od sieci Metro do sieci Carrier Ethernet
Bartlomiej Anszperger - Od sieci Metro do sieci Carrier EthernetBartlomiej Anszperger - Od sieci Metro do sieci Carrier Ethernet
Bartlomiej Anszperger - Od sieci Metro do sieci Carrier EthernetPROIDEA
 

Semelhante a PLNOG 6: Marcin Kaptur, Tomasz Charewicz - Onet VOD (20)

PLNOG23 - Bartosz Belter & dr hab. inż. Andrzej Bęben - Techniki przetwarzani...
PLNOG23 - Bartosz Belter & dr hab. inż. Andrzej Bęben - Techniki przetwarzani...PLNOG23 - Bartosz Belter & dr hab. inż. Andrzej Bęben - Techniki przetwarzani...
PLNOG23 - Bartosz Belter & dr hab. inż. Andrzej Bęben - Techniki przetwarzani...
 
Projekcik Routery2
Projekcik Routery2Projekcik Routery2
Projekcik Routery2
 
PLNOG 22 - Karol Kowalik - Droga na szczyt Speedtest
PLNOG 22 - Karol Kowalik - Droga na szczyt Speedtest PLNOG 22 - Karol Kowalik - Droga na szczyt Speedtest
PLNOG 22 - Karol Kowalik - Droga na szczyt Speedtest
 
Przemysław Frasunek - Oprogramowanie do budowy rozproszonych systemów dystryb...
Przemysław Frasunek - Oprogramowanie do budowy rozproszonych systemów dystryb...Przemysław Frasunek - Oprogramowanie do budowy rozproszonych systemów dystryb...
Przemysław Frasunek - Oprogramowanie do budowy rozproszonych systemów dystryb...
 
Usługi sieci internet cz iiii 2012
Usługi sieci internet cz iiii   2012Usługi sieci internet cz iiii   2012
Usługi sieci internet cz iiii 2012
 
The story of GOG.com Cache - PHPers 2014 ( PL )
 The story of GOG.com Cache - PHPers 2014 ( PL ) The story of GOG.com Cache - PHPers 2014 ( PL )
The story of GOG.com Cache - PHPers 2014 ( PL )
 
The story of GOG.com Cache - 4developers 2014 ( PL )
The story of GOG.com Cache - 4developers 2014 ( PL )The story of GOG.com Cache - 4developers 2014 ( PL )
The story of GOG.com Cache - 4developers 2014 ( PL )
 
Jak zrobilismy VideoCMS.pl
Jak zrobilismy VideoCMS.plJak zrobilismy VideoCMS.pl
Jak zrobilismy VideoCMS.pl
 
Jak zrobilismy VideoCMS.pl
Jak zrobilismy VideoCMS.plJak zrobilismy VideoCMS.pl
Jak zrobilismy VideoCMS.pl
 
Espol Plnog7 WiMax
Espol Plnog7 WiMaxEspol Plnog7 WiMax
Espol Plnog7 WiMax
 
PLNOG 17 - Sławomir Janukowicz - NFV – using Juniper vMX, vSRX and NFX
PLNOG 17 - Sławomir Janukowicz - NFV – using Juniper vMX, vSRX and NFXPLNOG 17 - Sławomir Janukowicz - NFV – using Juniper vMX, vSRX and NFX
PLNOG 17 - Sławomir Janukowicz - NFV – using Juniper vMX, vSRX and NFX
 
PLNOG 5: Piotr Wojciechowski - Budowa głosowych usług operatorskich z zastoso...
PLNOG 5: Piotr Wojciechowski - Budowa głosowych usług operatorskich z zastoso...PLNOG 5: Piotr Wojciechowski - Budowa głosowych usług operatorskich z zastoso...
PLNOG 5: Piotr Wojciechowski - Budowa głosowych usług operatorskich z zastoso...
 
Publikacja usług Exchange 2013 w internecie. Co dalej bez TMG?
Publikacja usług Exchange 2013 w internecie. Co dalej bez TMG?Publikacja usług Exchange 2013 w internecie. Co dalej bez TMG?
Publikacja usług Exchange 2013 w internecie. Co dalej bez TMG?
 
PLNOG 3: Tomasz Paszkowski Wysokowydajny system składowania plików graficzny...
PLNOG 3: Tomasz Paszkowski  Wysokowydajny system składowania plików graficzny...PLNOG 3: Tomasz Paszkowski  Wysokowydajny system składowania plików graficzny...
PLNOG 3: Tomasz Paszkowski Wysokowydajny system składowania plików graficzny...
 
WebRTC+Websockety - Jak stworzyłem aplikację do kamerek internetowych w Larav...
WebRTC+Websockety - Jak stworzyłem aplikację do kamerek internetowych w Larav...WebRTC+Websockety - Jak stworzyłem aplikację do kamerek internetowych w Larav...
WebRTC+Websockety - Jak stworzyłem aplikację do kamerek internetowych w Larav...
 
Cometari Dedicated Solutions Oferta ogólna
Cometari Dedicated Solutions Oferta ogólnaCometari Dedicated Solutions Oferta ogólna
Cometari Dedicated Solutions Oferta ogólna
 
Łukasz Bromirski - Najlepsze praktyki zabezpieczania sieci klasy operatorskiej
Łukasz Bromirski - Najlepsze praktyki zabezpieczania sieci klasy operatorskiejŁukasz Bromirski - Najlepsze praktyki zabezpieczania sieci klasy operatorskiej
Łukasz Bromirski - Najlepsze praktyki zabezpieczania sieci klasy operatorskiej
 
Urządzenia intersieci tworzące Internet
Urządzenia intersieci tworzące InternetUrządzenia intersieci tworzące Internet
Urządzenia intersieci tworzące Internet
 
3
33
3
 
Bartlomiej Anszperger - Od sieci Metro do sieci Carrier Ethernet
Bartlomiej Anszperger - Od sieci Metro do sieci Carrier EthernetBartlomiej Anszperger - Od sieci Metro do sieci Carrier Ethernet
Bartlomiej Anszperger - Od sieci Metro do sieci Carrier Ethernet
 

PLNOG 6: Marcin Kaptur, Tomasz Charewicz - Onet VOD

  • 2. Agenda Skąd wziął się pomysł na vod.onet.pl? Start projektu i wyzwania technologiczne Technologia czyli Onet VOD od kuchni Podsumowanie
  • 3. Charakterystyka ruchu w Internecie http://www.wired.com
  • 4. Dynamiczny wzrost video w wersji pełnometrażowej Co powoduje ten wzrost? Co ludzie chcą oglądać w sieci? Do 2009 r. Video UGC: krótkie, amatorskie filmy –YouTube Od 2009 r. Rynek video w sieci wygląda już inaczej. Profesjonalna, legalna treść TV i filmowa trafiła do sieci. I to ona powoduje ten wzrost. 7% 6% 14% 20% 4% 5% 7% 13% cze 2008 wrz 2008 kwi 2009 paź 2009 Użytkownicy którzy obejrzeli online lub pobrali film pełnometrażowy (% ankietowanych) Streaming Download http://emarketer.com
  • 5. Profesjonalny kontent video • filmy, seriale, bajki, muzyka • prapremiery, catch-up tv • od TVN, Warner Bros i innych wytwórni Modele Biznesowe • Advertising VOD (AVOD) • Transaction VOD (TVOD) • Subscription VOD (SVOD) Onet VOD
  • 7. Wyzwanie – nowy serwis Założenia: Dostępność na różnych platformach (Windows, MacOS) Zabezpieczenie treści w sposób akceptowalny dla dostawców Wysoka jakość prezentowanych treści – HD Ready 720p Duża biblioteka materiałów – na starcie 2000 assetów, kilkaset nowych co miesiąc Maksymalna skalowalność, dostępność, możliwość outsourcingu komponentów Modele biznesowe Advertisement based VOD (AVOD) Transaction based VOD (TVOD) Subscription based VOD (SVOD)
  • 8. Dostępna technologia MS Silverlight (Smooth Streaming + Playready) Windows Media Video (MS Windows Media Services + WMDRM10) Adobe Flash (RTMPE) Zdecydowaliśmy się na wybór Silverlighta
  • 9. Microsoft Silverlight Najważniejsze cechy z punktu widzenia VOD penetracja w VOD 60% (StatOwl 61.19 % - styczeo 2011) w VOD ok. 3,5 mln. zainicjowanych instalacji dostępnośd: Windows, Mac (IE, FF, Chrome, Safari), Windows Phone 7 obsługa Play Ready DRM (oraz WMDRM) obsługa SmoothStreaming’u w wersji 4 m.in. license store - wsparcie dla trybu offline (gruby klient) nowe możliwości DRM, np. wypożyczenie czasowe możliwośd dodatkowego zabezpieczenia wyjścia video wsparcie dla h.264 i AAC-LC
  • 10. Silverlight SmoothStreaming Adaptatywny streaming video wykorzystujący jako transport protokół HTTP Pierwotnie możliwy do podawania wyłącznie za pomocą Windows 2008 i IIS7, obecnie dostępne są moduły firm trzecich również dla Linuxowych serwerów HTTP Główne cechy: dynamiczne dostosowanie jakości do łącza i obciążenia CPU klienta szybkie rozpoczęcie odtwarzania i krótki seek time odpornośd na zerwanie transmisji wsparcie dla transmisji LIVE Jak to działa?
  • 11. SmoothStreaming – storage Na dysku przechowujemy osobny plik dla każdego bitrate’u plus dodatkowe pliki na manifesty. W naszym systemie wykorzystujemy 7 różnych bitrate od 300 kbps do 2.6 Mbps (kodeki VC-1/WMA Pro) Każdy plik składa się z samodzielnych, łatwo dostępnych fragmentów Jak się do nich dostać? Źródło: http://alexzambelli.com
  • 12. SmoothStreaming – sieć Każdy fragment jest dostępny poprzez specjalny request HTTP zgodny z REST: http://server/asset.ism/QualityLevels({bitrate})/Fragme nts(video={start time}) Umożliwia to łatwe przełączanie się pomiędzy poszczególnymi jakościami, jak i krótki czas seek’a. Z drugiej strony ułatwia cache’owanie przez standardowe proxy/cache HTTP Źródło: http://alexzambelli.com
  • 13. Jak to wszystko razem działa? MS SilverLight Player MS SilverLight Player Media server http://server1/vod/film.ism/QualityLevels (300)/Fragments(video=0) http://server1/vod/film.ism/QualityLevels (300)/Fragments(video=0) http://server1/vod/film.ism/QualityLevels (300)/Fragments(video=2000) http://server1/vod/film.ism/QualityLevels (300)/Fragments(video=2000) http://server1/vod/film.ism/QualityLevels (600)/Fragments(video=4000) http://server1/vod/film.ism/QualityLevels (300)/Fragments(video=4000) http://server1/vod/film.ism/QualityLevels (600)/Fragments(video=6000) http://server1/vod/film.ism/QualityLevels (300)/Fragments(video=6000)
  • 14. ONET VOD – JAK TO WYGLĄDA OD KUCHNI?
  • 15. Onet TVN Przeglądarka www Serwis VOD Whats’On System transkodingu Workflow Manager System Płatności/SMS Adserver Reklama System Statystyk Archiwum Cyfrowe Farma Streamingowa (MS SmoothStreaming, Flash) Player Video Onet Vplayer / SilverLight Produktyzacja Publikacja Opisywanie Submit Database CMSystem Video storage Warstwa Integracji API Farma Frontendowa (serwis www) Farma PlayReady DRM Auth/Baza użytkowników Narzędzia BackOffice XML Metadata (CableLabs), napisy, video UGC Narzędzia obróbki cyfrowej Onet VOD – komponenty systemu
  • 16. OnetVOD – Streaming Video Service router Media server cluster Edge cache farm Replicated video storage MS SilverLight Player Req: http://media.onet.pl/vod/film.ism/Manifest Resp: HTTP 302 http://server1/vol1/film.ism/Manifest
  • 17. OnetVOD – Streaming Video Replicated video storage MS SilverLight Player Req: http://server1/vol1/film.ism/Manifest Resp: Client Manifest Service router Media server cluster Edge cache farm MS SilverLight Player
  • 18. OnetVOD – Streaming Video Replicated video storage MS SilverLight Player Req: http://server1/vol1/film.ism/QualityLevels(bitrate )/Fragments(video=time) Resp: MP4 Fragment Service router Media server cluster Edge cache farm MS SilverLight Player
  • 19. Service Router – media.onet.pl Usługa zbudowana w oparciu o IIS7 i ASP.NET Główne zadanie: routing ruchu video w portalu Onet (w tym również VOD) Główne kryteria: Rodzaj materiału Dostępność sieciowa klienta Obciążenie łączy i komponentów systemu Charakterystyka ruchu Dodatkowo realizują jeden z punktów kontroli dostępu GeoIP, zbierają statystyki, zarządzają serwerami frontowymi Service router
  • 20. Service router – media.onet.pl Dobór algorytmu wyboru ścieżki zależnie od aktualnej charakterystyki ruchu: Domyślnie stosowane jest content affinity W miarę wzrostu popularności materiału jest on podawany z większej ilości serwerów Dobór ścieżki w zależności od lokalizacji sieciowej Bieżący monitoring tablic routingu BGP w celu wyboru węzła zapewniającego najbardziej efektywne dostarczenie treści do klienta Dobór ścieżki w zależności od obciążenia systemu Bieżący monitoring obciążenia łączy i komponentów systemu, umożliwia przełączenie ruchu między lokalizacjami lub przekierowanie części do zewnętrznego usługodawcy (Antidodum  ) Service router
  • 21. Edge cache Serwery zbudowane w oparciu o Windows 2008 i IIS7 oraz Linux/nginx Zadanie: podawanie multimediów do klientów w formie „strumieni” SmoothStreaming oraz Windows Media Services Utrzymują treści jak najbliżej klienta Co jest absolutnie kluczowe: Wysoka wydajność I/O: dużo RAM, efektywny cache dyskowy, bardzo szybkie dyski lokalne – SSD Dostarczenie fragmentu do klienta w czasie <2s Edge cache farm
  • 22. Media Server Serwery zbudowane w oparciu o Windows 2008 i IIS7 Główne zadanie Zamiana formatu dyskowego SmoothStreaming na sieciowy Ingestia treści video live Zasilanie serwerów Edge Cache w fragmenty video Media server cluster
  • 23. Transkoding Główne wyzwania: Operacja wyjątkowo CPU Intensive Charakterystyka zakupów treści – „życie na ramówce” Rozwiązanie: Budowa farmy transkoderów w oparciu o maszyny frontowe (w wolnych chwilach pracują agenci transkodujący video)
  • 24. Transkoding • Wybrany enkoder: Expression Encoder v3 i kodeki VC-1/WMA Pro, obecnie planujemy zmianę na h.264/AAC System zarządzania zadaniami Kolejki o różnych priorytetach (konieczność obsługi materiałów typu catch-up) Kontrola czasu pracy zadań transkodingu – efektywne wykorzystanie wolnych zasobów sprzętowych
  • 25. Architektura - sieć Klasyczny podział sieci w Data Center: Sieć brzegowa Sieć core Sieć agregacyjna Siec Aggregacyjna Siec Brzegowa Siec Core ISPs
  • 26. Architektura - sieć Cache serwery najlepiej żeby znajdowały się jak najbliżej klientów, czyli bezpośrednio dołączane do sieci brzegowej. Minusem tego rozwiązania są drogie interfejsy w routerach. Edge Cache Siec Brzegowa ISPs
  • 27. Architektura - sieć Zwiększenie gęstości portów uzyskuje się poprzez wykorzystanie urządzeń dystrybucyjnych, do których podłącza się serwery edge cache. W ten sposób zmniejsza się liczbę potrzebnych portów w sieci brzegowej. Edge Cache Siec Dystrybucyjna Siec Brzegowa ISPs
  • 28. Architektura - sieć W sieci dystrybucyjnej można zastosować urządzenia: switch warstwy drugiej, switch warstwy trzeciej, switch warstwy trzeciej plus technologie virtualizacji.
  • 29. Architektura - sieć Switch warstwy drugiej – ze względu na wykorzystanie protokołów spanning-tree połowa uplinków jest nieaktywna. ISPs
  • 30. Architektura - sieć Switch warstwy trzeciej – wszystkie uplinki aktywne, dodatkowo dostajemy możliwość LB ruchu do serwerów edge cache poprzez wykorzystanie ECMP (equal cost multi path). ISPs
  • 31. Architektura - sieć Switch warstwy trzeciej plus technologie virtualizacji. - VSS, VC – brak niewykorzystywanych linków p-2-p między routerami w sieci dystrybucyjnej. ISPs
  • 32. Architektura - sieć Wykorzystywane protokoły warstwy L3: bgp – stosowany miedzy urządzeniami sieci dystrybucyjnej a routerami w sieci brzegowej. Switche pracujące jako routery w sieci dystrybucyjnej, są wstanie pomieścić bardzo małą ilość prefiksów, z tego względu musi nastąpić ich selekcja (8 lub 16 tysięcy prefiksów). Do tego zadania można wykorzystać atrybut bgp „community”. ISPs 1.1.1.0/24 ISPs 0.0.0.0/0
  • 33. Architektura - sieć Wykorzystywane protokoły warstwy L3: ospf – wykorzystywany na styku pomiędzy urządzeniami dystrybucyjnymi a hostem docelowym, pozwala na rozrzucenie ruchu na kilka maszyn docelowych. admin@sdr > show route inet.0: 43 destinations, 43 routes (43 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 213.180.132.150/32 *[OSPF/10] 3d 22:57:42, metric 100 to 213.180.132.131 via vlan.402 > to 213.180.132.132 via vlan.402 to 213.180.132.133 via vlan.402 to 213.180.132.134 via vlan.402 to 213.180.132.135 via vlan.402
  • 35. Onet VOD - Kilka faktów Start – 14 lutego 2010 Pierwszego dnia: 25 tysięcy jednoczesnych strumieni , prawie ćwierć miliona odtworzeń i kilkaset nowych strumieni na sekundę Jeden użytkownik spędza u nas średnio ok. 45 minut dziennie Charakterystyka ruchu: 90% odtworzeń to 20% opublikowanych u nas formatów, z drugiej strony dziennie odtwarza się 3000 różnych assetów Od premiery serwisu ludzie oglądali nasze filmy przez 21 871 420 godzin = 2496 lat
  • 36. Co dalej? Konkurencja nie śpi  W ciągu roku ruch na serwisie wzrósł nam kilkukrotnie (ponad 300%!) Nieustannie wzrasta ilość nowych materiałów wprowadzanych do serwisu (w tej chwili mamy ponad 7000) Rosną wymagania naszych użytkowników i ich możliwości (głównie sieciowe) Wzrasta popularność innych niż komputer platform multimedialnych 0 -0.5 Mbit 19% 0.5 -1 Mbit 23% 1 -1.5 Mbit 20% 1.5 -2 Mbit 28% 2.5 -3 Mbit 10% 0 10 20 30 Q1 Q2 Q3 Q4 Ilość strumieni (mln)
  • 37. Marcin Kaptur (marcin.kaptur@dreamlab.pl) Tomasz Charewicz (tomasz.charewicz@portal.onet.pl)