Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Transmisja z HotZlotu 2012 od kuchni

Chciałem dzisiaj podzielić się z Wami kilkoma spostrzeżeniami na temat transmisji, jaką udało nam się przeprowadzić w trakcie tegorocznego HotZlotu w malowniczo położonym Zamku na Skale w Trzebieszowicach koło Lądka Zdroju. Wiele osób na miejscu widząc mnie biegającego z notebookiem i kamerami pytała, jak to działa. W jaki sposób wideo jest przechwytywane, w jaki sposób obrabiane i wreszcie wypychane do Internetu? Zwłaszcza kwestia wysyłania streamu wywoływała największe zdziwienie, bo jaki był internet w Zamku, wszyscy wiemy – dość kiepski, szczególnie przy udziale 160 geeków ;)

Najważniejszy element układanki: łączność

Na miejsce przyjechaliśmy kilka dni wcześniej, co pozwoliło nam przeprowadzić kilka testów. Wcześniej nawiązaliśmy współpracę z Cyfrowym Polsatem, właściwie jedynym podmiotem na polskim rynku, który oferuje mobilny dostęp do Internetu w technologii LTE. Obliczyliśmy bowiem, że do wysyłki strumienia wideo potrzebujemy przynajmniej 1 Mbit/s stale dostępnego, stabilnego pasma. Tradycyjna sieć komórkowa, jaka była do dyspozycji w Zamku niestety była zdecydowanie niewystarczająca. I tak jednak byliśmy z niej zadowoleni, bo dwa lata wcześniej podczas pierwszego HotZlotu w Lądku Zdrój mieliśmy problem, by w ogóle do kogoś się dodzwonić ;)

Pytanie pozostało więc tylko jedno – czy LTE będzie działać w Zamku? Wyposażeni w najmocniejszą dostępną w ofercie Cyfrowego Polsatu antenę zewnętrzną ruszyliśmy do testów :) Co ciekawe, okazało się, że zasięg LTE mimo białej plamy na oficjalnej mapie w Zamku był. Niestety wewnątrz pomieszczeń pozostawiał wiele do życzenia… Nawet wystawienie anteny za okno np. w sali konferencyjnej nie przynosiło pożądanych rezultatów. O ile prędkość pobierania dochodziła nawet w okolice 20 Mbit/s (a średnio oscylowała przynajmniej wokół 10 Mbit/s), to jednak krytyczna dla nas prędkość wysyłania nie przekraczała… 200 Kbit/s. Poza tym łączność czasami się zrywała. Musieliśmy szukać dalej.

Zamek na Skale to na szczęście nie tylko sam zamek, to także niezależny budynek położony kilkadziesiąt metrów dalej, tuż przy wjeździe na teren całego kompleksu – oficyna z dodatkowymi pokojami gościnnymi. Jest to o tyle istotne, że budynek ten, choć niższy niż zamek, był usytuowany w bardziej sprzyjającym otoczeniu (brak wysokich drzew) i, co okazało się tu chyba najważniejsze, od strony najbliższego nadajnika LTE w Lądku (zamek znajduje się w Trzebieszowicach). Efekt po prostu nas powalił ;) Umieszczając antenę zewnętrzną tuż pod samym dachem budynku, na wysokości może 6-7 metrów nad ziemią, uzyskaliśmy niecałe 60 Mbit/s przy pobieraniu i ponad 3 Mbit/s przy wysyłaniu. Całkiem nieźle jak na „brak zasięgu” :)

Pozostała jeszcze drobna kwestia techniczna – jak ten bezprzewodowy Internet z oficyny przenieść do zamku. Na szczęście oba budynki są połączone siecią kablową, więc szybko zestawiliśmy VLAN i stworzyliśmy sieć „transmisyjną”. Dzięki temu z każdego miejsca w zamku, nawet przez zamkową sieć Wi-Fi, mogliśmy podłączyć się do naszego routera z Cyfrowym Polsatem, a jednocześnie Wy nie mogliście tego zrobić i świadomie bądź nie popsuć nam plany ;) Po drodze jednak ujawnił się problem, którego nie przewidzieliśmy – skrętka łącząca obie lokalizacje była tak długa, prawdopodobnie około 100-metrowa, że parametry sieci były bardzo kiepskie. W zamku pobieraliśmy już tylko z prędkością 2-3 Mbit/s, podobnie z wysyłaniem. To musiało nam wystarczyć, i tak było to więcej, niż pierwotnie zakładaliśmy.

Jak nagrywać, jak przetwarzać?

Internet to oczywiście nie wszystko. Muszę jednak zdradzić, że od początku dość sceptycznie podchodziliśmy do tematu transmisji – stąd nie komunikowaliśmy jej wcześniej, aby nie zapeszyć. Obawialiśmy się, że połączenie internetowe nie będzie pozwalało na jej przeprowadzenie. Gdy zobaczyliśmy, że jednak to się może udać, zaczęliśmy naprędce kompletować sprzęt będąc już na miejscu. Tymczasem podłączenie do desktopa (nie mówiąc o notebooku) profesjonalnych, dużych kamer, na przykład takich jakimi nagrywaliśmy sesje, jest nie lada wyczynem. Potrzebne są tu specjalne karty rozszerzeń oraz kable.

Ostatecznie transmisję zorganizowaliśmy w oparciu o dwie kamery USB nagrywające obraz w 720p – jak na możliwości naszego połączenia internetowego, były w sam raz. Streamingu HD zdecydowaliśmy się jednak nie udostępniać, aby nie kusić losu ;) Stacją enkodującą z kolei był notebook z procesorem Intel Core i5 i 4 GB pamięci RAM. Okazało się, że to wystarczyło w zupełności do produkcji jednego streamu. Jedynym problemem, na szczęście niegroźnym, okazała się przepustowość magistrali USB, która została wystawiona na ciężką próbę przy dwóch kamerach przesyłających obraz w HD. Skończyło się jednak tylko na systemowych ostrzeżeniach, nic się nigdy nie przycięło. Plusem takiego może trochę prowizorycznego studia była także jego mobilność – wystarczył stolik i mogliśmy organizować transmisję z dowolnego miejsca, gdzie mieliśmy dostęp do sieci. Niestety zamkowe Wi-Fi się do tego nie nadawało – było zbyt przeciążone, musieliśmy dysponować kablem. Nie przeszkodziło nam to jednak w rozpoczęciu streamingu od rejestracji, która odbywała się na zewnątrz, przed zamkiem.

Expression Encoder i IIS Media Services w akcji

Jeśli ktoś śledził nasze publikacje albo był na przynajmniej jednym z HotZlotów, na pewno wie, że nasza infrastruktura obsługująca portal dobreprogramy i wszystkie towarzyszące mu usługi działa w oparciu o rozwiązania Windows Server System. Jedynymi wyjątkami od tej reguły są linuksowe routery Vyatta, które pracują u nas na brzegach i w szkielecie sieci – tak naprawdę jednak trudno tu mówić o wyjątku, Microsoft generalnie nie produkuje routerów, więc dużego wyboru nie było ;) Rozwiązania te są tak naprawdę mocno niezależne.

Skoro wszystko działa na Windows, nie inaczej musiało być w przypadku transmisji. W tym czujemy się najlepiej, w tym mamy już spore doświadczenie, mieliśmy więc przekonanie, że właśnie wykorzystując IIS Media Services uda nam się całą operację przeprowadzić szybko, sprawnie i, co najważniejsze, bezboleśnie. Do pracy po stronie zamku zatrudniliśmy Expression Encoder Pro, narzędzie Microsoftu, które przechwytuje obraz z podłączonych kamer, w miarę potrzeby poddaje go stosownej obróbce i wysyła albo bezpośrednio do oglądających transmisję klientów, albo do dalszych serwerów pośredniczących. Expression „złapał” kamerki USB bez najmniejszych problemów i całą transmisję zestawiliśmy dosłownie w ciągu kilku minut.

Po drodze eksperymentowaliśmy jeszcze trochę z optymalnymi dla naszego łącza ustawieniami bitrate’u. Domyślnie Encoder produkuje kilka wersji streamingu (np. SD, HD, „lepsze” HD itp.), ale w naszym przypadku było to raczej bezcelowe, a poza tym przy tylu wariantach nasza superstacja transmisyjna w postaci wspominanego notebooka zaczęła się trochę przycinać ;) Przy jednym streamie nie było najmniejszych problemów.

Oczywiście nie mogliśmy polegać tylko na Encoderze do obsługi całej transmisji – przecież gdybyście wszyscy podłączyli się bezpośrednio do źródła w zamku, to z dwóch megabitów niewiele by zostało... Skorzystaliśmy naturalnie z naszej infrastruktury zlokalizowanej w Warszawie, aby tam odebrać od Encodera prywatny streaming wysyłany wąskim, bezprzewodowym łączem i upublicznić go już na bardzo szerokich wodach Internetu. Od tej strony za transmisję odpowiadały serwery webowe IIS z zainstalowanym rozszerzeniem IIS Media Services. Usługa odpowiedzialna konkretnie za transmisję nosi nazwę Live Smooth Streaming.

Tak naprawdę całość była jeszcze bardziej skomplikowana. Spodziewaliśmy się bowiem dużego zainteresowania, które później okazało się zresztą faktem - o czym za chwilę, i dodaliśmy jeszcze jeden poziom abstrakcji do całej tej operacji. Pierwszy serwer, nazwijmy go „pośredniczącym”, odbierał transmisję i wysyłał ją do kolejnych serwerów, już „dostarczających” streaming do użytkowników końcowych. Dzięki temu mogliśmy rozłożyć obciążenie wynikające z serwowania transmisji równomiernie na kilka serwerów. Teoretycznie taka konfiguracja daje także korzyści w postaci redundancji, ale gdy mamy jedno źródło transmisji, na dodatek na łączu bezprzewodowym, trudno mówić o jakiejkolwiek redundancji. Wszystko to i tak było tylko eksperymentem, który jednak udał się w 100% :)

Ale jak to obejrzeć?

Dobre pytanie :) Ten element budził chyba najwięcej kontrowersji. W związku z tym, że korzystaliśmy z rozwiązań Microsoftu, rozwiązaniem najprostszym – i jedynym możliwym do zastosowania w warunkach HotZlotu – było osadzenie na stronie kontrolki Silverlight, która umożliwiała odtworzenie streamingu. Wielu z Was zarzucało nam, że to mocno ograniczające rozwiązanie – najgłośniej odzywali się użytkownicy Linuksa ;) Tak naprawdę jednak nie jestem do końca przekonany, czy faktycznie było aż tak źle. Na Windows i Makach wystarczyło sobie zainstalować plugin, a jeśli ktoś oglądał wcześniej wideo na Onecie czy TVN Player (czy szeregu innych witryn na świecie), to jest spora szansa, że owy plugin już posiadał. Na Linuksie z kolei niby nie ma oficjalnego pluginu, ale użytkownicy Linuksa znani są raczej z ponadprzeciętnej wiedzy na tematy związane z IT ;) Stąd komentarze w newsie o transmisji płynące także z tego systemu, że udało się streaming odpalić.

Nie każdy wie też, że naszą transmisję bez problemu można było oglądać na urządzeniach przenośnych Apple. Silverlighta tam co prawda nie ma, ale było to możliwe dzięki obsłudze iOS, jaką oferuje IIS Media Services. Udostępnienie streamingu dla urządzeń Apple nic nie kosztuje i jest banalnie proste, wystarczy włączyć jedną opcję w ustawieniach serwera, naturalnie pamiętając o tym, by źródłowy streaming był dostępny w formacie (i bitracie) obsługiwanym przez Apple, czyli H.264. Alternatywnie można w Expression Encoderze przygotować i wypychać oddzielną wersję streamingu specjalnie dla urządzeń Apple – potrzebna jest do tego jednak dodatkowa moc obliczeniowa, tak jak na każdy kolejny wariant transmisji. My robiliśmy wszystko za jednym zamachem.

Realizując podobne działania w przyszłości, a mamy już na to chrapkę, tyle że ze znacznie większym rozmachem, na pewno będziemy starać się zachować maksymalną neutralność pod względem platformy wymaganej po stronie użytkownika końcowego :) Zanim to jednak nastąpi, dziękujemy Cyfrowemu Polsatowi za udostępnienie na czas HotZlotu potrzebnego sprzętu i nielimitowanego konta, na którym aktywowana była nasza transmisyjna karta SIM. Łącze to nie nawaliło ani razu, przez cały czas mieliśmy do dyspozycji stabilne 2-3 Mbit/s, które umożliwiły pomyślne przeprowadzenie transmisji. Myślę, że cała operacja zakończyła się sporym sukcesem ;) Dość wspomnieć, że łącznie pierwszego i drugiego dnia nasz streaming z HotZlotu oglądało kilkanaście tysięcy osób.

Jeśli macie jakieś bardziej szczegółowe pytania, chętnie odpowiem w komentarzach :) 

internet serwery

Komentarze

0 nowych
underface   14 #1 01.10.2012 23:11

hehe - jak Docent to opowiadał na programie rozszerzonym to takie skomplikowane się to nie wydawało - od kilkadziesiąt kliknięć myszą;p
a co do "Udostępnienie streamingu dla urządzeń Apple nic nie kosztuje" to aż dziw, że Apple nie inkasuje za taką funkcjonalność kilku(set) dolarów;p - odnosząc się do dzisiejszego newsa o gwarancji na urządzenia tej firmy.

wracając do tematu - ile (jeśli macie takie staty) GB podczas HZ wysłaliście łączem cyfrowego polsatu i jaki był koszt końcowy tej "imprezy" ?

Docent REDAKCJA  13 #2 01.10.2012 23:15

@underface:
Przyznam że takich statystyk nie mamy. Policzmy jednak "na oko". Streaming w jakości SD, ramka 640x480px o bitrate 768 kbit/s plus audio (grosze). Zaokrąglijmy to do jednego megabita. No to w minutę wysyłamy ok. 7,5 MB, w godzinę ok. 450 MB :) Tym łączem obsługiwaliśmy też VPN i Remote Desktop do naszych serwerów w Warszawie, ale sądze że to też groszowe sprawy. Summa summarum przez trzy dni (plus wcześniejsze testy) mogliśmy wysłać jakieś 30 GB (transmisja była online także w nocy).

Kpc21   9 #3 01.10.2012 23:20

Tego bym się nie spodziewał :) Streaming po LTE.

Ile Polsat skasował was za transfer danych (raczej przekroczyliście wszelkie możliwe limity)? A może potraktowali to jako darmową reklamę i nie kazali płacić nic?

Docent REDAKCJA  13 #4 01.10.2012 23:26

@Kpc21:
Tak jak pisałem w tekście, nawiązaliśmy na tę okoliczność specjalną współpracę :) Takie ilości danych chyba nie przeszłyby koło nosa w przypadku standardowej umowy. Być może zostalibyśmy potraktowani jako heavy user i przycięci ;) Poza tym z tego co pamiętam, dopiero po drugim miesiącu można wyjść poza ramy pakietu zawartego w abonamencie i później dopłacić za nadwyżkę, wcześniej obowiązują zasady prepaid.

Over   9 #5 02.10.2012 00:00

Pamiętam jak poprzez Wi-Fi nie dało się z internetu normalnie korzystać ale w pokoju po kablu dało się radio internetowe odbierać i to w zasadzie na tyle.. a FB i inne serwisy, szły jak krew z nosa ale internet był w tym momęcie nie tak ważny jak, HZ także olałem ten temat integrując się :)
Ale fajnie Docent że poruszyłeś ten temat :)

Autor edytował komentarz.
djDziadek   16 #6 02.10.2012 00:03

Fakt, net chodził jak ślimak, jednak atmosfera i towarzystwo było ważniejsze niż jakieś tam łącze.
Będąc na miejscu, nie miałem potrzeby testowania streamingu :) - może i lepiej, nie obciążałem dodatkowo waszych (DP) serwerów :)

Autor edytował komentarz.
Docent REDAKCJA  13 #7 02.10.2012 00:05

Dlatego musieliśmy szukac alternatyw i zdecydowaliśmy się przetestować LTE. Na łączu zamkowym na pewno byśmy transmisji nie przeprowadzili, chyba że wyłączając Wam dostęp do Internetu całkowicie na czas zlotu - a właściwie to nawet wtedy nie byłbym tego taki pewien...

Over   9 #8 02.10.2012 00:09

@Docent
W zasadzie podczas zlotu wiele nie przeczytałem informacji z internetu bo nie było jak, więc nie miałbym tego za złe gdybyś internetu nas pozbawił, bo i tak bawiliśmy się świetnie w naszym zlotowym towarzystwie :) (bez internetu) :)
Internet jako tako działał ale moja cierpliwość na wczytanie się strony kończyła się po średnio 2 minutach także sobie odpuściłem...
Ale HZ jak najbardziej udany i internet w naszej społeczności nie ma wiele do gadania :)

Autor edytował komentarz.
Shaki81 MODERATOR BLOGA  37 #9 02.10.2012 00:26

@Docent - jak opowiadałeś o tym na HotZlocie to wydawało się prostsze :) Przy okazji HZ Cyfrowy Polsat dostał darmową reklamę i dobrą recenzję dla swoich usług.

lubicz   4 #10 02.10.2012 08:06

@Docent
"...przy udziale 160 geeków". - przyganiał kocioł garnkowi :D.

BePaluszek   1 #11 02.10.2012 08:13

Świetnie, że to opisałeś na blogu. Pamiętam, że bardzo mnie zaciekawiły te techniczne niuanse a teraz podałeś nam to na tacy. Choć zauważyłem mały błąd w tym co napisałeś a mianowicie:

"bo jaki był internet w Zamku, wszyscy wiemy – dość kiepski, szczególnie przy udziale 160 geeków ;)"

a plus cała redakcja geeków to sie nie liczy? :)

Banan   10 #12 02.10.2012 08:26

Streaming po LTE - BRAWO!

Ja i tak nie zapomnę początku transmisji jak były problemy z dźwiękiem, i jak Docent mi pomachał http://banan.hapex.com.pl/123.png =P

GL1zdA   11 #13 02.10.2012 08:51

Ładne zbliżenie okien pokoju, w którym mieszkałem na HZ ;)

Semtex   17 #14 02.10.2012 12:25

@Docent
Dobry dobór fotki http://gallery.dpcdn.pl/img/-/-x-/-/-/-/UGC/36520/20121001184546_0.jpg :D
Aż by się chciało na Zlot wrócić :)

Ave5   8 #15 02.10.2012 14:31

Bardzo ciekawy wpis, z taką rozpiską cała operacja wygląda na wykonalną nawet dla mnie :)

Szuri21   16 #16 02.10.2012 15:28

Genialna sprawa! Fajny wpis, ale i tak nic nie zastąpi Docenta opowiadającego o tym na żywo na HZ.

Axles   16 #17 02.10.2012 18:36

To jest dobre jak Docent opowiada to wydaje się to proste jak konstrukcja cepa, lecz po artykule dopiero wychodzi jakie to są przygotowania i wiedza potrzebne by plan zadziałał. W każdym razie szacunek za takie przygotowania by zainteresowane osoby mogły śledzić zlot z własnego zacisza (a nasze kobiety mogły nas kontrolować :P )

djfoxer   17 #18 02.10.2012 19:22

Miły tekst, uzupełnienie "wykładu" z HotZlotu :)
Jak się ma sprawa z IIS Media Services i Windows Server 2012? Jakoś nic nie ma w Technet (ha ha ha:P) o symbiozie tych dwóch. Poza tym dzięki "Enable output to Apple mobile digital devices" można również odbierać strumień na urządzeniach Windows Phone :D

command-dos   17 #19 02.10.2012 20:50

@semtex - chodzi Ci o tego samsunga, hę? ;)

przemor25   14 #20 03.10.2012 09:35

Mnie ratował tylko własny Internet (:

lex_iuris   10 #21 03.10.2012 11:34

@Axles
Dokładnie :)

Mam nadzieję że wszystkiego nie nagrywaliście :D

Docent REDAKCJA  13 #22 03.10.2012 12:11

@lex_iuris:
Dowiesz się przy wysyłaniu zaproszeń na następny zlot :P ;)

Wolfgar   7 #23 03.10.2012 12:59

A mi się obiło o uszy, że nadajnik/odbiornik to jakaś specjalna antena na środku pola niczym http://www.radary.az.pl/gallery_radars_pl/radar01.jpg ;) specjalnie zamontowana na tą okazje. A ile wat miała owa antenka? Może powinni zacząć produkować stacje o mocy telefonów morskich gdzie aż "włosy jeży" przy sygnale.

  #24 03.10.2012 16:05

Mości Docencie.
Silverlight bo korzystaliście z rozwiązań Microsoftu? To na drugi raz proponuję z nich nie korzystać, bo związania (rozwiązaniami bym tego nie nazwał) Microsoftu zawsze komuś wychodzą bokiem. Proponuję korzystać w zamian z wolnego oprogramowania.
Nie. Użytkownicy _GNU/Linux_ (nie mówi się użytkownicy Linuksa, bo na ten przykład co z tego, że jestem użytkownikiem GNU coreutils, albo użytkownikiem KDE, to nie definiuje systemu) niekoniecznie mają ponadprzeciętną wiedzę z zakresu informatyki. Ja, użytkownik GNU/Linux Fedora, mam na przykład mizerną wiedzę na temat informatyki i nie umiem sobie poradzić z głupimi niewolnymi technologiami, które propagujecie, i, przykład Silverlighta pokazuje, wpychacie na chama innym. Może i można było uruchomić strumieniowanie tej transmisji, ale kosztem instalacji nie w pełni wolnego _i już nierozwijanego, wobec czego niewiadomego bezpieczeństwa,_ Moonlighta. Poza tym chyba nie ma możliwości uporania się z niewolną syfską technologią Microsoftu. Żeby korzystać z czegokolwiek od tej firmy, trzeba być ubabranym niewolnym oprogramowaniem po pachy, inaczej jest tak, jak mówi powiedzenie: "rzekł dziad do obrazu, a obraz do niego ani razu". Z technologią Microsoftu nie ma w praktyce interakcji poza Windowsem. Poza tym wyjściową postawą jest uznanie, że przede wszystkim ktoś chciałby używać tylko wolnego oprogramowania. Ludzie, którzy używają niewolnego oprogramowania, mają w rzyci, czego używają, czy wolnego, czy niewolnego, dlatego niewolne oprogramowanie to dodatek, zaś wolne - podstawa. Najpierw zakłada się, że ktoś nie toleruje niewolnych technologii i pod to założenie projektuje przedsięwzięcia, których celem jest publiczność.

Shaki81 MODERATOR BLOGA  37 #25 04.10.2012 07:53

Drogi wielmożny Panie Łukaszu (niezalogowany)
A kto Ci każde korzystać ze strony DP (niewolników MS - jak sam twierdzisz), nie podoba ci się takie rozwiązanie? To zabieraj swoje zabawki i won na swoje podwórko, a nie przychodzisz tu i gadasz cokolwiek oby gadać. Bez składu i najmniejszego sensu.

Autor edytował komentarz.
skrzypek   12 #26 05.10.2012 07:39

Zdecydowanie prościej słuchało się na sali konferencyjnej jak to działa :D

Kot-ek   9 #27 07.10.2012 23:09

A kiedy zapis offline sesji? Czekam(y)... :D

MATriX335   2 #28 08.10.2012 09:53

Czy dobrze rozpoznałem, że serwery które pośredniczyły w streamingu stoją na Windowsie 2003?
Przed przeczytaniem tego wpisu nie przypuszczałem nawet, że wasze serwery stoją na Windowsie a nie Linuksie.
Fajnie było by przeczytać też jakiś wpis na temat Waszej całej infrastruktury serwerowej.