EVIO 2840C Przygotowanie infrastruktury dla aplikacji IPTV w wersji IP-lite Autor : G.Pawłowski Wersja : 1.2 Data : 19 listopad 2012 Dokument zawiera informacje poufne. Odbiorca dokumentu potwierdza, iż informacje w nim zawarte będą traktowane z uwagę i zostaną zachowane wyłącznie do jego wiadomości. Kopiowanie, reprodukcja całości lub części materiału wymaga zgody firmy EVIO sp. z o.o.
Spis treści EVIO 2840C... 1 1. Wstęp... 3 2. Architektura systemu IP lite... 4 3. Proces uruchamiania dekodera typu IP lite... 5 4. Konfiguracja serwera DHCP... 6 5. Zarządzanie danymi list kanałów, EPG... 7 6. Aktualizacja oprogramowania dekodera... 11 Architektura systemu EVIO IP-Lite 2
1. Wstęp Dokument przedstawia architekturę rozwiązania IP-lite wraz z opisem zmian koniecznych do jego zastosowania w sieci operatora. Rozwiązanie to opiera się na przeniesieniu części zadań należących zazwyczaj do oprogramowania typu middleware do aplikacji dekodera (jak np. autoryzacja, ustalenie listy kanałów/pakietów dostępnych dla użytkownika), która we współpracy z danymi pozyskanymi z serwera DHCP umożliwia poprawne i upoważnione uruchomienie dekodera w sieci operatora. Prostota korzystania wymaga jednak poświęcenia uwagi podczas konfiguracji środowiska, a zwłaszcza serwera DHCP, gdyż jest on kluczowym elementem, który przekazuje odpowiednie parametry do uruchomienia dekodera (w przypadku rozbudowanego systemu pakietów oraz infrastruktury sieciowej, może to oznaczać, iż każdy dekoder będzie posiadał własną konfigurację). W dalszej części przedstawione zostaną ogólne opisy funkcjonowania systemu i jego wymagań oraz szczegółowo niezbędne dane konfiguracyjne. Architektura systemu EVIO IP-Lite 3
2. Architektura systemu IP-lite Autoryzacja, wskazanie źródła PSI, EPG, itp. Serwer DHCP Sieć IP (serwisy A/V) Opcja DHCP nr. 224 Lista kanałów - multicast Dane EPG - multicast STB Opcja DHCP nr. 42 NTP informacje o czasie Odbiornik TV Wszelkie dane transmitowane w sieci IP i wykorzystywane przez dekoder opierają się na protokole multicast, sieć operatora powinna więc zapewnić, że dane mogą być poprawnie dostarczone od źródła sygnału (stacji czołowej, głównego serwera) do punktów końcowych gdzie podłączone są dekodery. Dane kanałów (A/V) to transmisje SPTS (Single Program Transport Stream) czyli zawierające wyłącznie pojedynczy serwis wraz z jego informacjami dodatkowymi (napisy, teletext, wiele ścieżek językowych) o ile są one dostępne. Listy kanałów prezentowane są z wykorzystaniem własnościowego formatu firmy ADB i zawierają m.in. następujące informacje : adresy grup multicastowych na jakich nadawane są poszczególne serwisy status serwisu (działający, zablokowane) o kodowaniu (lub nie) serwisu dostępności danych EPG Dane EPG to z kolei transmisja tablic DVB EIT jako pojedynczego PID (=0x12). Architektura systemu EVIO IP-Lite 4
3. Proces uruchamiania dekodera typu IP-lite Jak wspominano powyżej najważniejszym krokiem podczas uruchamiania dekodera z aplikacja typu IP-lite, jest odczyt parametrów przekazanych z serwera DHCP i ich przetworzenie. Całość działań od momentu podłączenia dekodera do zasilania można przedstawić jako: 1) Uruchomienie systemu operacyjnego dekodera uruchamianie i podstawowa diagnostyka sterowników, w tym warstwy sieciowej 2) Wysłanie żądania DHCP, oczekiwanie na odpowiedź serwera 3) Przetworzenie otrzymanych odpowiedzi, w tym: a. odczyt adresu multicast gdzie nadawane są dane opisujące dostępne serwisy b. odczyt adresu multicast z transmisją danych EPG c. odczyt adresu serwera czasu - NTP 4) Połączenie z serwerem czasu, pozyskanie aktualnej konfiguracji i jej zastosowanie 5) Połączenie z danymi listy kanałów i ich wprowadzenie jako bieżących dla dekodera 6) Połączenie z danymi EPG i uruchomienie procesu ich gromadzenia dla dostępnych kanałów 7) Rozpoczęcie odtwarzania pierwszego serwisu dostępnego na liście kanałów Głównym etapem na którym odbywa się autoryzacja dekodera to kroki 2) oraz 3), jeżeli po stronie operatora (na serwerze DHCP) przypisane zostaną odpowiednie ustawienia dla wybranego dekodera (jego adresu MAC), to będzie on w stanie zidentyfikować oraz zastosować dedykowane dla niego parametry. W przypadku braku odpowiedzi (np. po usunięciu wpisu na serwerze DHCP) lub podaniu niewłaściwych parametrów dekoder wyświetli stosowną informację o braku autoryzacji lub błędu odczytu danych. Architektura systemu EVIO IP-Lite 5
4. Konfiguracja serwera DHCP Podstawowymi informacjami niezbędnymi do uruchomienia dekodera są dane opisujące dostępne serwisy, czyli listy kanałów oraz dane czasu. Informacje EPG traktowane są jako dodatkowe. Dane te przekazywane są za pomocą opcji DHCP (więcej szczegółów można znaleźć np. http://www.iana.org/assignments/bootp-dhcp-parameters/bootp-dhcpparameters.xml) zarówno standardowych jak i przeznaczonych do użytku prywatnego. 4.1 Konfiguracja serwera czasu - NTP Wykorzystywana jest opcja DHCP nr.42 - NTP Server Addresses. Dane przedstawione są jako binarny zapis kolejnych bajtów adresu IP, np.: option ntp-servers 192.168.1.200; 4.2 Konfiguracja danych listy kanałów oraz EPG Do tego celu służy prywatna opcja DHCP nr.224. Jej struktura ciąg znaków zawierający kolejno: adres_mcast_listy_kanałów:adres_portu;identyfikator_listy_kanałów;adres_mcast_ epg:port; np.: 230.100.100.1:3000;4000;230.100.100.10:2000 czyli konfiguracja wygląda następująco: option channel-list-and-epg code 224 = string; option channel-list-and-epg 230.100.100.1:3000;4000;230.100.100.10:2000 Pole identyfikator_listy_kanałów przydzielane jest w porozumieniu z EVIO podczas uruchamiania systemu. Architektura systemu EVIO IP-Lite 6
5. Zarządzanie danymi list kanałów, EPG O ile wprowadzenie transmisji z danymi do infrastruktury sieciowej leży po stronie operatora (wiąże się z tym przydzielenie odpowiednych adresów multicast, konfiguracja urządzeń typu switch/router), to za przygotowanie danych opisujących listy kanałów odpowiedzialne jest EVIO. Jak wspomniano wcześniej dane te zawarte są we własnościowym formacie, a do ich generowania służą dedykowane narzędzia. Utworzone dane mogą zostać przekazane operatorowi jako plik który należy wprowadzić do swojej sieci. Innym rozwiązaniem jest połączenie sieci operatora z siecią EVIO i bezpośrednia transmisja multicast na żądanym adresie. W przypadku EPG operator również może skorzystać z usług EVIO i odebrać je jako multicast (wraz z gwarancją zapewnienia spójności z listą kanałów), lub wykorzystać własne środki (odbiór z satelity, plików od dystrybutora opisów) i przekazać tak pozyskane dane do sieci IP. 5.1 Struktura danych listy kanałów Do przygotowania listy kanałów wymagane są następujące parametry opisujące sieć operatora: a) Nazwa kanału b) Adres multicast oraz port transmisji każdego z kanałów c) Identyfikator ONID Original Network ID sieci operatora d) Identyfikator TSID Transport Stream ID dla każdego z kanałów e) Identyfikator SID Service ID poszczególnych kanałow Np. TVP1; 230.1.1.1:1000; 1; 101; 101 TVP2; 230.1.1.2:1000; 1; 102; 102 Jeżeli wykorzystywane środowisko nie pozwala na odczyt tego typu danych, można też przekazać dla specjalistów EVIO zarejestrowane dane poszczególnych serwisów (czyli nagranie transmisji multicast) o czasie trwania co najmniej 1 minuta. Architektura systemu EVIO IP-Lite 7
5.2 Metody odczytania parametrów serwisów W celu uzyskania informacji o parametrach poszczególnych serwisów można posłużyć się narzędziem TSReader - http://www.tsreader.com/tsreader/index.html (wystarczająca jest wersja Lite). Przed skorzystaniem z programu, należy upewnić się, że komputer na którym on pracuje podłączony jest do sieci w której nadawane są serwisy TV, które mają zostać sprawdzone. Bezpośrednio po pierwszym uruchomieniu należy określić jaki typ sygnału ma być domyślnie obsługiwany przez program należy wskazać opcję UDPMulticast (można to zmienić korzystając z opcji [FILE]->[SELECT SOURCE]): Po tej wstępnej konfiguracji, dalsze kroki przebiegają następująco: 1) Należy podać adres serwisu do analizy (adres IP multicast i port IP): Pole Interface Address to adres IP, z którego korzysta komputer w sieci gdzie dostępne są serwisy. Architektura systemu EVIO IP-Lite 8
2) Po chwili, jeżeli dane zostały podane poprawnie oraz serwis jest dostępny, pokażą się informacje o jego strukturze i czasem podgląd video (dla kanałów SD): Informacje potrzebne do przygotowania listy kanałów to TSID (Transport Stream ID) oraz SID (Service ID), które można odczytać w części prezentującej dane SDT, po wybraniu serwisu (parametry pokażą się w środkowym okienku), na pozycjach: a) Transport Stream ID na przykładzie jest to : 1(0x0001) b) Channel (czyli SID) na przykładzie : 120 Innym sposobem zebrania parametrów serwisu, jest najpierw nagranie strumienia IP, a następnie skorzystanie z narzędzi dedykowanych do analizy DVB, jednym z nich jest DVBinspektor - http://www.digitalekabeltelevisie.nl/dvb_inspector/. Program jest intuicyjny w obsłudze, opis korzystania jest zawarty na stronie WWW. 5.3 Sposoby transmisji plików z listą kanałów W przypadku kiedy operator zdecyduje się na przekazywanie listy kanałów w postaci pliku i następnie jego transmisję we własnej sieci, powinien posiadać stosowne narzędzia które to umożliwią czyli pozwolą na transmisję pliku jako multicast, z określoną prędkością (bitrate) oraz w sposób ciągły (tzw.loop, pętla). Do tego celu możemy polecić pakiet narzędzi OpenCaster (Avalpa Digital Engineering Srl.), dostępny pod adresem : http://www.avalpa.com/the-key-values. Pakiet dedykowany jest do pracy w środowisku Linux/Unix i zawiera (katalog tools ) sporo niewielkich programów użytkowych które można łączyć aby osiągnąć żądany efekt (rzecz jasna przed wykorzystaniem należy przeprowadzić kompilację wybranych narzędzi). Architektura systemu EVIO IP-Lite 9
W celu umożliwienia transmisji pliku listy kanałów należy skorzystać z programów: o tsloop zapewnia ciągłe wysyłanie pliku (tworzy pętlę) oraz dokonuje poprawek continuity counters w razie potrzeby o tsudpsend transmituje dane wejściowe do podanego adresu unicast/multicast z zadanym bitrate Kolejne polecenia wymagane do rozpoczęcia transmisji to: a) Utworzenie pseudo-pliku jako punktu wymiany danych pomiędzy narzędziami: admin# mkfifo presetfifo b) Przygotowanie do nadawania w pętli (wraz z korekcją continuity_counter) ważne jest umieszczenie procesu w tle czyli & na końcu, spowoduje to uruchomienie zadania i jego zawieszenie do momentu kiedy zacznie działać drugie narzędzie odczytujące dane z pseudo-pliku: admin#./tsloop IPTV_CHANNEL_PRESET.ts > presetfifo & c) Odczyt danych z pseudo-pliku i wysłanie ich jako multicast: admin#./tsudpsend presetfifo 230.100.100.1 5555 16384 Do kontroli transmisji można skorzystać z kolei z programu tsudpreceive, pozwoli on na odbiór i nagranie transmisji multicast, np.: admin#./tsudpreceive 230.100.100.1 8000 > recorded_ts2.ts Architektura systemu EVIO IP-Lite 10
6. Aktualizacja oprogramowania dekodera Wymiana oprogramowania dla dekodera odbywa się tą samą drogą co dostarczenie serwisów TV, czyli jako transmisja multicast. Aby dekoder potrafił rozpoznać dostępność nowego oprogramowania na liście kanałów dodawany jest dodatkowy serwis (niewidoczny na liście prezentowanej dla użytkownika) zawierający tzw. sygnalizację aktualizacji. Użytkownik może w dowolnym momencie sprawdzić dostępność nowej wersji: opcja menu [INSTALACJA]->[AKTUALIZACJA DEKODERA]). Niezależnie od tego dekoder automatycznie przeprowadza takie sprawdzenie po podłączeniu zasilania (po zakończeniu autoryzacji), oraz po przejściu w tryb uśpienia. Oprócz sygnalizacji, należy również zapewnić dostępność danych zawierających oprogramowanie, do czego służy produkt firmy ADB : ldr7caster dedykowany dla systemu Windows. Po uruchomieniu pozwala on na podanie parametrów gdzie należy rozpocząć nadawania oraz wybranie pliku z aktualizacją. Kliknięcie w przycisk [START] rozpoczyna transmisję danych: W przypadku połączenia sieci operatora z EVIO-CDN, dane te dostarczane są razem z serwisami TV, nie ma więc potrzeby przygotowywania własnego stanowiska nadawczego. Architektura systemu EVIO IP-Lite 11