Vysok´ aˇ skola ekonomick´ a v Praze Fakulta informatiky a statistiky Katedra informaˇ cn´ıch technologi´ı
T´ema diplomov´e pr´ace
Vyuˇ zit´ı IPTV v univerzitn´ı s´ıti IPTV use in academic network
Autor pr´ace:
Bc. Kamil Jireˇ s
Studijn´ı program:
Aplikovan´ a informatika
Obor:
Informaˇ cn´ı syst´ emy a technologie
Vedouc´ı bakal´aˇrsk´e pr´ace:
Ing. Luboˇ s Pavl´ıˇ cek
Oponent:
Ing. Jiˇ r´ı Beneˇ s
Rok vypracov´an´ı:
2010
Prohl´ aˇ sen´ı
Prohlaˇsuji, ˇze jsem diplomovou pr´aci zpracoval samostatnˇe a ˇze jsem uvedl vˇsechny pouˇzit´e prameny a literaturu, ze kter´ ych jsem ˇcerpal.
V Praze dne 15. prosince 2010 ........................... Kamil Jireˇs
Podˇ ekov´ an´ı
Na tomto m´ıstˇe bych r´ad podˇekoval Ing. Luboˇsi Pavl´ıˇckovi jakoˇzto vedouc´ımu diplomov´e pr´ace za cenn´e a vˇecn´e pˇripom´ınky v pr˚ ubˇehu psan´ı.
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
Obsah ´ Uvod
1
1 Teoretick´ a v´ ychodiska
3
1.1
Definice z´akladn´ıch pojm˚ u . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.1.1
IPTV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.1.1.1
TV - Television . . . . . . . . . . . . . . . . . . . . . .
4
Akademick´a s´ıt’ . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
Z´akladn´ı prvky syst´emu . . . . . . . . . . . . . . . . . . . . . . . . . .
4
1.2.1
Zdroj audio/video sign´alu . . . . . . . . . . . . . . . . . . . . .
5
1.2.1.1
Podm´ınˇen´ y pˇr´ıstup . . . . . . . . . . . . . . . . . . . .
6
1.2.1.2
Digitalizace . . . . . . . . . . . . . . . . . . . . . . . .
7
1.2.1.3
Komprese pˇren´aˇsen´ ych dat . . . . . . . . . . . . . . .
8
1.2.1.4
Multiplex . . . . . . . . . . . . . . . . . . . . . . . . .
9
1.2.2
Zpracov´an´ı pro potˇreby distribuce . . . . . . . . . . . . . . . . .
9
1.2.3
Distribuce smˇerem k uˇzivatel˚ um . . . . . . . . . . . . . . . . . .
10
1.2.3.1
Unicast . . . . . . . . . . . . . . . . . . . . . . . . . .
13
1.2.3.2
Multicast . . . . . . . . . . . . . . . . . . . . . . . . .
13
Zobrazen´ı na stranˇe uˇzivatele . . . . . . . . . . . . . . . . . . .
14
1.2.4.1
Softwarov´e zpracov´an´ı . . . . . . . . . . . . . . . . . .
14
1.2.4.2
Set-top-box . . . . . . . . . . . . . . . . . . . . . . . .
15
Protokoly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
1.3.1
IP - Internet Protocol . . . . . . . . . . . . . . . . . . . . . . .
16
1.3.2
RTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
1.3.3
RTSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
1.3.4
SAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
1.3.5
IGMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
1.3.6
PIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
Kvalita distribuce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
1.1.2 1.2
1.2.4
1.3
1.4
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
2 Architektura ˇ reˇ sen´ı
24
2.1
Zdroj sign´alu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
2.2
Svod sign´alu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
2.3
Zpracov´an´ı sign´alu . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
2.4
Doruˇcen´ı k uˇzivatel˚ um . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
3 Volba SW/HW 3.1
Komponenty serveru . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
3.1.1
DVB-T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
3.1.1.1
Leadtek WinFast DVR 3100 H . . . . . . . . . . . . .
31
3.1.1.2
MSI DIGI VOX mini II . . . . . . . . . . . . . . . . .
32
DVB-S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
3.1.2.1
Technisat SkyStar2 . . . . . . . . . . . . . . . . . . . .
34
3.1.2.2
Technisat SkyStar2 HD . . . . . . . . . . . . . . . . .
34
Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
3.2.1
Operaˇcn´ı syst´em . . . . . . . . . . . . . . . . . . . . . . . . . .
35
3.2.1.1
Dostupn´e distribuce . . . . . . . . . . . . . . . . . . .
35
3.2.1.2
Zvolen´ y operaˇcn´ı syst´em . . . . . . . . . . . . . . . . .
38
3.2.1.3
Zabezpeˇcen´ı . . . . . . . . . . . . . . . . . . . . . . . .
38
Vys´ıl´an´ı obsahu . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
3.2.2.1
Dostupn´e programov´e vybaven´ı . . . . . . . . . . . . .
39
3.2.2.2
Volba multicastov´ ych adres . . . . . . . . . . . . . . .
43
3.2.2.3
Oznamov´an´ı vys´ılan´ ych televiz´ı . . . . . . . . . . . . .
43
Dohled a ˇreˇsen´ı v´ ypadk˚ u vys´ıl´an´ı . . . . . . . . . . . . . . . . .
43
3.2.3.1
Vys´ıl´an´ı . . . . . . . . . . . . . . . . . . . . . . . . . .
44
3.2.3.2
Syst´emov´e prostˇredky . . . . . . . . . . . . . . . . . .
44
Dek´odov´an´ı program˚ u . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
3.3.1
Virtu´aln´ı rozhran´ı . . . . . . . . . . . . . . . . . . . . . . . . . .
46
3.3.2
Zdroje kl´ıˇc˚ u pro dek´odov´an´ı . . . . . . . . . . . . . . . . . . . .
46
ˇ cka karet . . . . . . . . . . . . . . . . . . . . . . . Cteˇ
48
3.1.2
3.2
3.2.2
3.2.3
3.3
29
3.3.2.1
4 Realizace distribuce sign´ alu 4.1
49
Distribuce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
4.1.1
Sd´ılen´ı kl´ıˇc˚ u: newcs . . . . . . . . . . . . . . . . . . . . . . . . .
49
4.1.1.1
49
Staˇzen´ı a instalace . . . . . . . . . . . . . . . . . . . .
Kamil Jireˇs
4.1.1.2
Konfigurace . . . . . . . . . . . . . . . . . . . . . . . .
50
4.1.1.3
Spuˇstˇen´ı . . . . . . . . . . . . . . . . . . . . . . . . . .
52
Dek´odov´an´ı: sasc-ng . . . . . . . . . . . . . . . . . . . . . . . .
52
4.1.2.1
Staˇzen´ı a instalace . . . . . . . . . . . . . . . . . . . .
52
4.1.2.2
Konfigurace . . . . . . . . . . . . . . . . . . . . . . . .
53
4.1.2.3
Spuˇstˇen´ı . . . . . . . . . . . . . . . . . . . . . . . . . .
55
Podp˚ urn´e programy pro DVB: dvb-apps . . . . . . . . . . . . .
55
4.1.3.1
Staˇzen´ı a instalace . . . . . . . . . . . . . . . . . . . .
56
4.1.3.2
Konfigurace . . . . . . . . . . . . . . . . . . . . . . . .
56
4.1.3.3
Spuˇstˇen´ı . . . . . . . . . . . . . . . . . . . . . . . . . .
58
Vys´ıl´an´ı obsahu: mumudvb . . . . . . . . . . . . . . . . . . . . .
60
4.1.4.1
Staˇzen´ı a instalace . . . . . . . . . . . . . . . . . . . .
60
4.1.4.2
Konfigurace . . . . . . . . . . . . . . . . . . . . . . . .
60
4.1.4.3
Spuˇstˇen´ı . . . . . . . . . . . . . . . . . . . . . . . . . .
65
Zabezpeˇcen´ı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
66
4.2.1
Firewall: iptables, ip6tables . . . . . . . . . . . . . . . . . . . .
66
4.2.2
Vzd´alen´ y pˇr´ıstup: ssh . . . . . . . . . . . . . . . . . . . . . . . .
68
Ostatn´ı nastaven´ı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
69
4.3.1
Ramdisk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
69
Konfiguraˇcn´ı soubory . . . . . . . . . . . . . . . . . . . . . . . . . . . .
70
4.4.1
/etc/rc.d/rc.firewall . . . . . . . . . . . . . . . . . . . . . . . . .
70
4.4.2
/etc/rc.d/rc.ramdisk . . . . . . . . . . . . . . . . . . . . . . . .
72
4.4.3
/etc/ssh/sshd config . . . . . . . . . . . . . . . . . . . . . . . .
72
4.4.4
/usr/local/bin/runsasc . . . . . . . . . . . . . . . . . . . . . . .
73
4.4.5
dhcpd.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
75
4.4.6
amino.htm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
76
Parametry dostupn´ ych multiplex˚ u DVB-T . . . . . . . . . . . . . . . .
77
4.1.2
4.1.3
4.1.4
4.2
4.3
4.4
4.5
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
Z´ avˇ er
81
Terminologick´ y slovn´ık
83
Literatura
85
Seznam tabulek
88
Seznam obr´ azk˚ u
89
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
Abstrakt C´ılem pr´ace je nab´ıdnout ˇcten´aˇri ˇreˇsen´ı nasazen´ı IPTV s vyuˇzit´ım bezplatn´eho software. V r´amci pr´ace bude ˇcten´aˇr sezn´amen s teori´ı t´ ykaj´ıc´ı se IPTV, kter´a obn´aˇs´ı nezbytn´e ˇca´sti syst´emu, protokoly souvisej´ıc´ı s IPTV a moˇzn´e chyby, se kter´ ymi se m˚ uˇzeme v pr˚ ubˇehu provozov´an´ı IPTV setkat. Pr´ace je dˇelena do ˇctyˇrech ˇca´st´ı. V prvn´ı ˇc´asti je rozebr´ana teorie. V r´amci teorie se ˇcten´aˇr sezn´am´ı s definic´ı z´akladn´ıch pojm˚ u, se z´akladn´ımi prvky syst´emu, s protokoly pouˇz´ıvan´ ymi ve spojen´ı s IPTV a tak´e budou zm´ınˇeny chyby, kter´e mohou nastat bˇehem provozu IPTV sluˇzby. Ve druh´e ˇca´sti je nast´ınˇena architektura ˇreˇsen´ı, kde se ˇcten´aˇr m˚ uˇze sezn´amit s ˇreˇsen´ım, kter´e bylo realizov´ano v r´amci zkuˇsebn´ıho provozu. Tˇret´ı ˇca´st se zamˇeˇruje na volbu komponent (HW a SW), kter´e byly pouˇzity pro zkuˇsebn´ı provoz. Jsou zde zm´ınˇeny varianty, ze kter´ ych se jednotliv´e ˇc´asti vyb´ıraly. ˇ Ctvrt´ a ˇc´ast obsahuje samotnou realizaci, kde je pops´ano zprovoznˇen´ı jednotliv´ ych komponent. Na z´avˇer ˇctvrt´e ˇca´sti jsou vloˇzeny konfiguraˇcn´ı soubory, kter´e se daj´ı pouˇz´ıt v pˇr´ıpadˇe opakovan´e realizace ˇreˇsen´ı.
kl´ıˇ cov´ a slova IPTV, DVB, DVB-S, DVB-T, multicast, stream, server, set-top-box, mumudvb, sasc-ng, newcs
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
Abstract The purpose of this diploma thesis is to provide readers the deployment of IPTV solutions using free software. In this thesis the reader will familiarize with the theory of IPTV, which implies a necessary part of the system, IPTV related protocols and possible errors that can be when running the IPTV service. The work is divided into four parts. The first part discusses the theory. In theory, the reader familiarize with the definition of basic concepts, which are essential elements of the system, the protocols used in conjunction with IPTV and will also be discussed errors that may occur during operation of IPTV services. The second section outlines the architecture of which the reader can find a solution that was implemented in an experimental operation. The third section focuses on the choice of components (hardware and software) that were used in the test sytem. The variants are mentioned, from which the components were selected. The fourth section contains the actual implementation, which describes each components. At the end of the fourth part is inserted configuration files that can be used in case of repeated implementation of the solution.
Key words IPTV, DVB, DVB-S, DVB-T, multicast, stream, server, set-top-box, mumudvb, sasc-ng, newcs
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
´ Uvod Jiˇz des´ıtky let lid´e vyuˇz´ıvaj´ı televizi jako prostˇredek z´abavy i zdroje informac´ı. Jedn´a se o velmi efektivn´ı formu ˇs´ıˇren´ı, kter´a pokr´ yv´a velk´e mnoˇzstv´ı adres´at˚ u“ ” s vyuˇzit´ım minim´aln´ıch n´aklad˚ u, pˇresnˇeji ˇreˇceno minim´aln´ıch variabiln´ıch n´aklad˚ u na jednoho pˇr´ıjemce dan´eho sdˇelen´ı. T´eto skuteˇcnosti se vyuˇz´ıv´a i na poli komerˇcn´ım efektivn´ı marketingov´ y n´astroj. V´ yrazn´e rozˇs´ıˇren´ı poˇc´ıtaˇcov´ ych s´ıt´ı mˇelo za n´asledek pˇresunut´ı ˇs´ıˇren´ı televizn´ıho sign´alu i do prostˇred´ı datov´ ych s´ıt´ı zaloˇzen´ ych na protokolech TCP/IP1 - IPTV . Mohou tak vznikat televizn´ı programy / videa zamˇeˇren´a na u ´zce specifickou z´ajmovou skupinu, pˇriˇcemˇz posluchaˇci sleduj´ı dan´ y program skrze datovou s´ıt’. Pˇri vyuˇzit´ı IPTV odpad´a nutnost instalace ant´eny (pˇr´ıpadnˇe satelitn´ı paraboly) a rozvod koaxi´aln´ıch kabel˚ u speci´alnˇe pro kaˇzd´e pˇrij´ımac´ı zaˇr´ızen´ı. Datov´e rozvody jsou v dneˇsn´ı dobˇe jiˇz standardn´ım prvkem novˇe budovan´ ych, pˇr´ıpadnˇe rekonstruovan´ ych kancel´aˇr´ı, zaˇc´ınaj´ı b´ yt jiˇz z´aroveˇ n automatickou souˇca´st´ı obytn´ ych prostor. T´ematikou pˇr´ıjmu televizn´ıho sign´alu v prostˇred´ı poˇc´ıtaˇc˚ u se zab´ yv´am jiˇz nˇekolik let. V pˇr´ıpadˇe nasazen´ı IPTV do oblasti poˇc´ıtaˇcov´e s´ıtˇe se jedn´a o pˇrirozen´e t´ematick´e rozˇs´ıˇzen´ı, kter´e se mi pˇridalo“ do sf´ery z´ajmu v pr˚ ubˇehu ˇreˇsen´ı probl´em˚ u t´ ykaj´ıc´ıch ” se realizace pˇr´ıjmu televizn´ıho sign´alu. C´ılem pr´ace je nab´ıdnout uˇzivateli postup, jak nasadit sluˇzbu IPTV v prostˇred´ı poˇc´ıtaˇcov´e s´ıtˇe s vyuˇzit´ım volnˇe dostupn´ych (freeware, pˇr´ıpadnˇe opensource) aplikac´ı. D´ılˇc´ım c´ılem v teoretick´e ˇc´asti pr´ace bude sezn´amen´ı s nezbytn´ymi souˇc´astmi syst´emu, protokoly vyuˇz´ıvan´ymi bˇehem pˇrenosu sign´alu a chybami, kter´e se mohou projevit bˇehem pˇrenosu od poskytovatele sluˇzby (server) k pˇr´ıjemci sluˇzby (klient). D´ılˇc´ım c´ılem praktick´e ˇc´asti bude volba vhodn´eho hardware a software, vˇcetnˇe konfigurace pro prostˇred´ı vzorov´e poˇc´ıtaˇcov´e s´ıtˇe. Tato pr´ace si neklade za c´ıl ˇreˇsit ot´azky pˇr´ıpravy televizn´ıho programu, ot´azku ukl´ad´an´ı vys´ılan´eho obsahu ani syst´em videa na poˇz´ad´an´ı (Video on Demand - VoD). Mimo r´amec pr´ace se tak´e nach´az´ı ˇreˇsen´ı pr´avn´ıch aspekt˚ u nasazen´ı IPTV, pˇriˇcemˇz v pˇr´ıpadˇe re´aln´eho provozu je nezbytn´e konat v souladu s platn´ ymi pr´avn´ımi normami. Pr´ace je urˇcena pro z´ajemce o rozˇs´ıˇren´ı, pˇr´ıpadnˇe z´ısk´an´ı, znalost´ı t´ ykaj´ıc´ıch se 1
TCP/IP je dvojice protokol˚ u bˇeˇznˇe vyuˇz´ıvan´e pro realizaci komunikace v poˇc´ıtaˇcov´e s´ıti, mimo
jin´e i v celosvˇetov´e s´ıti internet
1
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
IPTV. Rovnˇeˇz m˚ uˇze b´ yt tato pr´ace uˇziteˇcn´a pro ˇcten´aˇre, kteˇr´ı uvaˇzuj´ı o zaveden´ı IPTV do poˇc´ıtaˇcov´e s´ıtˇe, nebot’ souˇc´ast´ı pr´ace je i n´avod jak nakonfigurovat programy pro vys´ıl´an´ı a oznamov´an´ı vys´ılan´ ych obsah˚ u. Pr´ace je rozdˇelena na dvˇe ˇca´sti. V teoretick´e ˇca´sti, prvn´ı kapitole, nejdˇr´ıve definuji z´akladn´ı pojmy, kter´e se prol´ınaj´ı celou prac´ı. D´ale popisuji z´akladn´ı prvky syst´emu ˇs´ıˇren´ı sign´alu. N´aslednˇe se ˇcten´aˇr obezn´am´ı s protokoly vyuˇz´ıvan´ ymi bˇehem pˇrenosu od poskytovatele sluˇzby (server) k pˇr´ıjemci sluˇzby (klient) a budou rozebr´any okolnosti ovlivˇ nuj´ıc´ı kvalitu distribuce. Druh´a kapitola se zab´ yv´a volbou vhodn´eho operaˇcn´ıho syst´emu, softwaru a hardwaru. Praktick´a ˇc´ast je tvoˇrena tˇret´ı kapitolou, kter´a seznamuje ˇcten´aˇre se zvolen´ ym prostˇred´ım a poskytuje n´avrh uplatnˇen´ı teoretick´ ych poznatk˚ u v dan´e poˇc´ıtaˇcov´e s´ıti. Pr´ace nab´ız´ı jednu z moˇznost´ı vyuˇzit´ı IPTV, ale ne jedinou. V dneˇsn´ı dobˇe internacionalize a informatizace se st´avaj´ı moˇznosti neomezen´ ymi a proto se s pojmy podobn´eho r´azu budeme v budoucnu setk´avat ˇc´ım d´al ˇcastˇeji.
2
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
Kapitola 1 Teoretick´ a v´ ychodiska 1.1 1.1.1
Definice z´ akladn´ıch pojm˚ u IPTV
Oznaˇcen´ı IPTV je sloˇzeninou dvou zkratek. Prvn´ı z nich je IP vych´azej´ıc´ı z Internet Protocol (bliˇzˇs´ı informace jsou k dispozici v samostatn´e kapitole 1.3.1 IP - Internet Protocol), druhou je TV odpov´ıdaj´ıc´ı slovu Television. Aˇckoli zkratky ˇcesk´ ych ekvivalent˚ u slov by odpov´ıdali anglick´ ym, uv´ad´ım p˚ uvodn´ı anglick´e n´azvy. IPTV oznaˇcuje sluˇzbu distribuce televizn´ıho programu skrze poˇc´ıtaˇcovou s´ıt’ pracuj´ıc´ı na protokolu IP. [10, pˇreloˇzeno autorem] Pod pojem IPTV spadaj´ı i sluˇzby videa na poˇza´d´an´ı (VoD). Mezi nejzn´amˇejˇs´ı bezplatn´e sluˇzby tohoto typu patˇr´ı Youtube. Jedn´a se o str´anky, kde uˇzivatel´e, nebo spoleˇcnosti nab´ızej´ı nˇejak´ y audio/video obsah, v tomto pˇr´ıpadˇe bezplatnˇe. Existuj´ı ovˇsem i servery, kter´e nab´ız´ı obdobn´e sluˇzby za u ´platu. Je pak jiˇz ˇcistˇe na v˚ uli autora videa, zda chce poskytnout dan´ y obsah bezplatnˇe, ˇci nikoli. Dalˇs´ım pˇr´ıkladem je videoarchiv odvys´ılan´ ych program˚ u (uv´ad´ım pˇr´ıklad ˇcesk´ ych televiz´ı): • www.ceskatelevize.cz/ivysilani • archiv.nova.cz • www.iprima.cz/videoarchiv Na druhou stanu IPTV nen´ı, pokud m´ame uloˇzena data na pevn´em disku, kter´e si pouˇst´ıme na televizi (nejedn´a se o pˇrenos skrzepoˇc´ıtaˇcovou s´ıt’, ale pouze o lok´aln´ı 3
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
pˇrehr´av´an´ı videa) - napˇr. z´aloha disku DVD, nebo video z dovolen´e. . . 1.1.1.1
TV - Television
Zkratka TV odpov´ıd´a slovu Televize. Tento pojem m˚ uˇze oznaˇcovat jak sluˇzbu pˇrenosu obrazu a zvuku, tak zaˇr´ızen´ı potˇrebn´e pro zpˇetn´ y pˇrevod pˇrijat´eho sign´alu do podoby pˇrijateln´e“ pro ˇclovˇeka - televizn´ı pˇrij´ımaˇc, televizor. ” Samotn´e slovo poch´az´ı ze dvou ˇreck´ ych slov, konkr´etnˇe tele znamenaj´ıc´ı daleko a vize znamenaj´ıc´ı vidˇet. Sluˇzba televizn´ıho vys´ıl´an´ı s vyuˇzit´ım r´adiov´ ych vln se zaˇcala pouˇz´ıvat v prvn´ı ˇ polovinˇe 20. stolet´ı. Na naˇsem u ´zem´ı (sv´eho ˇcasu u ´zem´ı Ceskoslovenska) zaˇcala vys´ılat ˇ Ceskoslovensk´ a Televize dne 1.kvˇetna 1953 sv´e pravideln´e zkuˇsebn´ı vys´ıl´an´ı a od 25. u ´nora 1954 vys´ıl´a pravideln´e vys´ıl´an´ı[4]. V souˇcasn´e dobˇe doch´az´ı k digitalizaci televizn´ıho vys´ıl´an´ı a dle ofici´aln´ıch harmonogram˚ u by posledn´ı ˇcesk´ y analogov´ y pozemn´ı vys´ılaˇc mˇel b´ yt vypnut do konce roku 2011, v pˇr´ıpadˇe zbytku Evropsk´e unie se jedn´a o rok 2012. Po tomto datu bude moˇzn´e naladit pozemn´ı televizn´ı vys´ıl´an´ı skrze r´adiov´e vlny pouze v digit´aln´ı podobˇe[5]. Aktu´alnˇe je jiˇz moˇzn´e pˇrij´ımat digit´aln´ı podobu vys´ıl´an´ı jednak paralelnˇe k analogov´emu skrze r´adiov´e vlny pozemn´ıho vys´ıl´an´ı, satelitn´ıho vys´ıl´an´ı, pˇr´ıpadnˇe skrze alternativn´ı komunikaˇcn´ı kan´aly mezi kter´e patˇr´ı poˇc´ıtaˇcov´a s´ıt’.
1.1.2
Akademick´ a s´ıt’
Tato pr´ace bude br´at pojem akademick´a s´ıt’ jako s´ıt’ jedn´e vysok´e ˇskoly vyuˇz´ıvaj´ıc´ı protokoly TCP/IP.
1.2
Z´ akladn´ı prvky syst´ emu
Kaˇzd´ y syst´em zab´ yvaj´ıc´ı se vys´ıl´an´ım audio/video sign´alu mus´ı obsahovat nˇekolik z´akladn´ıch prvk˚ u. Tyto prvky by se daly shrnout do logick´ ych skupin. N´asleduje struˇcn´ y v´ yˇcet, kter´ y je d´ale v pr´aci bl´ıˇze rozebr´an. • zdroj sign´alu Obecnˇe mus´ı b´ yt na zaˇca´tku cel´eho procesu vyˇreˇsena ot´azka: Co vys´ılat“? ”
4
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
• zpracov´an´ı pro potˇreby distribuce Z´ıskan´ y sign´al je potˇreba upravit po str´ance form´aln´ı“ tak aby byl schopen ” pˇrepravy zvolen´ ymi komunikaˇcn´ımi kan´aly. Tyto u ´pravy nesouvis´ı s obsahem, kter´ y bude ve fin´ale vn´ım´an koncov´ ym uˇzivatelem. • distribuce smˇerem k uˇzivatel˚ um Z´ıskan´ y a upraven´ y sign´al je zapotˇreb´ı doruˇcit koncov´emu uˇzivateli skrze komunikaˇcn´ı kan´aly - v naˇsem pˇr´ıpadˇe poˇc´ıtaˇcov´e s´ıtˇe. • zobrazen´ı na stranˇe uˇzivatele Po obdrˇzen´ı sign´alu na stranˇe uˇzivatele je nezbytn´e form´alnˇe“ upravit obdrˇzen´e ” informace do podoby zpracovateln´e pˇr´ıjemcem.
Obr´azek 1.1: Sch´ema syst´emu pro vys´ıl´an´ı - pojet´ı VideoLAN. (zdroj: [25])
1.2.1
Zdroj audio/video sign´ alu
ˇ sen´ı m˚ Reˇ uˇze b´ yt z´avisln´e na konkr´etn´ıch typech zdroj˚ u, pˇr´ıpadnˇe m˚ uˇze b´ yt univerz´aln´ı. V druh´em pˇr´ıpadˇe je nezbytn´e stanovit rozhran´ı mezi zdroji a procesy zpracov´an´ı sign´alu. T´ımto zp˚ usobem jsme schopni v pr˚ ubˇehu ˇcasu pˇrid´avat podporu novˇe
5
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
nastupuj´ıc´ıch zaˇr´ızen´ı, aniˇz bychom museli upravovat dalˇs´ı procesy vyuˇz´ıvan´e pro zpracov´an´ı a pˇrenos sign´alu. Zdroje sign´alu jako takov´e lze rozdˇelit do dvou z´akladn´ıch skupin podle typu sign´alu: • analogov´e zdroje sign´alu Analogov´ y sign´al je z principu pˇr´ımo z´avisl´ y na kvalitˇe pˇrenosu. Jak´ekoli zaruˇsen´ı, pˇr´ıpadnˇe doˇcasn´e zhorˇsen´ı pˇrenosov´ ych parametr˚ u m´a vliv na pˇrijatou informaci, pˇriˇcemˇz pˇr´ıjemce nen´ı schopen urˇcit, zda pˇrijat´ y sign´al odpov´ıd´a, nebo neodpov´ıd´a vys´ılan´emu sign´alu. Tud´ıˇz nen´ı moˇzn´e opravit pˇrijat´ y sign´al - pokud nezn´ame rozd´ıl, nen´ı co opravovat. • digit´aln´ı zdroje sign´alu Digit´aln´ı sign´al poskytuje ˇc´asteˇcnou odolnost proti ruˇsen´ı, nebot’ samotn´e zpracov´an´ı sign´alu prob´ıh´a u ´rovˇ novˇe (pˇri m´ırn´e zmˇenˇe pˇren´aˇsen´eho sign´alu jeˇstˇe nemus´ı b´ yt pozmˇenˇena samotn´a pˇren´aˇsen´a informace). Z´aroveˇ n dok´aˇzeme urˇcovat kontroln´ı souˇcty, na z´akladˇe kter´ ych jsme schopni posoudit, zda pˇrijat´a informace odpov´ıd´a odeslan´e inforamci a v pˇr´ıpadˇe mal´e“ odchylky lze za nˇekter´ ych ” okolnost´ı dokonce opravit poˇskozen´a data. Pro potˇreby IPTV potˇrebujeme m´ıt k dispozici digit´aln´ı sign´al. Potˇrebujeme-li odvys´ılat analogov´ y sign´al, je potˇreba v r´amci bloku“ zdroje sign´alu prov´est samotnou ” zmˇenu podoby sign´alu - digitalizaci. Pˇr´ıklady digit´aln´ıch zdroj˚ u m˚ uˇzeme vidˇet na obr´azku 1.1. Jsou jimi soubory obsahuj´ıc´ı video, DVD, zachyt´avac´ı (grabovac´ı) karty, k´odovac´ı karty, satelit, Digit´aln´ı pozemn´ı vys´ıl´an´ı. Mezi dalˇs´ı pˇr´ıklady bych zm´ınil kamery a to jak webov´e (USB konektor), pˇr´ıpadnˇe klasick´e“ pˇripojiteln´e pˇres USB nebo fireware. ” 1.2.1.1
Podm´ınˇ en´ y pˇ r´ıstup
U vys´ılan´eho sign´alu je technicky moˇzn´e podm´ınit pˇr´ıstup k obsahu. Pˇr´ıjemce je v takov´em pˇr´ıpadˇe schopen bˇeˇznˇe dostupn´ ymi prostˇredky pˇrijmout sign´al jako takov´ y, ale bez dalˇs´ıch potˇrebn´ ych informac´ı (kl´ıˇc˚ u) nen´ı schopen sign´al dek´odovat. Kaˇzd´ y opr´avnˇen´ y pˇr´ıjemce obdrˇz´ı od poskytovatele sign´alu ˇcipovou kartu, kter´a je schopna sdˇelit potˇrebn´e kl´ıˇce pro proces dek´odov´an´ı. Jelikoˇz je syst´em pˇripraven pro jednosmˇernou komunikaci (napˇr. satelitn´ı pˇrenos), jsou kl´ıˇce obnovov´any na jednotliv´e karty v r´amci samotn´eho datov´eho toku soubˇeˇznˇe 6
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
s vys´ıl´an´ım. Aktualizace pro kaˇzdou jednu kartu tedy obsahuje informaci o platn´em kl´ıˇci pro dalˇs´ı ˇcasov´e obdob´ı a dobu platnosti (d´elku obdob´ı). Samotn´a aktualizace je samozˇrejmˇe zak´odov´ana tak, aby ji mohla zpracovat jen karta pro kterou je urˇcena. 1.2.1.2
Digitalizace
Digitalizace je proces, kdy je analogiv´ y sign´al pˇrev´adˇen na digit´aln´ı. Analogov´ y sign´ al je spojit´a veliˇcina, kter´a popisuje urˇcitou informaci. Spojitou veliˇcinou rozum´ıme hodnotu veliˇciny (vˇetˇsinou elektrick´e napˇet´ı) v dan´em rozsahu pˇr´ıpustn´ ych hodnot, pˇriˇcemˇz i drobn´a zmˇena hodnoty odpov´ıd´a zmˇenˇe pˇren´aˇsen´e informace. Teoreticky lze tedy definovat neomezenˇe mnoho odst´ın˚ u. Prakticky jsme omezeni na hodnotu nejmenˇs´ıho kroku“, tedy nejmenˇs´ı technicky rozpoznateln´e zmˇeny, kdy ” m˚ uˇzeme urˇcit ˇze doˇslo ke zmˇenˇe hodnoty. Pro pˇr´ıklad m˚ uˇzeme uv´est rozsah pˇr´ıpustn´ ych hodnot 0 - 1 V, pˇriˇcemˇz pˇren´aˇsenou informac´ı bude barevn´a hodnota jednobarevn´eho bodu (ˇcern´a aˇz b´ıl´a). Ze zm´ınˇen´eho popisu pˇren´aˇsen´e informace m˚ uˇzeme odvodit skuteˇcnost, ˇze v pˇr´ıpadˇe pˇr´ıtomnosti hodnoty napˇet´ı 0 V m´a dan´ y bod ˇcernou barvu, pˇri hodnotˇe napˇet´ı 1 V je barva dan´eho bodu b´ıl´a. Vˇsechny hodnoty mezi krajn´ımi pˇr´ıpustn´ ymi hodnotami odpov´ıdaj´ı barvˇe mezi ˇcernou a b´ılou - odst´ıny ˇsed´e. Pro ilustraci pˇredpokl´adejme nejmenˇs´ı rozpoznatelnou zmˇenu 1 mV (jedna tis´ıc´ına voltu), z ˇcehoˇz n´am vypl´ yv´a, ˇze jsme schopni definovat odst´ın bodu s vyuˇzit´ım 1000 moˇzn´ ych hodnot. Digit´ aln´ı sign´ al je informace vyj´adˇren´a pouze za pouˇzit´ım logick´ ych jedniˇcek a nul - bin´arnˇe. Pˇri pˇrenosu jsou vyuˇz´ıv´any tzv. logick´e u ´rovnˇe. Logick´a u ´roveˇ n je rozsah veliˇciny vyuˇzit´e pro pˇrenos infomace, kter´ y vyjadˇruje danou logickou u ´roveˇ n. Pro lepˇs´ı n´azornost uvaˇzujme TTL (Transistor-Transistor-logic) logiku, kter´a je definov´ana v rozsahu 0 - 5 V. Pro logickou nulu je vymezen“ rozsah 0 - 0,8 V. Pro ” logickou jedniˇcku je urˇcen rozsah 2 - 5 V. Jak m˚ uˇzeme vidˇet, tyto rozsahy spolu pˇr´ımo nesoused´ı. Nejedn´a se o chybu, n´ ybrˇz o rezervu, kter´a je oznaˇcov´ana jako ochrann´e p´asmo, nˇekdy oznaˇcov´ano jako zak´azan´e p´asmo. T´ımto zp˚ usobem je definuje z´akladn´ı odolnost proti vnˇejˇs´ımu ruˇsen´ı. Pokud tedy zdroj vyˇsle hodnotu 0 V a vlivem ruˇsen´ı se bˇehem pˇrenosu zv´ yˇs´ı u ´roveˇ n pˇren´aˇsen´e veliˇciny o 0,2 V, st´ale nedojde ke zmˇenˇe pˇren´aˇsen´e informace. 7
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
Samotn´ y proces digitalizace V r´amci digitalizace informace mus´ıme vˇzdy definovat d´elu slova“, coˇz je stanoven´ı ” mnoˇzstv´ı bit˚ u (logick´ ych u ´rovn´ı) vyjadˇruj´ıc´ı kaˇzdou jednotku digitalizovan´e informace. Tato dodateˇcn´a informace m´a pˇr´ım´ y vliv na pˇresnost vyj´adˇren´ı, nebot’ pˇr´ımo ovlivˇ nuje kolik u ´rovn´ı jsme schopni popsat. Pokud bych tedy chtˇel napˇr´ıklad popisovat odst´ın ˇsed´e pro konkr´etn´ı bod, volbou poˇctu bit˚ u pˇr´ımo definuji pˇresnost popisu - poˇcet odst´ın˚ u, kter´e m´am k dispozici. Zvol´ım-li 10 bit˚ u, z´ısk´av´am 210 hodnot, coˇz je 1024. K pˇren´aˇsen´ ym informac´ım se mohou pˇrid´avat kontroln´ı souˇcty pro potˇreby ovˇeˇren´ı spr´avnosti pˇren´aˇsen´ ych dat. Nejrozˇs´ıˇrenˇejˇs´ım a nejjednoduˇsˇs´ım kontroln´ım souˇctem je Cyclic Redundancy Check“ (CRC). Kontroln´ı souˇcty zohledˇ nuj´ı v´ yskyt logick´ ych ” jedniˇcek v urˇcit´e d´elce kontrolovan´e digit´aln´ı informace. Jsme tedy shopni rozpoznat chybu pˇrenosu a v nˇekter´ ych pˇr´ıpadech jsme schopni pˇren´aˇsenou informaci opravit. Dalˇs´ı informace t´ yjaj´ıc´ı se d´ılˇc´ıch t´ematick´ ych ˇca´st´ı pˇrevodu lze nal´ezt v knize IPTV Basics [10, str. 73], na str´ank´ach wikipedie([27]), popˇr´ıpadˇe lze vyhledat na internetu pod kl´ıˇcov´ ymi slovy: A/D pˇrevodn´ık, A/D converter, barevn´e syst´emy. 1.2.1.3
Komprese pˇ ren´ aˇ sen´ ych dat
Pˇrenos surov´eho obrazu tak, jak je zachycen napˇr´ıklad kamerou by byl velmi neefektivn´ı. Bylo by zapotˇreb´ı neuvˇeˇriteln´eho datov´eho toku k pˇrenosu videa. Pro ilustraci vezmˇeme sn´ımek o velikosti 300 kB (bˇeˇzn´ y nekomprimovan´ y obr´azek m´a nˇekolikan´asobnou velikost). Chceme-li abychom video vn´ımali jako plynul´e, je zapotˇreb´ı 25 sn´ımk˚ u za sekundu, coˇz n´am zp˚ usob´ı poˇzadavek na pˇrenos 7500 kB za jednu sekundu (cca 7,32 MB). Tato velikost odpov´ıd´a poˇzadavku na datov´ y tok 60000 kbps (cca 58,59 Mbps). V t´eto souvislosti by st´al za zm´ıˇ nku fakt, ˇze bˇeˇzn´e pˇripojen´ı v dom´acnosti obvykle nepˇresahuje 8 Mbps (1 MB za sekundu) - napˇr. ADSL, 802.11b. Dalˇs´ı podstatnou pozn´amkou je aplikace FUP1 na nˇekter´e typy spojen´ı, kdy se velikost pohybuje v ˇr´adech jednotek GB (10 GB bychom rychlost´ı 60000 kbps st´ahli pˇribliˇznˇe za 23 minut). ˇ sen´ım t´eto situace je zaveden´ı form´at˚ Reˇ u obsahuj´ıc´ıch kompresn´ı algoritmy, kter´e jsou schopny v´ yraznˇe zredukovat poˇzadavky na datov´ y tok. Jednak obvykle zohledˇ nuj´ı promˇenlivost obrazu (poˇzadavky na pˇrenos statick´eho obrazu dok´aˇz´ı zmenˇsit na ne1
Fair User Policy : Zp˚ usob zabezpeˇcen´ı f´erov´eho pˇr´ıstupu. Po pˇrekroˇcen´ı urˇcit´eho limitu obvykle
dojde k sn´ıˇzen´ı rychlosti pˇrenosu.
8
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
zbytn´e minimum plynouc´ı z povahy algoritmu), popˇr´ıpadˇe m´ırnˇe zkresl´ı obraz s c´ılem odbourat detaily, kter´e stejnˇe ˇcasto pˇr´ıliˇs neovlivn´ı vn´ıman´ y obraz - lidsk´e oko je vcelku nedokonal´e, alespoˇ n co se vn´ım´an´ı detail˚ u t´ yˇce. Takov´ ymi u ´pravami dok´aˇzeme zredukovat poˇzadavek na datov´ y tok pod hodnotu 5 Mbps. V oblasti digit´aln´ıho televizn´ıho vys´ıl´an´ı (DVB) se pouˇz´ıvaj´ı form´aty MPEG2 (programy v kvalitˇe SD, nˇekter´e programy HD) a MPEG4 (programy HD). Jelikoˇz se v r´amci realizace zab´ yv´ame programy v kvalitˇe SD, pracujeme prakticky v´ yhradnˇe s form´atem MPEG2. Jelikoˇz nen´ı pˇredmˇetem pr´ace rozeb´ırat konkr´etn´ı video form´aty, odk´aˇz˚ u na nˇekolik zdroj˚ u pro z´ajemce o bliˇzˇs´ı informace o t´ematu: [10, str. 162-178], [12], [27] pˇr´ıpadnˇe vyhled´av´an´ı pro kl´ıˇcov´e slovo mpeg2. 1.2.1.4
Multiplex
V pˇr´ıpadˇe digit´aln´ıho vys´ıl´an´ı je moˇzn´e na jedn´e nosn´e frekvenci vys´ılat v´ıce program˚ u ve skupinˇe, kter´a je oznaˇcov´ana jako multiplex. Princip vych´az´ı ze skuteˇcnosti, ˇze pˇri dostateˇcn´e kompresi (pouˇzit´ım vhodn´ ych kodek˚ u) je moˇzn´e pˇren´aˇset potˇrebn´a data mnohem vyˇsˇs´ı rychlost´ı, neˇz pˇr´ıjemce poˇzaduje pro zabezpeˇcen´ı pˇr´ıjmu dat a jeho plynul´e zpracov´an´ı. Provozovatel vys´ıl´an´ı na dan´e frekvenci m˚ uˇze ve zbyl´em voln´em p´asmu (tedy nevyuˇzit´ y datov´ y tok) zas´ılat informace pro dalˇs´ı program. Mnoˇzstv´ı program˚ u v jednom multiplexu je tedy odvisl´e od pouˇzit´eho kodeku, pˇresnˇeji ˇreˇceno od v´ ysledn´eho datov´eho toku, kter´ y vyˇzaduje dan´ y program. V´ yrazn´ y rozd´ıl je mezi programem radia a televize, kde obrazov´a informace je podstatnou ˇca´st´ı datov´eho toku. V´ yrazn´ y rozd´ıl m˚ uˇze b´ yt i mezi SD a HD programy - nejednoznaˇcnost pˇr´ımˇeru vypl´ yv´a ze skuteˇcnosti, ˇze pro SD a HD se obvykle pouˇz´ıv´a rozd´ıln´e k´odov´an´ı, pˇriˇcemˇz v´ ysledn´ y datok´ y tok m˚ uˇze b´ yt srovnateln´ y, ale s rozd´ıln´ ymi n´aroky na v´ ypoˇcetn´ı v´ ykon pˇri zpracov´an´ı vys´ılan´eho/pˇrij´ıman´eho sign´alu. Pro naˇse u ´ˇcely n´am tato skuteˇcnost umoˇzn´ı na jedno DVB zaˇr´ızen´ı zpracovat v´ıce program˚ u - samozˇrejmˇe pokud provozovatel v jednom multiplexu vys´ıl´a v´ıce program˚ u o kter´e m´ame z´ajem.
1.2.2
Zpracov´ an´ı pro potˇ reby distribuce
V r´amci zpracov´an´ı pro potˇreby distribuce nedoch´az´ı k u ´pravˇe co do obsahu, ale pouze k u ´pravˇe form´aln´ı“. ” 9
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
Jak jiˇz bylo podotknuto v ˇca´sti t´ ykaj´ıc´ı se zdroj˚ u sign´alu, je zapotˇreb´ı m´ıt v t´eto f´azi digit´aln´ı sign´al. M´ame-li k dispozici pouze sign´al analogov´ y, je nezbytn´e prov´est jeho dogitalizaci. Tento proces je nast´ınˇen v kapitole 1.2.1.2 Digitalizace. V r´amci tˇeto ˇca´sti zpracov´an´ı sign´alu m˚ uˇzeme sign´al transk´odovat - transcoding. Transk´odov´an´ı je operace, kdy pˇrev´ad´ıme obsah z jednoho k´odov´an´ı do jin´eho, aniˇz bychom pozmˇenili samotn´ y obsah (audio/video), kter´e sign´al obsahuje. Jednotliv´e druhy k´odov´an´ı se liˇs´ı jak v n´aroc´ıch na datov´ y tok2 , tak na v´ ykon potˇrebn´ y pro jejich zpˇetn´e dek´odov´an´ı. V souˇcasnosti nejrozˇs´ıˇrenˇejˇs´ımi kodeky jsou MPEG2 a MPEG4. V r´amci DVB3 se m˚ uˇzeme setkat s obˇema, pˇriˇcemˇz MPEG2 se objevuje obvykle v datov´em toku cca 4 Mbit/s s kvalitou obrazu oznaˇcovanou jako SD a MPEG4 s datov´ ym tokem tak´e kolem 4 Mbit/s ovˇsem v kvalitˇe HD. Bylo by vhodn´e podotknout, ˇze samotn´e transk´odov´an´ı je ˇcinnost´ı obecnˇe velmi n´aroˇcnou na v´ ykon poˇc´ıtaˇce, natoˇz je-li poˇzadavek transk´odov´an´ı v re´aln´em ˇcase. Jsou dostupn´e technologie, kter´e jsou schopny pro tyto operace vyuˇz´ıt procesory grafick´ ych karet (GPU - Graphical Processor Unit), kter´e jsou sice u ´zce zamˇeˇren´e co do nab´ızen´ ych ˇcinnost´ı, zato jsou schopny velmi v´ yraznˇe ulehˇcit od v´ ypoˇct˚ u samotn´emu procesoru poˇc´ıtaˇce (CPU - Central Processor Unit). Vyuˇzit´ım tohoto pˇr´ıstupu jsme schopni nˇekolikr´at zv´ yˇsit propustnost transk´odov´an´ı v re´aln´em ˇcase. Jako pˇr´ıklad bych uvedl technologii CUDA od spoleˇcnosti nVidia, popˇr´ıpadˇe ATI Stream.
1.2.3
Distribuce smˇ erem k uˇ zivatel˚ um
Pod pojmem distribuce v tomto pˇr´ıpadˇe ˇreˇs´ıme pˇrepravu sign´alu od serveru ke klient˚ um, tedy od zdroje sign´alu k uˇzivatel˚ um, kteˇr´ı projev´ı z´ajem o pˇr´ıjem. Jelikoˇz budeme sign´al distribuovat skrze poˇc´ıtaˇcovou s´ıt’, mus´ıme data rozdˇelit na menˇs´ı ˇca´sti. Tento poˇzadavek vypl´ yv´a z typu zvolen´e s´ıtˇe, tedy s´ıtˇe postaven´e na protokolech TCP/IP. Distribuce prob´ıh´a po jednotliv´ ych paketech, kdy kaˇzd´ y paket putuje s´ıt´ı individu´alnˇe. Nikde nen´ı zaruˇceno, ˇze vˇsechny pakety budou putovat s´ıt´ı stejnou cestou. D˚ usledkem m˚ uˇze b´ yt r˚ uzn´e poˇrad´ı doruˇcen´ı paket˚ u. V podstatˇe neexistuje ani z´aruka samotn´eho doruˇcen´ı4 . Na druhou stranu by zde st´alo za zm´ınˇen´ı, ˇze tento model se za des´ıtky let pouˇz´ıv´an´ı osvˇedˇcil jako dostaˇcuj´ıc´ı a v pˇr´ıpadˇe kvalitn´ı datov´e linky 2
nezbytnˇe velk´ a propustnost s´ıtˇe pro doruˇcen´ı dat na m´ısto urˇcen´ı v poˇzadovan´em mnoˇzstv´ı a ˇcase Digital Video Broadcast - digit´ aln´ı vys´ıl´an´ı, tedy satelitn´ı, pozemn´ı, ale i kabelov´e 4 plat´ı pro protokol UDP, protokol TCP ˇreˇs´ı ot´azku doruˇcen´ı na b´azi potvrzov´an´ı paket˚ u 3
10
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
prakticky bezprobl´emov´ y. Velikost kaˇzd´eho paketu je omezena, pˇriˇzemˇz dodrˇzen´ı omezen´ı velikosti n´am zaruˇcuje, ˇze bez ohledu na v´ yrobce jednotliv´ ych prvk˚ u pouˇzit´ ych na s´ıti bude moˇzn´e tento paket doruˇcit od odes´ılatele k pˇr´ıjemci. V pˇr´ıpadˇe Ethernetu se obvykle pouˇzy ´v´a velikost 1500 bajt˚ u, pˇriˇcemˇz tato hodnota jiˇz zahrnuje i samotn´e hlaviˇcky paketu (viz. obr´azek 1.8). Pro kvalitn´ı sledov´an´ı televizn´ıho programu je nezbytn´e m´ıt dostateˇcn´ y datov´ y tok. Vzhledem k parametr˚ um dostupn´eho DVB-T a DVB-S vys´ıl´an´ı budeme potˇrebovat datov´ y tok v pr˚ umˇeru okolo 4 Mbps na jeden programov´ y kan´al. D˚ uleˇzit´a je samozˇrejmˇe i kvalita pˇripojen´ı. Bez dosaˇzen´ı dostateˇcnˇe rychl´eho a stabiln´ıho spojen´ı nejse schopni zaruˇcit koncov´emu pˇr´ıjemci kvalitn´ı sluˇzbu - pˇr´ıjem, respektive sledov´an´ı program˚ u. Metalick´ a s´ıt’ - Ethernet Pro pouˇz´ıv´an´ı IPTV je nezbytn´e dostateˇcnˇe dimenzovat pl´anovanou infrastrukturu. V pˇr´ıpadˇe metalick´eho pˇripojen´ı je doporuˇcov´ano pˇripojen´ı klient˚ u alespoˇ n 100 Mbps (10 Mbps by mohlo b´ yt tak´e dostaˇcuj´ıc´ı, ale protoˇze 4 Mbps nen´ı maxim´aln´ı hodnota, m˚ uˇze doch´azet pˇri dalˇs´ı soubˇeˇzn´e s´ıt’ov´e komunikaci ke zhorˇsen´ı kvality sluˇzby). V z´avislosti na mnoˇzstv´ı port˚ u na prvc´ıch je chodn´e zv´aˇzit propustnost uplinku5 1 Gbps a v´ıce s ohledem na dalˇs´ı infrastrukturu. Bezdr´ atov´ a s´ıt’ - Wifi Existuj´ı standardy pro bezdr´atov´e technologie, kter´e jsou teoreticky schopny poskytnout pokryt´ı s dostateˇcn´ ymi parametry pro potˇreby IPTV - 802.11g, 802.11n (zat´ım nen´ı masovˇe nasazov´ano - ekonomick´e aspekty). V praktick´em nasazen´ı mus´ıme poˇc´ıtat se vz´ajemn´ ym ovlivˇ nov´an´ım jednotliv´ ych s´ıt´ı a ˇclenitost´ı budov, kter´e maj´ı za n´asledek moˇzn´e kol´ıs´an´ı kvality pˇripojen´ı. V d˚ usledku doch´az´ıme k z´avˇeru, ˇze pˇri pouˇzit´ı bezdr´atov´e s´ıtˇe nejsme schopni garantovat kvalitu sluˇzby IPTV. Volba zp˚ usobu vys´ıl´ an´ı Podstatnou ot´azkou je, zda bude server kaˇzd´eho uˇzivatele obsluhovat samostatnˇe, nebo bude jednoduˇse vys´ılat obsah a o samotn´e rozliˇsen´ı kdo co dostane se bude starat 5
uplinkem se oznaˇcuje pˇripojen´ı prvku do s´ıtˇe - k dalˇs´ım prvk˚ um
11
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
s´ıt’, respektive s´ıt’ov´e prvky. V prvn´ı variantˇe se bav´ıme o unicastu, v druh´em pˇr´ıpadˇe se jedn´a o multicast. Nelze jednoznaˇcnˇe ˇr´ıci, ˇze by jedna varianta byla lepˇs´ı neˇz druh´a. Volba konkr´etn´ıho zp˚ usobu ˇs´ıˇren´ı z´avis´ı od poˇzadavk˚ u na parametry syst´emu (tabulka 1.1).
parametr
unicast
multicast
server rozhodne, zda data
k´odov´an´ı dat, opr´avnˇen´ı
odeˇsle, ˇci nikoli
pˇr´ıjemci maj´ı kl´ıˇce k dispozici
k dispozici na serveru
rozprostˇren´e na prvc´ıch s´ıtˇe
zat´ıˇzen´ı serveru
z´avisl´e na poˇctu pˇr´ıjemc˚ u
nez´avisl´e na poˇctu pˇr´ıjemc˚ u
multiplikace dat
server
s´ıt’ov´e prvky
z´avisl´e na poˇctu pˇr´ıjemc˚ u
z´avisl´e na ˇclenitosti poˇzadavk˚ u
komkr´etn´ı IP adresa klienta
multicastov´a adresa
dostateˇcnˇe velk´e, aby paket
podle rozloˇzen´ı router˚ u
doputoval k pˇr´ıjemci
na datov´e s´ıti
(vˇetˇs´ı nevad´ı)
(vˇetˇsi sp´ıˇse nevhodn´e)
ˇreˇsen´ı opr´avnˇen´ı informace pro statistiky
zat´ıˇzen´ı datov´ ych linek c´ılov´a adresa paketu
parametr TTL
Tabulka 1.1: Rozd´ıly mezi unicastem a multicastem
Obr´azek 1.2: Distribuce pomoc´ı unicatu a multicastu. (zdroj: [13])
12
Kamil Jireˇs
1.2.3.1
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
Unicast
Metoda vys´ıl´an´ı vyuˇzit´ım unicastu nevystavuje na prvky s´ıtˇe prakticky ˇza´dn´e specifick´e poˇzadavky, jen z´akladn´ı schopnosti pro doruˇcov´an´ı paket˚ u. Ot´azky kdo co m´a obdrˇzet ˇreˇs´ı server, nebot’ veˇsker´e pakety nesou adresu pˇr´ımo konkr´etn´ıho uˇzivatele. Uˇzivatel´e sv˚ uj z´ajem o pˇr´ıjem dat projev´ı kontaktov´an´ım samotn´eho serveru. Tento model je nezbytn´ y napˇr´ıklad pˇri aplikaci sluˇzet VoD6 . D´ale je tento model jednou z variant, jak poskytovat podm´ınˇen´ y obsah, tedy zpˇr´ıstupnit obsah pouze uˇzivatel˚ um, kteˇr´ı si napˇr´ıklad zaplatili za urˇcit´e programy. Nev´ yhodou vys´ıl´an´ı je nejednoznaˇcnost n´arok˚ u na datov´ y tok a v´ ykon serveru. Nejednoznaˇcnost zpoˇc´ıv´a pr´avˇe pˇresunu rozhodov´an´ı na server. Kaˇzd´ y poˇzadavek na pˇr´ıjem obsahu je obsluhov´an vyhrazen´ ymi zdroji serveru a data se nijak neagreguj´ı. Pokud tedy 5 klient˚ u vznese poˇzadavek na ten sam´ y obsah, je dan´ y obsah vys´ıl´an 5x a t´ım stoupaj´ı poˇzadavky i na propustnost s´ıtˇe. Tento stav je vidˇet na obr´azku 1.2. Na druhou stranu, jsme schopni bez probl´emu vyhodnocovat kolik uˇzivatel˚ u poˇzaduje nˇejak´ y obsah, coˇz lze vyuˇz´ıt jednak pro statistiky, nebo pro vy´ uˇctov´an´ı v pˇr´ıpadˇe placen´eho obsahu. Dalˇs´ı v´ yhodou m˚ uˇze b´ yt, ˇze nepoˇzadovan´ y obsah nen´ı vys´ıl´an. Konkr´etnˇe se tento fakt m˚ uˇze projevit vˇetˇs´ı nab´ıdkou, neˇz jsme schopni plnˇe pokr´ yt zdroji. Jsme totiˇz schopni pˇresouvat zdroje mezi jednotliv´ ymi obsahy podle poˇzadavk˚ u. Vezmˇeme si za pˇr´ıklad hotel a nab´ızen´ı sluˇzby videop˚ ujˇcovny. Pokud m´ame 100 klient˚ u (napˇr. set-top-box˚ u na pokoj´ıch), je nezbytn´e dimenzovat server a samotnou s´ıt’ na 100x variabiln´ı poˇzadavky na jedno vys´ıl´an´ı. Jsme schopni ovˇsem nab´ızet mnohem v´ıce neˇz 100 titul˚ u. Nebot’ v jeden okamˇzik nen´ı moˇzn´e, aby prob´ıhalo v´ıce jak 100 aktivn´ıch tok˚ u - nen´ı nikdo dalˇs´ı, kdo by to poˇzadoval a zpracov´aval. Pokud by nˇekdo zvolil jin´ y obsah, jiˇz nebude potˇrebovat sledovat p˚ uvodnˇe poˇzadovan´ y. 1.2.3.2
Multicast
Alternativou k unicastu je multicast. Zde jsou jiˇz urˇcit´e poˇzadavky na samotn´e s´ıt’ov´e prvky. Server odes´ıl´a do s´ıtˇe data bez ohledu na skuteˇcnost, zda je nˇekdo poˇzaduje ˇci nikoli. Pˇresnˇeji ˇreˇceno server odes´ıl´a data na multicastov´e adresy, ˇc´ımˇz d´a s´ıt’ov´ ym prvk˚ um najevo, ˇze distribuce je na nich. Samotn´e s´ıt’ov´e prvky rozhoduj´ı kam vˇsude budou tato data doruˇcena. Server pˇritom odes´ıl´a data pr´avˇe jednou bez ohledu na mnoˇzstv´ı pˇr´ıjemc˚ u. Pokud nˇekdo chce dan´ y obsah pˇrijmout, mus´ı se pˇrihl´asit“ v s´ıti ” 6
Video on Demand - video na poˇz´ad´an´ı
13
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
k odbˇeru datov´eho toku na konkr´etn´ı multicastov´e adrese. S´ıt’ov´e prvky si jiˇz mezi sebou vykomunikuj´ı kde vˇsude mus´ı b´ yt data zas´ıl´ana, aby konkr´etn´ı koncov´ y uˇzivatel mohl obdrˇzet poˇzadovan´ y obsah. V pˇr´ıpadˇe v´ıce pˇr´ıjemc˚ u prov´ad´ı replikaci dat pr´avˇe s´ıt’ov´e prkvy. Chce-li pˇet klient˚ u sledovat stejn´ y obsah, nedoch´az´ı k zahlcov´an´ı datov´e linky duplicitn´ımi daty - tato skuteˇcnost je vidˇet na obr´azku 1.2. Nasazen´ı multicastu je vhodn´e v situac´ıch, kdy nepoˇzadujeme zaznamen´av´an´ı sign´alu. D˚ uraz je kladen na distribuci sign´alu v jednom okamˇziku velk´emu mnoˇzstv´ı pˇr´ıjmemc˚ u pˇri minimalizaci reˇzijn´ıho zat´ıˇzen´ı s´ıtˇe. Napˇr´ıklad pokud bychom chtˇeli distribuovat pˇredn´aˇsku v re´aln´em ˇcase, jednalo by se o ide´aln´ı nasazen´ı s minim´aln´ımi poˇzadavky na odbavovac´ı stanoviˇstˇe i pˇri poˇctu nˇekolika set ˇci tis´ıc pˇr´ıjemc˚ u. Pˇr´ıpadn´ y poˇzadavek na z´aznam by se dal ˇreˇsit formout aplikace v reˇzimu“ klienta, kdy by ” nedoch´azelo k zobrazov´an´ı, ale k zaznamen´av´an´ı sign´alu - nebyl by dotˇcen v´ ykon odbavovac´ıho stanoviˇstˇe. Pro pˇrihlaˇsov´an´ı se vyuˇz´ıv´a protokol IGMP7 .
1.2.4
Zobrazen´ı na stranˇ e uˇ zivatele
Nach´az´ıme se ve f´azi, kdy jsme si jako uˇzivatel´e zaˇz´adali a obdrˇzeli poˇzadovan´a data. Na naˇse s´ıt’ov´e rozhran´ı dost´av´ame proud dat, kter´ y obsahuje n´ami poˇzadovan´ y obsah. V z´avislosti na serveru m´ame k dispozici video data, obvykle jsou ve form´atu MPEG2 nebo MPEG4. Naˇs´ım c´ılem v tomto kroku je zpracovat data do podoby, v jak´e budeme schopni vn´ımat vys´ılan´ y obsah. Jako uˇzivatel´e m´ame na v´ ybˇer, zda chceme tuto f´azi absolvovat na poˇc´ıtaˇci v podobˇe vhodn´e aplikace, nebo d´ame pˇrednost vyhrazen´emu“ zaˇr´ızen´ı, kter´e pˇripoj´ıme ” k televizi - Set-top-box. 1.2.4.1
Softwarov´ e zpracov´ an´ı
Zde by mohl n´asledovat dlouh´ y seznam nejr˚ uznˇejˇs´ıch m´enˇe ˇci v´ıce rozˇs´ıˇren´ ych aplikac´ı. Pro u ´ˇcely sezn´amen´ı s problematikou zvol´ım univerz´aln´ıho z´astupce t´eto skupiny aplikac´ı. T´ımto z´astupcem je VLC z projektu VideoLAN, kter´ y je dostupn´ y na adrese www.videolan.org/vlc. Tento z´astupce je zvolen, nebot’ je bezplatnˇe dostupn´ y jako opensource. Dalˇs´ı podstatnou vlastnost´ı je nezv´avislost na konkr´etn´ım operaˇcn´ım syst´emu (zkompilovan´e 7
Internet Group Management Protocol - protokol pro ˇr´ızen´ı ˇclenstv´ı v multicastov´ ych skupin´ ach
14
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
Obr´azek 1.3: Aplikace VLC (verze 1.1.4.1, OS LINUX) (zdroj: autor) podoby jsou dostupn´e pro Windows, Mac OS X, Syllable, iOS, Linux). V neposledn´ı ˇradˇe za zm´ıˇ nku stoj´ı jednoduchost uˇzivatelsk´eho rozhran´ı a prakticky kompletn´ı implementace vˇsech pouˇzit´ ych protokol˚ u ˇci sluˇzeb. 1.2.4.2
Set-top-box
Set-top-box je zaˇr´ızen´ı, kter´e se pˇripoj´ı mezi“ s´ıt’ov´ y kabel a televizn´ı pˇrij´ımaˇc ” (uk´azka moˇzn´eho vzhledu je na obr´azc´ıch 1.4 a 1.5). Za u ´kol m´a uzp˚ usobit sign´al z datov´eho toku v poˇc´ıtaˇcov´e s´ıti na zpracovateln´ y sign´al televizn´ım pˇrij´ımaˇcem. Forma pˇred´an´ı informac´ı mezi set-top-boxem a televizn´ım pˇrij´ımaˇcem z´avis´ı na konkr´etn´ıch vlastnostech jednotliv´ ych zaˇr´ızen´ı - vˇetˇsinou lze zjednoduˇsit na nalezen´ı shodn´ ych dostupn´ ych konektor˚ u.
Obr´azek 1.4: AMINO 110 (zdroj: [23])
Obr´azek 1.5: Motorola VIP1920 (zdroj: [26])
Obvykle se k propojen´ı pouˇz´ıvaj´ı rozhran´ı SCART, kompozitn´ı vstup (CINCH), 15
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
YPbPr (CINCH), S-Video, HDMI, ant´enn´ı vstup (RF). Konketory pro jednitliv´e rozhran´ı se oznaˇcuj´ı shodnˇe s n´azvem rozhran´ı, pˇr´ıpadnˇe byly v z´avork´ach uvedy n´azvy. Vˇetˇsinu zm´ınˇen´ ych konektor˚ u lze vidˇet na obr´azku 1.6.
SCART — CINCH — HDMI — S-Video Obr´azek 1.6: konektory pro pˇripojen´ı set-top-box˚ u (zdroj: [9] upraveno autorem) Alternativn´ım vyuˇzit´ım set-top-box˚ u by mohlo b´ yt seskupen´ı jednotliv´ ych zaˇr´ızen´ı do kask´ady. Jelikoˇz jsou zaˇr´ızen´ı pr˚ uchoz´ı pro ostatn´ı neˇz sv´e“ kan´aly, mohli bychom ” simulovat“ zdroj analogov´eho sign´alu pro spoleˇcn´e televizn´ı ant´eny (STA) v domech ” s vˇetˇs´ım mnoˇzsv´ım byt˚ u / pˇrij´ımaˇc˚ u. pokud bychom zvolili vhodn´e kan´aly, kter´e by se nepˇrekr´ yvali (neruˇsili) s kan´aly pouˇz´ıvan´ ymi pro digit´aln´ı vys´ıl´an´ı, mohli bychom nechat doˇz´ıt“ analogov´e televize bez nutnosti n´akupu set-top-box˚ u. ”
1.3
Protokoly
Pro potˇreby t´eto pr´ace se nebudu zab´ yvat obecn´ ymi protokoly pouˇz´ıvan´ ymi na s´ıti, ale zm´ın´ım protokoly charakteristick´e pro pouˇzit´ı ˇs´ıˇren´ı IPTV. Vyuˇzit´ı tˇechto protokol˚ u pˇredpokl´ad´a aplikovan´e z´akladn´ı“ protokoly pro komunikaci na poˇc´ıtaˇcov´e s´ıti ” TCP/IP. Jelikoˇz pro ˇs´ıˇren´ı IPTV formou unicastu nejsou poˇzadov´any ˇz´adn´e speci´aln´ı protokoly, zm´ınˇen´e protokoly se zamˇeˇr´ı na formu ˇs´ıˇren´ı pomoc´ı multicastu.
1.3.1
IP - Internet Protocol
Jedn´a se o protokol vyuˇz´ıvan´ y v poˇc´ıtaˇcov´ ych s´ıt´ıch pro adresov´an´ı komunikace. Jak je moˇzn´e vidˇet na obr´azku 1.7, IP hlaviˇcka obsahuje mimo jin´e informace t´ ykaj´ıc´ı odes´ılatele a pˇr´ıjemce dat. Aktu´alnˇe se pouˇz´ıvaj´ı dvˇe verze IP protokolu. Konkr´etnˇe se soubˇeˇznˇe vyskytuj´ı verze 4 a 6. IP ve verzi 4 byl navrˇzen tak prozˇretelnˇe, ˇze obst´al desetilet´ı v´ yvoje sluˇzeb internetu. D˚ uvodem zav´adˇen´ı nov´e verze je mal´ y adresn´ı prostor, kdy 32 bitov´a adresa
16
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
jiˇz nepokr´ yv´a potˇreby internetu v rozsahu do jak´eho se rozrostl. Novˇe zav´adˇen´a verze poˇc´ıt´a se 128 bitov´ ymi adresami.
Obr´azek 1.7: IP hlaviˇcka - IPv4. (zdroj: [27] upraveno autorem) Jelikoˇz protokol ˇreˇs´ı pouze ot´azku kam doruˇcit a nikoli jak doruˇcit, vyuˇz´ıv´a se vˇzdy v kombinaci s jedn´ım z protokol˚ u TCP (RFC793) nebo UDP (RFC768), kter´e zabezpeˇcuj´ı poskytnut´ı dalˇs´ıch informac´ı potˇrebn´ ych pro zpracov´an´ı dat pˇrijat´ ych z poˇc´ıtaˇcov´e s´ıtˇe. D´ıky vyuˇzit´ı tˇechto protokol˚ u v p´aru je moˇzn´e zpracov´avat v´ıce nez´avisl´ ych datov´ ych tok˚ u - napˇr´ıklad jsme schopni stahovat v´ıce soubor˚ u najednou. Bez tˇechto p´arov´ ych“ protokol˚ u by pˇr´ıjemce nebyl schopen rozliˇsit ke kter´emu spojen´ı n´aleˇz´ı ” pr´avˇe obdrˇzen´a data. Zn´azornˇen´ı spolupr´ace protokol˚ u bˇehem pˇrenosu dat je moˇzno vidˇet na obr´azku 1.8.
Obr´azek 1.8: Zapouzdˇren´ı dat bˇehem pˇrenosu v s´ıt´ı TCP/IP. (zdroj: [27])
17
Kamil Jireˇs
1.3.2
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
RTP
Protokol RTP (Realtime Transfer Protocol) definuje standardizovan´y form´at paketu pro pˇrenos audio a video sign´alu skrz IP s´ıt’.[27] Jak d´ale zdroj uv´ad´ı, RTP se vyuˇz´ıv´a ve spojen´ı s RTCP (RTP Control Protocol). Zat´ımco RTP navazuje spojen´ı na sudˇem portu a pˇren´aˇs´ı samotn´a data, RTCP nav´aˇze spojen´ı na nejbliˇzˇs´ım vyˇsˇs´ım (lich´em) portu a slouˇz´ı pro sledov´an´ı pˇrenosov´ ych statistik vˇcetnˇe QoS (Quality of Service). V r´amci naˇs´ı realizace nebudeme vyuˇz´ıvat RTP protokol, z d˚ uvodu kompatibility se zvolen´ ymi set-top-boxy. Protokol je vyuˇziteln´ y jak pro unicast, tak pro multicast.
1.3.3
RTSP
Protokol RTSP (Real Time Streaming Protocol) slouˇz´ı pro kontrolu spojen´ı pro u ´ˇcely pˇrenosu audio/video sign´alu. Protokol je (na rozd´ıl od protokolu http) stavov´ y pro nav´azan´e spojen´ı. Skrze tento protokol mohou b´ yt na stranˇe klienta dostupn´e video“ funkce typu ” play nebo pause, pˇriˇcemˇz tyto pˇr´ıkazy se prov´ad´ı ve spolupr´aci“ se serverem. Samotn´ y ” pˇrenos multimedi´aln´ıch dat prob´ıh´a obvykle skrze protokol RTP. Tento protokol se vyuˇz´ıv´a pˇri unicastov´em ˇs´ıˇren´ı dat.
1.3.4
SAP
Protokol SAP (Session Anouncement Protocol) se pouˇz´ıv´a pro periodick´e oznamov´an´ı multicastov´ ych stream˚ u. Obsahuje n´azev a multicastovou adresu oznamovan´eho programu. D´ale obsahuje n´azev skupiny a informace o zdroji dat. N´azev skupiny slouˇz´ı pro orgranizov´an´ı informac´ı na stranˇe klienta do sloˇzek“ v r´amci playlistu. ” Vzhledem k opakuj´ıc´ımu se oznamov´an´ı (cca 5-30 sekund) se jedn´a o mocn´ y n´astroj pro udrˇzov´an´ı aktu´aln´ı nab´ıdky program˚ u na stranˇe klient˚ u. Pokud nˇejak´ y stream nen´ı opakovanˇe ozn´amen, klient je schopen neaktivn´ı“ program st´ahnout z nab´ıdky. ” V r´amci dokumentu RFC2974 [21] jsou definov´any v´ ychoz´ı“ adresy, na kter´ ych by ” mˇelo b´ yt toto oznamov´an´ı vys´ıl´ano. Pro IP verze 4 se jedn´a o adresu 224.2.127.254. Pro IP verze 6 se jedn´a o adresy FF0x:0:0:0:0:0:2:7FFE, kde x je z´avisl´e na protoru vys´ıl´an´ı (scope). 18
Kamil Jireˇs
1.3.5
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
IGMP
Protokol IGMP (Internet Group Management Protocol) rozˇsiˇruje protokol IP a slouˇz´ı ke spr´avˇe ˇclenstv´ı v jednotliv´ ych skupin´ach pro pˇr´ıjem multicastov´eho vys´ıl´an´ı obecnˇe (tedy pouˇzit´ı si najde uplatnˇen´ı nejen v IPTV). Pomoc´ı tohoto protokolu koncov´e stanice vyjadˇruj´ı z´ajem ˇci nez´ajem o konkr´etn´ı multicastov´a data, pˇriˇcemˇz rozliˇsen´ı dat prob´ıh´a na z´akladˇe multicastov´ ych (skupinov´ ych) adres. Jelikoˇz se vyuˇz´ıv´a pro komunikaci mezi koncov´ ymi stanicemi a pro nˇe nejbliˇzˇs´ım routerem, je v r´amci IP hlaviˇcek nastaven parametr TTL na hodnotu 1 a tak´e nastaven pˇr´ıznak IP Router Alert, ˇc´ımˇz je zajiˇstˇeno, ˇze odeslan´a informace skonˇc´ı“ na nejbliˇzˇs´ım ” routeru a bude mu vˇenov´ana patˇriˇcn´a pozornost routeru.
Obr´azek 1.9: Form´at IGMPv2 (zdroj: [19] upraveno autorem) Na obr´azku 1.9 je vidˇet form´at IGMP paketu. Skupinov´a adresa odpov´ıd´a identifikaci skupiny dat (multicastov´a adresa). V´ yznam pole Maxim´aln´ı ˇcas odpovˇedi je pˇredpokl´ad´am zˇrejm´ y. Pole Kontroln´ı souˇcet je zde pro ovˇeˇren´ı spr´avn´eho doruˇcen´ı IGMP paketu. Posledn´ı hodnota Typ m˚ uˇze m´ıt tˇri hodnoty: • Membership Query (0x11) Dotaz na aktu´alnost pˇrihl´aˇsen´ı do skupiny. T´ımto typem paketu se ovˇeˇruje, zda m´a zaˇr´ızen´ı na urˇcit´em portu s´ıt’ov´eho prvku st´ale z´ajem o pˇr´ıjem dat multicastov´e skupiny, do kter´e se dˇr´ıve pˇrihl´asil. Pˇr´ıpadnˇe po odhl´aˇsen´ı se jeˇstˇe prvek ovˇeˇruje“ zda na dan´em portu nen´ı nˇejak´ y dalˇs´ı klient se z´ajmem o pˇr´ıjem ” (napˇr´ıklad pokud by byl na dan´ y port pˇripojen switch bez funkce IGMP Snooping, kde by mˇel nˇejak´ y jin´ y klient st´ale z´ajem o tato data). • Membership Report (0x16) Pˇrihl´aˇsen´ı k odbˇeru dat multicastov´e skupiny. • Leave Group (0x17) Odhl´aˇsen´ı od multicastov´e skupiny. 19
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
Klient (koncov´ y uˇzivatel) poˇz´ad´a o pˇr´ıjem dat na konkr´etn´ı multicastov´e adrese multicastov´e adresy odliˇsuj´ı jednotliv´e obsahy. Tento poˇzadavek je vysl´an na switch, kter´ y ho pˇrepoˇsle na dalˇs´ı prvek smˇerem k routeru. Je-li dalˇs´ım prvkem switch, proces se opakuje. Jakmile tato ˇz´adost o ˇclenstv´ı ve skupinˇe doraz´ı na router, router pˇriˇrad´ı dan´ y port na seznam ˇclen˚ u v konkr´etn´ı multicastov´e skupinˇe. Podle tohoto seznamu duplikuje data na jednotliv´e porty. Pokud m´a switch implementov´an IGMP Snooping, je schopen tento poˇzadavek rozpoznat a vytvoˇrit si vlastn´ı tabulku pro samotnou distribuci. Tato skuteˇcnost se projev´ı v nezatˇeˇzov´an´ı uˇzivatel˚ u nechtˇen´ ymi daty. Nen´ı-li funkce IGMP Snooping implementov´ana (pˇr´ıpadnˇe povolena) chov´a se prvek z pohledu multicastu sp´ıˇse jako hub - multicastov´e vys´ıl´an´ı pos´ıl´a na vˇsechny klienty, ne tedy pouze tˇem, kteˇr´ı si o nˇej v´ yslovnˇe ˇrekli (IGMP). Obˇe situace je moˇzn´e vidˇet na obr´azku 1.10.
Obr´azek 1.10: Vliv funkce IGMP Snooping na datov´ y tok. (zdroj: autor) Zm´ınˇen´a funkce IGMP Snooping se projevuje v agregov´an´ı“ odpovˇed´ı. Po obdrˇzen´ı ” paketu typu Membership Query od routeru, rozeˇsle prvek obdobn´ y paket na vˇsechny porty. Odpovˇed’ ovˇsem nepˇrepos´ıl´a zpˇet na router, ale s´am zpracov´av´a po potˇreby distribuce dat. Na router pos´ıl´a pouze jednu odpovˇed, kter´a odpov´ıd´a situaci zda nˇekdo“ ” poˇzaduje data na kter´e byl zasl´an dotaz ˇci nikoli. Na druhou stranu, pokud obdrˇz´ı paket typu Membership Report (pˇr´ıpadnˇe Leave Group), nejdˇr´ıve zaznamen´a“ danou zmˇenu ” do sv´e tabulky a pouze v pˇr´ıpadˇe kdy se jedn´a o prvn´ıho z´ajemce (nebo posledn´ıho v pˇr´ıpadˇe odhl´aˇsen´ı) pos´ıl´a paket dan´eho typu d´ale na router.
20
Kamil Jireˇs
1.3.6
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
PIM
V r´amci distribuce (smˇerov´an´ı) multicastu mezi routery se vyuˇz´ıv´a rodina protokol˚ u PIM (Protocol Independent Multicast). Nejpouˇz´ıvanˇejˇs´ımi variantami jsou PIM-SM (Sparse Mode) a PIM-DM (Dense Mode). PIM-DM Hust´ y“ PIM se vyuˇz´ıv´a pˇrev´aˇznˇe na sit´ıch s menˇs´ım mnoˇzstv´ım router˚ u. Pˇri ” zah´ajen´ı nov´eho multicastov´eho vys´ıl´an´ı prvn´ı“ router (routerA), kter´ y obdrˇz´ı data ” rozeˇsle“ multicast na vˇsechny porty. Dalˇs´ı router (routerB) na vˇetvi“ s´ıtˇe, kter´a nem´a ” ” z´ajem o pˇr´ıjem dan´ ych dat, projev´ı nez´ajem o dan´a data - Prune. D´a se ˇr´ıci, ˇze v prvn´ı moment, se data vnucuj´ı“ okol´ı. ” Pokud z dan´eho portu (od routerB) nepˇr´ıjde zm´ınˇen´a zpr´ava, routerA nad´ale pos´ıl´a data. Obdrˇz´ı-li routerB poˇzadavek od klienta na pˇr´ıjem dan´eho multicastu, routerB zaˇsle informaci na routerA, ˇze m´a novˇe z´ajem o dan´a data - Graft. PIM-SM Vyuˇz´ıv´a se pˇrev´aˇznˇe na rozs´ahlejˇs´ıch s´ıt´ıch, ve smyslu ˇclenitosti - poˇctu router˚ u. Na rozd´ıl od PIM-DM, doch´az´ı pouze k nab´ızen´ı dat, nikoli k jejich vnucov´an´ı“. Je ” definov´an Randezvous Point (RP), kter´ y je poj´ıtkem mezi zdrojem sign´alu a pˇr´ıjemcem. Kaˇzd´ y nov´ y poˇzadavek na pˇr´ıjem dat (router obdrˇz´ı vyuˇzit´ım IGMP) je vyˇr´ızen proti RP. Po sestaven´ı cesty se jiˇz optimalizuje datov´a trasa, takˇze ve fin´ale datov´ y tok nemus´ı j´ıt pˇres RP, ale samotn´e sestaven´ı spojen´ı by v tomto pˇr´ıpadˇe nebylo bez RP moˇzn´e.
1.4
Kvalita distribuce
Kvalita IPTV sluˇzby je pˇr´ımo u ´mˇern´a stavu s´ıtˇe - propustnost, zat´ıˇzen´ı. . . Pokud bychom vys´ılali pomoc´ı protokolu RTP (definov´an nad protokolem UDP), jednotliv´e pakety by obsahovali dodateˇcn´e informace pro datov´ y tok. Distribuci realizujeme pomoc´ı UDP z d˚ uvodu kompatibility set-top-box˚ u. V r´amci implementace nebyl probl´em s kvalitou datov´ ych cest, nebylo tedy nutn´e ˇreˇsit ot´azku zvl´aˇstn´ıho nastaven´ı s´ıtˇe pro upˇrednostnˇen´ı distribuce IPTV. Obecnˇe mohou nastat komplikace bˇehem : 21
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
• pˇrenos datovou s´ıt´ı zpravidla kostiˇckov´an´ı, nebo lup´an´ı ve zvuku (bl´ıˇze dalˇs´ı tabulky) • zpracov´an´ı na stranˇe set-top-boxu ˇspatn´e zpracov´an´ı pˇrijat´eho sign´alu - napˇr. chybnˇe implementovan´ y kodek zvuku nebo videa • pˇrenos obrazu ze set-top-boxu do televize kvalita m˚ uˇze b´ yt v´ yraznˇe sn´ıˇzena ˇspatn´ ym kabelem, kter´ y pˇren´aˇs´ı jiˇz zpˇetnˇe odbaven´ y sign´al pro zobrazen´ı • zobrazen´ı na televizi samozˇrejmˇe i reproduktory ˇci obrazovka jsou jen“ zaˇr´ızen´ı, kter´e se monou po” rouchat Ve spojen´ı se zvukem mohou nastat dva typy probl´em˚ u: • nen´ı synchronn´ı zvuk s obrazem absence informace t´ ykaj´ıc´ı se synchronizace – nen´ı vys´ıl´ana (trval´ y stav) – doˇslo ke ztr´atˇe / zpoˇzdˇen´ı dat bˇehem pˇrenostu (nahodil´ y jev) • zvuk ˇsum´ı, slyˇs´ıme lupnut´ı ztr´ata / zpoˇzdˇen´ı paket˚ u obsahuj´ıc´ı zvukov´a data Ve spojen´ı s obrazem mohou nastat tyto probl´emy: • kostiˇckovan´ y obraz – neni dostateˇcn´ y datov´ y tok – pˇr´ıpadnˇe doˇslo ke ztr´atˇe ˇca´sti dat bˇehem pˇrenosu • trh´an´ı obrazu nebo jeho zamrznut´ı – nedostateˇcn´ y datov´ y tok – chybn´ y syst´emov´ y ˇcas (napˇr. bˇehem sychnronizace ˇcasu PC) – ztr´ata synchronizace obrazu - data nedorazila vˇcas pro zpracov´an´ı videa
22
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
• ˇza´dn´ y obraz ztr´ata spojen´ı se serverem, nebo server pˇrestal vys´ılat • rozostˇren´ı obrazu, ˇsum v obraze chyba kod´eru (zdroj sign´alu), nebo dekod´eru (set-top-box / SW)
23
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
Kapitola 2 Architektura ˇ reˇ sen´ı
Obr´azek 2.1: Realizovan´e ˇreˇsen´ı. (zdroj: autor)
2.1
Zdroj sign´ alu
V r´amci ˇreˇsen´ı se z´ısk´av´a odbaven´ y digit´aln´ı sign´al skrze pozemn´ı a satelitn´ı vys´ıl´an´ı. Pro pozemn´ı vys´ıl´an´ı jsou vyuˇzity 2 ant´eny. Jedna je smˇerov´ana na vys´ılaˇc PrahaCukr´ak (LON: 14 21 21 LAT: 49 56 12) a druh´a je smˇerov´ana na vys´ılaˇc Praha-mˇesto (LON: 14 27 04 LAT: 50 04 52). Obˇe pˇrij´ımaj´ı sign´al sit´ı 1-3, pˇriˇcemˇz druh´a zmiˇ novan´a pˇrij´ım´a i sign´al z vys´ılaˇce Praha-Olˇsansk´a (O2 , kde vys´ıl´a s´ıt’ 4). Pro satelitn´ı pˇr´ıjem je vyuˇzito 5 parabol o pr˚ umˇeru 80cm s osmin´asobn´ ym konvertorem (LNB). • 5,0◦ W - Atlantic Bird 3 nˇekter´e francouzsk´e nek´odovan´e kan´aly, napˇr. France 2, France 3 Sat, France 5 • 13,0◦ E - Hot Bird 6, 8, 9 nˇekter´e arabsk´e, italsk´e, nebo polsk´e nek´odovan´e programy 24
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
• 19,2◦ E - Astra 1H, 1KR, 1L, 1M nˇekter´e nˇemeck´e, polsk´e, arabsk´e, ˇspanˇelsk´e, francouzsk´e ˇci anglick´e nek´odovan´e programy, z´aroveˇ n zde jeˇstˇe do konce z´aˇr´ı v pln´em rozsahu vys´ılala svou k´odovanou nab´ıdku spoleˇcnost UPC (od 1. kvˇetna ofici´alnˇe spustila sv´e pakety na satelitu 0,8◦ W - Thor 5, 6) • 23,5◦ E - Astra 3A, 3B, 1G, 1E ˇ 24 a Z 1 - Paket skylink/cslink, TV Oˇ ´ cko, TV nˇekter´e holandsk´e, ˇcesk´e (CT Noe), slovensk´e (TA 3 - paket skylink/cslink), nˇemeck´e, lucembursk´e nek´odovan´e programy, z´aroveˇ n na t´eto pozici vys´ıl´a svou k´odovanou nab´ıdku spoleˇcnost skylink, nebo cslink Druˇzice Astra 1G pˇrestala posledn´ı sign´al ˇs´ıˇrit dne 22.ˇcervna 2010 (vys´ıl´an´ı pˇresunuto na novou druˇzici Astra 3B). Druˇzice Astra 1E pˇrestala ˇs´ıˇrit sign´al o t´ yden dˇr´ıve. V dobˇe psan´ı pr´ace se ovˇsem st´ale jeˇstˇe nach´az´ı a napr´azdno“ ” operuj´ı na dan´e pozici. • 28,2◦ E - Eurobird 1, Astra 2A, 2B, 2D nˇekter´e anglick´e nek´odovan´e programy Na obr´azku 2.2 je vidˇet instalace pˇeti parabol a jedn´e terestri´aln´ı ant´eny.
Obr´azek 2.2: Um´ıstˇen´ı parabol (zdroj: autor)
25
Kamil Jireˇs
2.2
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
Svod sign´ alu
Zachycen´ y sign´al mus´ıme doruˇcit aˇz ke vstup˚ um do zaˇr´ızen´ı zpracov´avaj´ıc´ıch sign´al, kter´e provede nezbytn´e u ´pravy pro potˇreby doruˇcen´ı sign´alu. K tomuto u ´ˇcelu se vyuˇz´ıv´a 42 koaxi´aln´ıch kabel˚ u. Jelikoˇz je velmi nepraktick´e zakonˇcovat koaxi´aln´ı svody pˇr´ımo na vstupech zaˇr´ızen´ı je vloˇzen meziprvek“, kter´ ym je patch panel (obr´azek 2.3), kde jsou ” koaxi´aln´ı kabely zakonˇceny F konektory. V r´amci patch panelu jsou um´ıstˇeny spojky tak, aby se pro pˇripojen´ı jednotliv´ ych vstup˚ u na zaˇr´ızen´ı daly vyuˇz´ıt standardn´ı“ ” patch kabely, kter´e jsou bˇeˇznˇe dostupn´e. V cel´e d´elce svodu se nenach´az´ı ˇz´adn´ y sluˇcovaˇc ani rozboˇcovaˇc sign´alu, kaˇzd´ y v´ ystup z konvertoru / ant´eny je sveden pˇr´ımo na patch panel. Vzhledem k pokryt´ı ˇcesk´ ych program˚ u z terestri´aln´ıho vys´ıl´an´ı, se uk´azalo nezbytn´e pouˇz´ıt rozboˇcovaˇc sign´alu pro svod od terestri´aln´ı ant´eny, ten byl um´ıstˇen aˇz k server˚ um, nicm´enˇe mohl by se nach´azet i pˇred patch panelem.
Obr´azek 2.3: Patch panel pro ant´enn´ı svody (zdroj: autor)
2.3
Zpracov´ an´ı sign´ alu
Pro zpracov´an´ı pˇrijat´eho digit´aln´ıho vys´ıl´an´ı a jeho odes´ıl´an´ı do s´ıtˇe se vyuˇz´ıv´a poˇc´ıtaˇc setaven´ y z bˇeˇznˇe dostupn´ ych d´ıl˚ u (tabulka 3.1). Pˇri volbˇe operaˇcn´ıho syst´emu, byl zohlednˇen aspekt n´aklad˚ u, proto byl nasazen operaˇcn´ı syst´em Linux. Pro sv´e poˇzadavky na velikost pevn´eho disku byla zvolena distribuce Slackware.
26
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
Vzhledem k pouˇzit´ ym prvk˚ um v poˇc´ıtaˇcov´e s´ıt´ı (viz Doruˇcen´ı k uˇzivatel˚ um) a jejich HW podpoˇre pro multicast pˇres IPv4 byla zvolena forma ˇs´ıˇren´ı pr´avˇe vyuˇzit´ım multicastu na IPv4. Samotn´e odbaven´ı je realizov´ano vyuˇzit´ım aplikace MUMUDVB, kter´a nejen zpracuje sign´al digit´aln´ıho vys´ıl´an´ı pro potˇreby vys´ıl´an´ı IPTV, ale z´aroveˇ n odes´ıl´a do s´ıtˇe ozn´amˇen´ı o vys´ılan´ ych programech (SAP Announcement). Pro potˇreby set-top-box˚ u je na jednom poˇc´ıtaˇci zprovoznˇen webov´ y server pro poskytov´an´ı konfigurace program˚ u a nabidek uˇzivatel˚ um. Konfigurace program˚ u v tomto kontextu pˇredstavuje pˇriˇrazen´ı rychl´ ych“ voleb jednotliv´ ym program˚ um - 1 odpov´ıd´a ” ˇ 1, 2 odpov´ıd´a CT ˇ 2 ... CT
2.4
Doruˇ cen´ı k uˇ zivatel˚ um
Kaˇzd´ y server je pˇripojen linkou 1Gbps do routeru ge-stream. Tento prvek se star´a o dalˇs´ı distribuci sign´alu. Pokud by nikdo nemˇel z´ajem o ˇza´dn´ y program, tento prvek by d´ale nic nevys´ılal.
Obr´azek 2.4: Sch´ema s´ıt’ov´eho zapojen´ı (zdroj: autor) Z pohledu s´ıtˇe (obr. 2.4) je prvek zapojen pomoci etherchannel1 2x1Gbps do gejmb0. Odtud je dostupn´a konektivita 1Gbps pro are´al jiˇzn´ıho mˇesta, pˇr´ıpadnˇe kolej´ı Blanice a Vlatava. D´ale je zde 10Gbps spoj do ca65sb a 1Gbps do ca65rb, pˇriˇcemˇz oba prvky jsou v are´alu na ˇziˇzkovˇe. Odtud jsou jiˇz dalˇs´ı lokality pˇripojeny rychlost´ı 1Gbps, 1
technologie pro agregaci fyzick´ ych linek pro zv´ yˇsen´ı propustnosti
27
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
v´ yjimkou jsou lokality Tˇrebeˇs´ın a Toˇcn´a, kter´e jsou pˇripojeny bezdr´atovou technologii s niˇzˇs´ı propustnost´ı (nicm´enˇe pro soubˇeˇzn´e sledov´an´ı omezen´eho poˇctu program˚ u dostaˇcuj´ıc´ı). Pro vˇetˇsinu koncov´ ych klient˚ u plat´ı, ˇze jsou pˇripojeny do prvku 3com 4500 (obr. 2.5). Tento prvek m´a inplementovan´ y IGMP Snooping a tud´ıˇz zpracov´av´a IGMP poˇzadavky na odbˇery multicastu. Se serverem d´ale komunikuje agregovan´ ymi“ statuty ” IGMP paket˚ u - nepˇrepos´ıl´a kaˇzd´ y jeden od uˇzivatele.
Obr´azek 2.5: Switch 3com 4500 (zdroj: [2])
28
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
Kapitola 3 Volba SW/HW 3.1
Komponenty serveru
Pro volbu spr´avn´ ych komponent serveru je nezbytn´e zv´aˇzit nˇekolik okolnost´ı. Krit´eria lze rozdˇelit podle ˇca´st´ı kter´e ovlivˇ nuj´ı: CPU Volbu vhodn´eho CPU ovlivˇ nuje skuteˇcnost, zda uvaˇzujeme o softwarov´em dek´odov´an´ı, tedy zpracov´an´ı program˚ u s podm´ınˇen´ ym pˇr´ıstupem, kter´ y by nebyl ˇreˇsen pomoc´ı CAM modul˚ u (hardwarov´a akcelerace“ zpracov´an´ı podm´ınˇen´eho pˇr´ıstupu). ” HDD Ot´azka archivace program˚ u ovlivˇ nuje velikost zvolen´eho pamˇet’ov´eho zaˇr´ızen´ı, neuvaˇzujeme-li o archivaci, postaˇc´ı n´am prostor okolo 2 GB (v pˇr´ıpadˇe nouze“ by se dalo ” vyj´ıt i s menˇs´ı kapacitou - pro funkˇcn´ı operaˇcn´ı syst´em by staˇcilo i nˇekolik des´ıtek MB). V r´amci naˇseho ˇreˇsen´ı pouˇzijeme 2GB CompactFlash kartu s redukc´ı na SATA. RAM N´aroˇcnost na operaˇcn´ı pamˇet’ nen´ı nijak v´ yrazn´a. Pro pouh´e pˇrepos´ıl´an´ı“ n´am bohatˇe ” postaˇcuje pamˇet’ okolo 256 MB (staˇcila by i mˇenˇs´ı, ale vzhledem k nab´ıdce na trhu by se jiˇz tˇeˇzko sh´anˇela . . . ). Nicm´enˇe vzhledem k cen´am pamˇet’ov´ ych modul˚ u m˚ uˇzeme pouˇz´ıt 2GB modul a 1GB bez jak´ ychkoli probl´em˚ u vyˇclenit na RAM disk - pˇr´ımo se nab´ız´ı pro vyuˇzit´ı jako pracovn´ı sloˇzky, vzhledem k z´avislosti na nap´ajen´ı nen´ı vhodn´e pro ukl´adan´ı log˚ u. CD-ROM Pro bˇeˇzn´ y chod serveru nen´ı potˇreba, nemus´ı b´ yt souˇca´st´ı sestavy. Pro instalaci lze pouˇz´ıt extern´ı CD-ROM mechaniku, flash disk, popˇr´ıpadˇe naˇcten´ı syst´emu po s´ıti 29
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
PXE boot. zdroj sign´ alu Tato kapitola z´avis´ı na datech, kter´e se rozhodneme vys´ılat. Uvaˇzujeme-li o vys´ıl´an´ı digit´aln´ıho televizn´ıho sign´alu, mus´ıme zv´aˇzit vhodn´e DVB zaˇr´ızen´ı. Pˇr´ıklad karet doˇ e republice m˚ stupn´ ych v Cesk´ uˇzeme naj´ıt v kapitol´ach 3.1.1 DVB-T (pozemn´ı vys´ıl´an´ı) a 3.1.2 DVB-S (satelitn´ı vys´ıl´an´ı). poˇ c´ıtaˇ cov´ a skˇ r´ıˇ n - CASE Volba case je z´avisl´a na poˇzadovan´em um´ıstˇen´ı pˇripravovan´eho serveru. Um´ıstˇen´ı do 19” racku : • 1U 1 PCI karta s u ´hlovou redukc´ı moˇznost pˇripojen´ı DVB zaˇr´ızen´ı pˇres USB • 1,5 U 2 PCI karty s dvojitou u ´hlovou redukc´ı moˇznost pˇripojen´ı DVB zaˇr´ızen´ı pˇres USB • 3U dostatek m´ısta pro um´ıstˇen´ı PCI karet pˇr´ımo do z´akladn´ı desky moˇznost pˇripojen´ı DVB zaˇr´ızen´ı pˇres USB
Obr´azek 3.1: Skˇr´ıˇ n Eurocase IPC 4U-500 server case 19” (zdroj: [1]) Pokud se spokoj´ıme pouze s USB kartami, m˚ uˇzeme pouˇz´ıt i embeded PC (napˇr. ALIX1 ), nebo m˚ uˇzeme pouˇz´ıt i nˇekter´e typy pˇr´ıstupov´ ych bod˚ u pro WiFi, Router1
produkt firmy PC Engines - www.pcengines.ch
30
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
Station2 , pˇr´ıpadnˇe dalˇs´ı zaˇr´ızen´ı umoˇzn ˇuj´ıc´ı spuˇstˇen´ı OS LINUX, v tomto pˇr´ıpadˇe OpenWRT.
typ
oznaˇ cen´ı
konkr´ etn´ı komponenta
procesor
CPU
Intel(R) Pentium(R) Dual CPU E2200 @ 2.20GHz
operaˇcn´ı pamˇet’
RAM
2GB RAM (1GB se pouziva jako RAM DISK)
pevn´ y disk
HDD
2GB SSD (na /tmp se mapuje 1GB RAM DISK) APACER 2GB ADM (ATA Disk Module)
z´akladn´ı deska
MB
MSI P6NG NEO-Digital
skˇr´ıˇ n
CASE
Eurocase IPC 4U-500 server case 19” (obr´azek 3.1)
CD-ROM
sestava neobsahuje CD-ROM DVB-S
3x Technisat SkyStar2 HD (+1x CI SLOT)
DVB-T
Leadtek WinFast DVR 3100 H
vstupn´ı zaˇr´ızen´ı dalˇs´ı HW
SmartGo SmartReader plus Tabulka 3.1: Zvolen´e HW komponenty
3.1.1
DVB-T
ˇ e republice, kter´e V t´eto kapitole uv´ad´ım zaˇr´ızen´ı dostupn´e v prodejn´ı s´ıti v Cesk´ je moˇzn´e zprovoznit pro operaˇcn´ım syst´emem Linux. Pro moˇznost volby vhodn´e karty uv´ad´ım u jednotliv´ ych zaˇr´ızen´ı kroky potˇrebn´e pro jejich oˇziven´ı. Kapitola se zab´ yv´a zaˇr´ızen´ımi pro pˇr´ıjem pozemn´ıho televizn´ıho sign´alu, sch´an´ıte-li informace k zaˇr´ızen´ı pro pˇr´ıjem satelitn´ıho sign´alu, najdete je v n´asleduj´ıc´ı kapitole (3.1.2 DVB-S). 3.1.1.1
Leadtek WinFast DVR 3100 H
Zaˇr´ızen´ı m´a podporu v podobˇe modulu cx18. Je nezbytn´e dodateˇcnˇe st´ahnout z internetu nˇekolik soubor˚ u s firmwarem, kter´e jsou nezbytn´e pro inicializaci ovladaˇce a jeho spr´avnou funkci - tyto soubory se nenahr´avaj´ı do karty, ale jsou pouze pro potˇreby samotn´eho ovladaˇce. Vˇsechny tyto soubory je nezbytn´e uloˇzit do adres´aˇre /lib/firmware: 2
produkt firmy Ubiquiti - www.ubnt.com
31
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
• xc3028-v27.fw Kroky k z´ısk´an´ı souboru byly pˇrevzaty z webov´e adresy http://lists-archives.org/video4linux/20831-extract-tool-for-xc3028-firmware.html 1. st´ahnout ovladaˇce pro Windows z adresy: http://www.steventoth.net/linux/ xc5000/HVR-12x0-14x0-17x0 1 25 25271 WHQL.zip 2. rozbalit soubor hcw85bda.sys z archivu 3. spust’te skript extract xc3028.pl (k dispozici se zdrojov´ ymi k´ody j´adra, nebo v4l-dvb) 4. zkop´ırujte z´ıskan´ y soubor xc3028-v27.fw na spr´avn´e um´ıstˇen´ı • v4l-cx23418-cpu.fw, v4l-cx23418-apu.fw, v4l-cx23418-dig.fw Soubory jsou volnˇe dostupn´e ke staˇzen´ı na serveru linuxtv.org ve sloˇzce linuxtv.org/downloads/firmware/. pˇr´ıklad staˇzen´ı: wget http://linuxtv.org/downloads/firmware/v4l-cx23418-cpu.fw wget http://linuxtv.org/downloads/firmware/v4l-cx23418-apu.fw wget http://linuxtv.org/downloads/firmware/v4l-cx23418-dig.fw 3.1.1.2
MSI DIGI VOX mini II
integrovan´ y obvod Afatech af9015 Toto USB zaˇr´ızen´ı je vyr´abˇeno v b´ıl´e barvˇe krytu. Jeho podpora je zaˇclenˇena pˇr´ımo do j´adra od verze 2.6.28. Oˇziven´ı je podm´ınˇeno pouze dodateˇcn´ ym staˇzen´ım souboru s firmwarem do adres´aˇre /lib/firmware. • dvb-usb-af9015.fw http://www.otit.fi/∼crope/v4l-dvb/af9015/af9015 firmware cutter/ firmware files/4.95.0/dvb-usb-af9015.fw pˇr´ıklad staˇzen´ı: wget http://www.otit.fi/∼crope/v4l-dvb/af9015/af9015 firmware cutter/ firmware files/4.95.0/dvb-usb-af9015.fw integrovan´ y obvod Realtek RTL2832UDVB Toto zaˇr´ızen´ı je nab´ızeno pod stejn´ ym oznaˇcen´ım produktu jako verze s integrovan´ ym obvodem AF9015. Obal zaˇr´ızen´ı je ˇcern´e barvy. 32
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
Ofici´alnˇe toto zaˇr´ızen´ı nen´ı podporov´ano. Na nˇemeck´em f´oru uˇzivatel˚ u distribuce Ubuntu (http://forum.ubuntuusers.de/) se mi podaˇrilo naj´ıt pˇr´ıspˇevek z ˇr´ıjna 2009, kde je odkaz na ovladaˇce, ve v´ yvojov´em st´adiu poskytnut´e v´ yrobcem zaˇr´ızen´ı. Na z´akladˇe tohoto pˇr´ıspˇevku jsem pˇrispˇel linuxov´e komunitˇe na serveru ABClinuxu, kde jsem popsal zprovoznˇen´ı tohoto zaˇr´ızen´ı http://www.abclinuxu.cz/poradna/linux/show/264833#7. Zaˇr´ızen´ı se iniciuje dvakr´at, coˇz nen´ı zcela optim´aln´ı, ale pro pouˇzit´ı zaˇr´ızen´ı se jedn´a o lepˇs´ı variantu, neˇz kdyby se neinicioval ani jednou. . . Z´akladem je staˇzen´ı souboru s ovladaˇcem, kter´ y je dostupn´ y na adrese : http://media.ubuntuusers.de/forum/attachments/2103272/ 090730 RTL2832U LINUX Ver1.1.rar Dan´ y soubor obsahuje i soubor readme, kde je uveden popis, jak pˇreloˇzit zdrojov´e soubory. Postup oˇziven´ı by se dal popsat v n´asleduj´ıc´ıch bodech: 1. staˇzen´ı souboru s ovladaˇcemi http://media.ubuntuusers.de/forum/attachments/2103272/ 090730 RTL2832U LINUX Ver1.1.rar 2. staˇzen´ı zdrojov´ ych soubor˚ u v4l-dvb http://linuxtv.org/hg/v4l-dvb/archive/tip.tar.bz2 3. vytvoˇren´ı pracovn´ı sloˇzky a rozbalen´ı souboru se zdrojov´ ymi soubory do t´eto sloˇzky 4. rozbal´ıme soubory s koncovkou .c a .h do pracovn´ı sloˇzky, pˇresnˇeji do adres´aˇre linux/drivers/media/dvb/dvb-usb v r´amci struktury zdrojov´ ych soubor˚ u v4l-dvb 5. v r´amci dan´e sloˇzky dvb-usb je potˇrebn´e pˇridat do souboru Makefile n´asleduj´ıc´ı ˇra´dky dvb-usb-rtl2832u-objs = demod rtl2832.o dvbt demod base.o dvbt nim base.o foundation.o math mpi.o nim rtl2832 mxl5007t.o nim rtl2832 fc2580.o nim rtl2832 mt2266.o rtl2832u.o rtl2832u fe.o rtl2832u io.o tuner mxl5007t.o tuner fc2580.o tuner mt2266.o tuner tua9001.o nim rtl2832 tua9001.o obj-$(CONFIG DVB USB RTL2832U) += dvb-usb-rtl2832u.o
33
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
6. d´ale je potˇrebn´e ve stejn´e sloˇzce pˇridat nˇekolik ˇr´adk˚ u do souboru Kconfig (po tento bod je postup pops´an v souboru readme) config DVB USB RTL2832U tristate ”Realtek RTL2832U DVB-T USB2.0 support” depends on DVB USB help Realtek RTL2832U DVB-T driver.
7. v souboru rtl2832u.c je potˇrebn´e odkomentovat ˇr´ıdek 12 DVB DEFINE MOD OPT ADAPTER NR(adapter nr) 8. na ˇra´dc´ıch 61-62 v souboru rtl2832u.c je zapotˇreb´ı doplnit parametr adapter nr, v´ yslednˇe bude ˇra´dek vypadat n´asledovnˇe: dvb usb device init(intf,&rtl2832u 2nd properties, THIS MODULE,NULL,adapter nr) Po proveden´ı tˇechto zmˇen je jiˇz moˇzn´e pˇreloˇzit a nainstalovat ovladaˇce (moduly j´adra zabezpeˇcuj´ıc´ı komunikaci se zaˇr´ızen´ım).
3.1.2
DVB-S
ˇ e Obdobnˇe jako v kapitole DVB-T uv´ad´ım zaˇr´ızen´ı dostupn´e v prodejn´ı s´ıti v Cesk´ republice, kter´e je moˇzn´e zprovoznit pod OS Linux. 3.1.2.1
Technisat SkyStar2
Pro oˇziven´ı“ je pouˇz´ıv´an modul b2c2-flexcop. Tento modul je standartn´ı souˇca´st´ı ” j´adra - nen´ı nutn´e ztahovat dodateˇcn´e moduly, zdrojov´e k´ody, pˇr´ıpadnˇe firmware. 3.1.2.2
Technisat SkyStar2 HD
Tato karta podporuje standard DVB-S2 a m´a bezprobl´emovou podporu v LINUXu. Modulem potˇrebn´ ym pro oˇziven´ı karty je MANTIS. Tento modul je standartnˇe dostupn´ y jak v repozit´aˇri v4l-dvb, z´aroveˇ n je jiˇz modul standartnˇe dostupn´ y i v samotn´em j´adru LINUXu, alespoˇ n od verze 2.6.33-rc5, kdy byl ofici´alnˇe pˇrid´an.
34
Kamil Jireˇs
3.2 3.2.1
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
Software Operaˇ cn´ı syst´ em
Vzhledem k pˇredpokladu minimalizace n´aklad˚ u na ˇreˇsen´ı neuvaˇzujeme komerˇcn´ı operaˇcn´ı syst´emy (napˇr. Microsoft Windows). S pˇrihl´ednut´ım k dosavadn´ım zkuˇsenostem s distribucemi zaloˇzen´ ymi na OS LINUX a dostupn´ ym aplikac´ım pro toto prostˇred´ı byl LINUX upˇrednostnˇen pˇred protivn´ıky“ na poli operaˇcn´ıch syst´em˚ u ” BSD, Sun OS, OpenServer, Solaris, HP/UX . . . 3.2.1.1
Dostupn´ e distribuce N´ azev
typ bal´ıˇ ck˚ u
domovsk´ a str´ anka
Ubuntu
DEB (apt, aptitude)
www.ubuntu.com
Fedora
RPM (yum)
fedoraproject.org
openSUSE
RPM (zypp)
www.opensuse.org
Debian
DEB (apt, aptitude)
www.debian.org
Mandriva
RPM (urpmi)
www.mandriva.com
Linux Mint
DEB
www.linuxmint.com
PCLinuxOS RPM
pclinuxos.com
Slackware
txz (slackpkg)
www.slackware.com
Gentoo
src (portage)
www.gentoo.org
CentOS
RPM
www.centos.org
Tabulka 3.2: Nejrozˇs´ıˇrenˇejˇs´ı distribuce LINUXu dle distrowatch.com
Vzhledem k velk´emu mnoˇzstv´ı distribuc´ı je v t´eto kapitole vybr´ana skupina nejrozˇs´ıˇrenˇejˇs´ıch distribuc´ı podle serveru distrowatch.com. Pro jednotliv´e distribuce byly pˇrevzaty struˇcn´e popisy distribuc´ı (na serveru jsou popisy v angliˇctinˇe - voln´ y pˇreklad autorem pr´ace). V n´asleduj´ıc´ım pˇrehledu byly distribuce pˇreskupeny podle pouˇz´ıvan´eho typu bal´ıˇck˚ u.
35
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
DEB Ubuntu Prvn´ı informace o distribuci se objevuj´ı aˇz v z´aˇr´ı 2004. Za jeho n´astupem st´al multimilion´aˇr Mark Shuttleworth, kter´ y nab´ıdl zdarma zasl´an´ı instalaˇcn´ıch CD vˇsem, kteˇr´ı o to projevili z´ajem. Distribuce je zaloˇzena na distribuci Debian sid“ (v´ yvojov´a ” vˇetev). Distribuce maj´ı pevnˇe napl´anovan´e vyd´av´an´ı nov´ ych verz´ı na kaˇzd´ ych 6 mˇes´ıc˚ u. Bezpeˇcnostn´ı opravy jsou vyd´av´any 3-5 let v z´avislosti na edici. Distribuce obsahuje GNOME. Jsou dostupn´e odvozen´e distribuce Kubuntu, Xubuntu, Ubuntu studio a Mythbuntu. Debian Prvn´ı verze distribuce se objevila jiˇz v roce 1993. Na v´ yvoji distribuce se pod´ıl´ı pˇres 1000 dobrovoln´ık˚ u. Je k dispozici pˇres 20 000 bal´ıˇck˚ u (pro 11 architektur procesoru). Nov´e verze distribuce jsou vyd´av´any v intervalu 1-3 roky. Nejnovˇejˇs´ı verze aplikac´ı jsou dostupn´e ve v´ yvojov´ ych a testovac´ıch vˇetv´ıch. LinuxMint Distribuce vych´azej´ıc´ı z Ubuntu. Jej´ı autor poskytoval pomoc uˇzivatel˚ um LINUXu pˇres webov´e str´anky. Podmˇety od uˇzivatel˚ u posb´ıral a zaˇclenil je do t´eto distribuce, nˇekdy je proto oznaˇcov´ana jako vylepˇsen´e Ubuntu“. Projekt naslouch´a“ pˇr´an´ı uˇzivatel˚ u, na ” ” druhou stranu nepublikuje bezpeˇcnostn´ı upozornˇen´ı. RPM Fedora Distribuce dostupn´a od roku 2004, aˇckoli prvn´ı verze se objevila jiˇz v roce 1995. Vystˇr´ıdala Slackware na pozici nejv´ıce uˇz´ıvan´e linuxov´e distribuce na svˇetˇe. V roce 2003 byla vyd´ana dev´at´a verze distribuce Red Hat jako komerˇcn´ı a z´aroveˇ n stejnojmenn´a spoleˇcnost pˇredstavila Fedora core, sponzorovanou Red Hatem, ale orientovanou na komunitu. openSUSE Distribuce, kterou je moˇzno vidˇet jiˇz od roku 1992. Firma SuSE byla v roce pˇrevzata firmou Novell. Vedle volnˇe ˇsiˇriteln´e verze openSUSE je na trhu i komerˇcn´ı verze SuSE linux Enterprise. Mandriva V roce 1998 byla Mandriva uvedena jako Mandrake, pˇriˇcemˇz se mˇelo jednat pouze 36
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
o m´ırnˇe upravenou verzi Red Hatu, nicm´enˇe tyto m´ırn´e u ´pravy“ vy´ ustily v samostat” nou distribuci. Existuje tak´e Mandriva Flash, coˇz je autonomn´ı instalace Linuxu pˇr´ımo na Flash disku. PCLinuxOS Distribuce je odvozena od Mandrake Linuxu, nicm´enˇe velk´ y d˚ uraz je kladen na uˇzivatelskou pˇr´ıvˇetivost - obzvl´aˇstˇe pro zaˇca´teˇcn´ıky. Nov´e verze nejsou pˇr´ıliˇs ˇcasto vyd´av´any. Autor se snaˇz´ı vyˇckat“ na opravy zn´am´ ych chyb ” CentOs Jedn´a se o klon Red Hat Enterprise Linux. Nab´ız´ı stejnou sadu dobˇre testovan´eho j´adra a bal´ıˇck˚ u. N´asleduje i ˇc´ıslov´an´ı a verze jsou zveˇrejˇ nov´any kaˇzd´e 2-3 roky, podverze“ ” (napˇr. 5.1) jsou zveˇrejˇ nov´any kaˇzd´ ych 6-9 mˇes´ıc˚ u, pˇriˇcemˇz neobsahuj´ı ˇza´dn´e podstatn´e zmˇeny ve vlastnostech, ale sp´ıˇse pˇrid´avaj´ı podporu nov´eho hardware. Vlastn´ı typy bal´ıˇ ck˚ u Slackware Jedn´a se o nejstarˇs´ı st´ale pouˇz´ıvanou distribuci. Prvn´ı verze byla pˇredstavena v roce 1992 na 24 disket´ach a byla postavena na j´adru 0.99pl11-alpha. V roce 1995 byla nasazov´ana v cca 80% linuxov´ ych instalac´ıch. Slackware obsahuje pouze omezen´e mnoˇzstv´ı n´astroj˚ u, pˇriˇcemˇz se tato distribuce nˇekdy oznaˇcuje za bezchybovou a nejv´ıce vˇernou UNIXov´ ym princip˚ um. Na druhou stranu je nutn´e i pˇriznat v´ yraznˇe m´enˇe ofici´alnˇe podporovan´ ych aplikac´ı. Distribuce se zamˇeˇruje sp´ıˇse na hol´ y“ syst´em a n´asledn´a ” konfigurace je jiˇz na uˇzivateli, ˇci spr´avci syst´emu. Syst´em bal´ıˇck˚ u: pkgtool“, soubory txz ” Gentoo Autor se pokusil pˇren´est nˇekter´e principy zpr´avy program˚ u (bal´ıˇck˚ u) z FreeBSD. Z´akladn´ı myˇslenkou je pˇreklad program˚ u pˇr´ımo ze zdrojov´ ych k´od˚ u na poˇc´ıtaˇci, kde bude dan´ y program provozov´an, ˇc´ımˇz by mˇelo b´ yt snaˇzˇs´ı udrˇzovat aktualizovan´ y software - nemus´ı se ˇcekat aˇz nˇekdo pˇriprav´ y bal´ıˇcek s poˇzadovan´ ym programem, ale jednoduˇse dojde k jeho pˇrekladu hned, jakmile je uvolnˇen zdrojov´ y k´od s novou verz´ı. C´ılovou skupinou jsou zkuˇsen´ı uˇzivatel´e. Instalace bylo postupem ˇcasu zjednoduˇsena vyuˇzit´ım LiveCD a klikac´ım“ instalaˇcn´ım prostˇred´ım. Velkou pˇrednost´ı je v´ yborn´a ” bezpeˇcnost a snadn´a aktualizace program˚ u. Distribuce se m˚ uˇze pochlubit nejl´epe zpracovanou online dokumentac´ı ze vˇsech distribuc´ı. 37
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
Syst´em bal´ıˇck˚ u: portage“, soubory se zdrojov´ ym k´odem (src) ” 3.2.1.2
Zvolen´ y operaˇ cn´ı syst´ em
Vzhledem k zam´ yˇslen´e jedno´ uˇcelnosti je distribuce vyb´ır´ana s pˇrihl´ednut´ım k jej´ı minim´aln´ı velikosti distribuce, alespoˇ n co se pˇredpˇripraven´ ych bal´ıˇck˚ u t´ yˇce, m˚ uˇze v d˚ usledku znamenat pl´ ytv´an´ı m´ıstem. Kaˇzd´a distribuce obsahuje nezbytn´e komponenty pro svou spr´avu, kter´e ˇcasto ani neumoˇzn´ı nenainstalovat - jiˇz z principu, nebot’ by umoˇznila odstranˇen´ı n´astroj˚ u, kterer´e zabezpeˇcuj´ı charakteristick´e sluˇzby, nebo se staraj´ı o z´avislosti a pododnˇe. Vzhledem k tˇemto pˇredpoklad˚ um byla zvolena distribuce Slackware, nebot’ nab´ız´ı nejjednoduˇsˇs´ı sadu nezbytn´ ych n´astroj˚ u i za cenu pˇr´ıpadn´e nutnosti ˇreˇsit vybran´e situace sv´epomoc´ı bez vyuˇzit´ı n´astroj˚ u. 3.2.1.3
Zabezpeˇ cen´ı
Nen´ı re´aln´e, aby robustn´ı projekty neobsahovali ˇz´adn´e chyby. Nˇekdy se m˚ uˇze jednat o pouze“ nedorozumˇen´ı mezi jednotliv´ ymi komponentami, kter´e zp˚ usob´ı situaci, kdy ” v pˇresnˇe dan´e posloupnosti ud´alost´ı m˚ uˇze u ´toˇcn´ık z´ıskat menˇs´ı ˇci vˇetˇs´ı kontrolu nad danou aplikac´ı, popˇr´ıpadˇe je schopen spustit aplikaci dalˇs´ı. Pokud si uˇzivatel´e, testeˇri ˇci v´ yvoj´aˇri, vˇsimnou takov´e chyby, obvykle ji reportuj´ı jako tzv. bug“ a n´aslednˇe ” je vytvoˇrena oprava. Takov´ yto cyklus je zcela prirozen´ y a nen´ı z´avisl´ y na operaˇcn´ım syst´emu ani prostˇred´ı ve kter´em je aplikace ps´ana, jednuˇse ˇreˇceno chyby se st´avaji . . . Pokud provozujeme server, je naˇs´ı povinnost´ı aplikovat dostupn´e opravy (minim´alnˇe bezpeˇcnostn´ı) a z´aroveˇ n v nejvyˇsˇs´ı moˇzn´e m´ıˇre pˇredch´azet situac´ım, kter´e by mohli vy´ ustit v bezpeˇcnostn´ı incident. Dobr´ ym zaˇca´tkem je zabezpeˇcen´ı pˇr´ıstupu k serveru. Co se t´ yˇce fyzick´eho zabezpeˇcen´ı, tak jako administr´atoˇri nem´ame vˇzdy moˇznost pˇr´ımo ovlivnit okol´ı serveru. Co ovˇsem m˚ uˇzeme vˇzdy je zabezpeˇcen´ı serveru proti u ´toku z venˇci“, tedy skrze poˇc´ıtaˇcovou s´ıt’. ” Lid´e jsou v pokusech o dobyt´ı“ poˇc´ıtaˇce znaˇcnˇe vynal´ezav´ı, nicm´enˇe proti nˇekter´ ym ” zn´am´ ym zp˚ usob˚ um u ´tok˚ u je obrana vcelku jednoduch´a. Je tedy nezbytn´e nepodcenit ot´azku zabezpeˇcen´ı a pokusit se pˇredej´ıt naruˇsen´ı bezpeˇcnosti. Je tedy zapotˇreb´ı zabezpeˇcit poˇc´ıtaˇc jak proti u ´tok˚ um z venku na nevyuˇz´ıvan´e, nebo jen internˇe vyuˇz´ıvan´e sluˇzby za pouˇzit´ı firewallu“. ” Zabezpeˇcen´ı m˚ uˇzeme ˇreˇsit externˇe“, kdy um´ıst´ıme server za HW firewall, kde ” 38
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
bychom ˇreˇsili ot´azku pˇr´ıstupu na u ´rovni s´ıt’ov´eho pˇripojen´ı. Druhou variantou je SW firewall, kter´ y je dostupn´ y v r´amci j´adra operaˇcn´ıho syst´emu. Pokud bychom chtˇeli jen“ vys´ılat obsah, nepotˇrebujeme m´ıt moˇznost nav´azat ko” munikaci na servery z venku“, tedy pouze by vys´ılali (je dobr´e vyˇreˇsit pˇr´ıstup pro ” potˇreby administrace). Na druhou stranu, pokud na nˇejak´em serveru chceme poskytovat potˇrebn´e informace pro set-top-boxy, mus´ı b´ yt tento server pˇr´ıstupn´ y alespoˇ n z ˇc´asti s´ıtˇe, kde se nach´az´ı set-top-boxy, nicm´enˇe set-top-boxy nemus´ı m´ıt pˇr´ıstup mimo s´ıt’. Pro potˇreby administrace byl zvolen SSH pˇr´ıstup s autorizac´ı pomoc´ı certifik´atu (TCP, port 22). D´ale na serveru s nastaven´ım pro set-top-boxy je zapotˇreb´ı m´ıt k dispozici webov´ y server (TCP, port 80). V pˇr´ıpadˇe sd´ılen´ı kl´ıˇc˚ u (kartov´ y server) je zapotˇreb´ı lok´alnˇe zpˇr´ıstupnit port pro komunikaci newcs (TCP, port 12000).
3.2.2
Vys´ıl´ an´ı obsahu
Pokud m´ame oˇziven´e“ zaˇr´ızen´ı DVB, jsme schopni z´ıskat digit´aln´ı televizn´ı sign´al. ” Tento sign´al jiˇz m˚ uˇzeme zpracovat jak pro sledov´an´ı, ˇci vys´ıl´an´ı v re´aln´em ˇcase, tak napˇr´ıklad pro z´aznam. V naˇsem pˇr´ıpadˇe se budeme zaj´ımat o variantu vys´ıl´an´ı do s´ıtˇe v re´aln´em ˇcase. 3.2.2.1
Dostupn´ e programov´ e vybaven´ı
V t´eto kapitole se pokus´ım porovnat vlastnosti nejrozˇs´ıˇrenˇejˇs´ıch projekt˚ u t´ ykaj´ıc´ıch se vys´ıl´an´ı. Videolan - vls VideoLan Server (VLS) je ukonˇcen´ y projekt zab´ yvaj´ıc´ı se vys´ıl´an´ım obsahu do s´ıtˇe jak skrze unicast, tak s vyuˇzit´ım multicastu. Nen´ı moˇzn´e prov´adˇet jak´ekoli u ´pravy videa ani audia. Tento program umoˇzn ˇuje pracovat s: • DVB DVB zaˇr´ızen´ı (vyuˇzit´ı v r´amci t´eto pr´ace) • V4L Video4Linux zaˇr´ızen´ı. M˚ uˇze se jednat napr´ıklad o webov´e kamery, nebo analogov´e televizn´ı karty, vˇcetnˇe analogov´ ych vstup˚ u na kombinovan´ ych (hybridn´ıch) televizn´ıch kart´ach - analogov´e i digit´aln´ı 39
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
• DVD Je moˇzn´e pouˇz´ıt DVD jako zdroj sign´alu. • soubor Zvl´ad´a zdrojov´e soubory obsahuj´ıc´ı video/audio v MPEG2 Aplikace se konfiguruje pomoc´ı konfiguraˇcn´ıho souboru. Nab´ız´ı ovˇsem i telnet rozhran´ı, pˇres kter´e je moˇzn´e za provozu mˇenit konfiguraci jednotliv´ ych vys´ılan´ ych program˚ u, tedy definovat nov´e v´ ystupn´ı adresy, zdrojov´a data (jedna ze zmiˇ novan´ ych moˇznost´ı) i spouˇstˇet ˇci zastavovat vys´ıl´an´ı. Zmˇeny proveden´e pˇres telnet rozhran´ı se bohuˇzel neprom´ıtaj´ı do konfiguraˇcn´ıho souboru. Po restartu aplikace je tedy nezbytn´e veˇsker´e zmˇeny prov´est znovu. Pro konfiguraci program˚ u z´ısk´avan´ ych z DVB zaˇr´ızen´ı je nezbytn´e m´ıt pˇripraven´ y dvbrc soubor, kter´ y obsahuje popis jednotliv´ ych dostupn´ ych program˚ u. Form´at tohoto souboru nen´ı pˇr´ıliˇs rozˇs´ıˇren´ y, d´a se tedy oznaˇcit za specifick´ y pro tuto aplikaci. Tato skuteˇcnost m˚ uˇze m´ıt vliv pˇri rozhodov´an´ı o nasazen´ı, nebot’ komplikuje u ´drˇzbu aktu´aln´ıho popisu program˚ u. Pro streamov´an´ı jsou k dispozici protokoly IP verze 4 a IP verze 6. Aplikace nenab´ız´ı moˇznost zas´ıl´an´ı ozn´amen´ı o vys´ılan´em programu SAP (Session Anouncement Protocol), kter´e jsou nˇekteˇr´ı klienti (napˇr. VLC player) schopni pˇrijmout, zpracovat a uˇzivatel˚ um nab´ıdnout dynamicky spravovanou nab´ıdku program˚ u. Vzhledem k ukonˇcen´emu v´ yvoji dosahuje v´ yraznˇe vyˇzˇs´ıho zat´ıˇzen´ı oproti ˇziv´ ym“ ” projekt˚ um, kde doch´az´ı mimo jin´e i k pr˚ ubˇeˇzn´emu zefektivˇ nov´an´ı pˇridˇelen´eho v´ ypoˇcetn´ıho v´ ykonu. V´ ysledky a znalosti z´ıskan´e t´ımto projektem jsou pouˇzity v dalˇs´ıch projektech - VLC, dvblast apod. Ke staˇzen´ı na adrese: http://download.videolan.org/pub/videolan/vls/ Videolan - dvblast Dalˇs´ı projekt z d´ılny“ VideoLan. Jedn´a se o jedno´ uˇcelovou aplikaci, kter´a slouˇz´ı pro ” distribuci program˚ u z´ıskan´ ych v´ yhradnˇe ze zaˇr´ızen´ı DVB. Ovl´ad´a se pˇres konfiguraˇcn´ı soubor o jednoduch´e struktuˇre. Aplikace nenab´ız´ı oznamov´an´ı program˚ u skrze SAP. V´ yznamn´e vlastnosti programu: • mal´ y program navrˇzen´ y pro extr´emn´ı podm´ınky - pamˇet’. procesor • konfiguraˇcn´ı soubor m˚ uˇze b´ yt znovu naˇcten bez ztr´aty jedin´eho paketu 40
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
• podpora nov´eho rozhran´ı S2API (linux-dvb) • podporuje jak IPv4, tak i IPv6 • nab´ız´ı jak RTP, tak i UDP v´ ystup (vyˇzaduj´ı nˇekter´e IPTV Set-top-boxy) Ke staˇzen´ı na adrese: http://downloads.videolan.org/pub/videolan/dvblast/ Videolan - vlc Aplikace, kter´a se d´a pouˇz´ıt jak pro vys´ıl´an´ı obsahu, tak pro jeho pˇr´ıjem. Je dostupn´a jak pro protˇred´ı LINUXu, tak pro operaˇcn´ı syst´em MS Windows. Nab´ız´ı moˇznosti vyuˇziteln´e pro u ´pravu videa - logo v rohu obrazu, zmˇena rozmˇer˚ u, form´at videa, zvuku apod. Konfigurace prob´ıh´a pomoc´ı parametr˚ u v pr˚ ubˇehu spouˇstˇen´ı programu, nebo pˇres telnet rozhran´ı, pokud je povoleno. Je moˇzn´a zmˇena form´atu pˇren´aˇsen´eho videa (transcoding), pro pouˇzit´ı je zapotˇreb´ı m´ıt dostupn´e i dalˇs´ı (podp˚ urn´e) aplikace/knihovny, jako je napˇr´ıklad x264 - volnˇe ˇsiˇriteln´ y h264/avc modul´ator. Aplikace nab´ız´ı z´aroveˇ n vys´ıl´an´ı ozn´amen´ı o programu pomoc´ı protokolu SAP v pˇr´ıpadˇe vys´ıl´an´ı obsahu, pˇr´ıpadnˇe um´ı zpracovat pˇrijat´e SAP ozn´amen´ı v pˇr´ıpadˇe vyuˇzit´ı aplikace v reˇrimu pˇrehr´avaˇce. Plnˇe implementov´ana podpora pro vys´ıl´an´ı (i pˇr´ıjem) jak pomoc´ı IPv4, tak IPv6. Ke staˇzen´ı na adrese: http://downloads.videolan.org/pub/videolan/vlc/ Getstream Program nab´ızej´ıc´ı pˇrevzet´ı sign´alu z DVB zaˇr´ızen´ı a odesl´an´ı programu do s´ıtˇe. Konfigurace je prov´adˇena pomoc´ı konfiguraˇcn´ıch soubor˚ u, pˇriˇcemˇz je aˇz zbyteˇcnˇe sloˇzit´a - je zapotˇreb´ı uv´est vˇsechny parametry i ty, kter´e jsou ve v´ ychoz´ı, tedy obvykl´e hodnotˇe. Tuto aplikaci zde uv´ad´ım, nebot’ dalˇs´ı zmiˇ novan´ y program vych´az´ı historicky z tohoto projektu. Ke staˇzen´ı na adrese: http://silicon-verl.de/home/flo/projects/streaming/download/ MuMudvb Aplikace nab´ızej´ıc´ı pr´aci s DVB zaˇr´ızen´ımi vych´azej´ıc´ı z projektu getstream. Nab´ız´ı jak samotn´e vys´ıl´an´ı program˚ u, tak i jejich oznamov´an´ı pomoc´ı protokolu SAP. Konfigurace je prov´adˇena pomoc´ı konfiguraˇcn´ıch soubor˚ u.
41
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
Aplikace je schopna automaticky vagenerovat konfiguraˇcn´ı soubor. Takto vygenerovan´ y soubor nemus´ı vˇzdy odpov´ıdat poˇzadavk˚ um (napˇr´ıklad urˇcit´a multicastov´a IP adresa pro konkr´etn´ı program), nicm´enˇe takto vygenerovan´ y soubor lze vyuˇz´ıt pro vytvoˇren´ı vyhovuj´ıc´ıho konfiguraˇcn´ıho souboru. Ve verzi 1.6.1 nab´ız´ı i webov´e rozhran´ı, na kter´em je moˇzn´e z´ıskat informace o vys´ılan´ ych programech. Z´aroveˇ n je moˇzn´e z´ıskat i informace o stavu vys´ıl´an´ı. Data jsou poskytov´ana vyuˇzit´ım JSON. Z´aroveˇ n tento produkt od zm´ınˇen´e verze nab´ız´ı moˇznost vyuˇzit´ı programu / projektu ffmpeg, tedy moˇznosti transk´odov´an´ı. Informace o vys´ılan´ ych programech jsou lok´alnˇe k dispozici v souborech um´ıstˇen´ ych ve sloˇzce /var/run/mumudvb/, kde se krom informac´ıch o vys´ılan´ ych programech nach´az´ı i soubory s PID bˇeˇz´ıc´ıho procesu. Pracuje zat´ım pouze s protokolem IPv4. Ke staˇzen´ı na adrese: http://mumudvb.braice.net/mumudrupal/fr/node/25 Volba programov´ eho vybaven´ı Pro v´ ybˇer aplikace byla stanovena kriteria: • minim´ aln´ı zat´ıˇ zen´ı zaˇ r´ızen´ı Jelikoˇz uvaˇzujeme o maxim´aln´ı efektivnost vynaloˇzen´ ych n´aklad˚ u na poˇr´ızen´ı hardware, budeme se snaˇzit dostupn´ y v´ ykon pˇrenech´avat na n´aroˇcnˇejˇs´ım ˇcinnostem (dek´odov´an´ı podm´ınˇen´eho pˇr´ıstupu, transk´odov´an´ı program˚ u, apod.) • oznamov´ an´ı vys´ılan´ ych program˚ u Pokud by tato funkce nebyla pˇr´ımo obsaˇzena, je nezbytn´e uvaˇzovat vyuˇzit´ı zdroj˚ u i pro aplikaci, kter´a bude doplˇ novat tuto funkcionalitu, z´aroveˇ n je nezbytn´e zahrnout i n´aroˇcnost na spr´avu dalˇs´ı aplikace. • jednoduch´ a konfigurace Konfigurace by mˇela b´ yt minim´alnˇe zatˇeˇzuj´ıc´ı pro uˇzivatele / spr´avce syst´emu. C´ılem je aplikace, kter´a bude funkˇc´ı aplikace ide´alnˇe 24 hodin dennˇe, 7 dn´ı v t´ ydnu, pˇriˇcemˇz spr´ava program˚ u by mˇela zabrat minimum ˇcasu. • podpora IPv4 multikastu Pokud bude aplikace poskytovat i moˇznost streamov´an´ı na IPv6 multik´astov´e adresy, bude to v´ yhoda, nicm´enˇe v naˇsem pˇr´ıpadˇe pracujeme v´ yhradnˇe s IPv4
42
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
adresami. Tento poˇzadavek vypl´ yv´a z vlastnost´ı aktu´alnˇe pouˇz´ıv´an´ ych prvk˚ u v r´amci s´ıt’ov´e infrastruktury - v´ yraznˇe niˇzˇs´ı z´atˇeˇz prvk˚ u. Vzhledem ke zm´ınˇen´ ym skuteˇcnostem byla vybr´ana aplikace MUMUDVB. 3.2.2.2
Volba multicastov´ ych adres
Pro vys´ıl´an´ı program˚ u byl zvolen rozsah adres 239.204.0.0/16. Pro multicastov´e adresy je vyhrazen adresn´ı rozsah 224.0.0.0/4, coˇz znamen´a rozsah 224.0.0.0 - 239.255.255.255. V r´amci Dokumentu RFC 5771 ([22]) je rozdˇelen tento rozsah do skupiny dle pouˇzit´ı. Rozsah 239.0.0.0/8 je vyhrazen jako Administratively Scoped Block“, z´aroveˇ n doku” ment odkazuje na RFC 2365 ([20]), kde je bl´ıˇze specifikov´an tento rozsah. 3.2.2.3
Oznamov´ an´ı vys´ılan´ ych televiz´ı
Byla zvolena aplikace, kter´a je schopna pˇr´ımo zprostˇredkovat upozorˇ nov´an´ı na vys´ılan´e programy. Pro informaci zde uvedu aplikaci, kterou by ˇslo pouˇz´ıt, chtˇeli bychom oznamov´an´ı ˇreˇsit autonomnˇe. Videolan - minisapserver Slouˇz´ı pouze pro distribuci informac´ı o programov´e nab´ıdce pomoc´ı protokolu SAP. Ovl´ad´a se pomoc´ı konfiguraˇcn´ıho souboru. Pˇred samotn´ ym pˇrekladem ze zdrojov´ ych k´od˚ u je zapotˇreb´ı zkontrolovat (pˇr´ıpadnˇe doplnit) IP adresu odes´ılaj´ıc´ıho serveru, jinak se v paketech bude objevovat zdrojov´a adresa 0.0.0.0 (v pˇr´ıpadˇe IPv4). Aplikace nab´ız´ı vys´ıl´an´ı (oznamov´an´ı) jak program˚ u vys´ılan´ ych pˇres IPv4, tak program˚ u vys´ılan´ ych pˇres IPv6. Za zm´ınˇen´ı tak´e stoj´ı neimplementovan´a podpora SSM (Source-Specific Multicast) tvaru adresy. Ke staˇzen´ı na adrese: http://download.videolan.org/pub/videolan/miniSAPserver/
3.2.3
Dohled a ˇ reˇ sen´ı v´ ypadk˚ u vys´ıl´ an´ı
Provozov´an´ı zaˇr´ızen´ı typu stream server bezesporu vyˇzaduje dohled nad provozem. Je nezbytn´e abychom byli schopni rozpoznat, kdy sluˇzba nefunguje. Ide´aln´ım stavem je, abychom byli schopni vznikl´ y probl´em odstranit dˇr´ıve, neˇz budou uˇzivatel´e sluˇzby
43
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
postiˇzeni. V naˇsem pˇr´ıpadˇe to odpov´ıd´a minimalizovat nefunkˇcnost sluˇzby na minim´aln´ı moˇzn´ y ˇcas. D´ale je nezbytn´e sledovat parametry syst´emu. 3.2.3.1
Vys´ıl´ an´ı
V t´eto ˇc´asti se jiˇz zamˇeˇr´ım konkr´etnˇe na sledov´an´ı aplikace MUMUDVB. Aplikace obsahuje mechanismy, kter´ ymi je schopna rozpoznat, zda vys´ıl´a poˇzadovan´ y obsah ˇci nikoli. Poˇzadovan´ ym obsahem v tomto pˇr´ıpadˇe nen´ı konkr´etn´ı televizn´ı stanice, ale poˇzadovan´ y PID (Packet ID). Z´aroneˇ n je shopna rozliˇsit, zda vys´ıl´a k´odovan´ y sign´al, nebo nek´odovan´ y. Vˇsechny tyto informace jsou obsaˇzeny v souboru, kter´ y je aplikac´ı pˇri zmˇenˇe aktualizov´an. V pˇr´ıpadˇe, ˇze nelze naladit poˇzadovan´ y transpond´er, nebo dojde ke ztr´atˇe sign´alu, aplikace se ukonˇc´ı. N´aˇs dohled tedy prob´ıh´a formou skript˚ u nad soubory generovan´ ymi aplikac´ı, popˇr´ıpadˇe sledujeme, zda je aplikace v˚ ubec spuˇstˇena. Na t´akladˇe tˇechto informac´ı m˚ uˇzeme prov´adˇet podm´ınˇen´e operace (napˇr. spuˇstˇen´ı nov´e instance programu). 3.2.3.2
Syst´ emov´ e prostˇ redky
n´ azev projektu domovsk´ a str´ anka projektu licence Argus
argus.tcp4me.com
opensource
Nagios
www.nagios.org
opensource
Xymon
www.xymon.com
GNU Public Licence (GPL)
R big brother
bb4.com
komerˇcn´ı
SysOrb
www.evalesco.com
komerˇcn´ı
Tabulka 3.3: Aplikace zamˇeˇren´e na sledov´an´ı syst´emu
Vzhledem k pouˇzit´ ym licenˇcn´ım model˚ um aplikac´ı se pokus´ıme vybrat nejdˇr´ıve z nekomerˇcn´ıch. Z tabulky vypl´ yv´a, ˇze m´ame k dispozici tˇri uchazeˇce. Konkr´etnˇe Argus, Nagios a Xymon. Pokud budeme produkty porovn´avat, bylo by vhodn´e uv´est, ˇze projekt Xymon je pˇrejmenovan´ y projekt, pˇriˇcemˇz p˚ uvodn´ı n´azev byl Hobbit. Pro Xymon mluv´ı fakt, ˇze je moˇzn´e vcelku jednoduˇse prov´est z´akladn´ı nastaven´ı i rozˇs´ıˇrit spektrum testov´an´ı o uˇzivatelsk´e testy. To n´am umoˇzn ˇuje zaˇclenit do sledov´an´ı syst´emov´ ych prostˇredk˚ u tak´e test na stav streamov´an´ı. V nab´ıdce Xymona je vˇse co bychom mohli sledovat - dostupnost (ping), CPU, disk, pamˇet’, ssh, porty a dalˇs´ı testy. 44
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
Pro naˇse u ´ˇcely budeme pouˇz´ıvat Xymon.
3.3
Dek´ odov´ an´ı program˚ u
V pˇr´ıpadˇe k´odovan´ ych program˚ u se jedn´a o podm´ınˇen´ y pˇr´ıstup. Vyuˇz´ıv´a se v´ıce syst´em˚ u. U n´as (ˇcesk´e i slovensk´e programy) dozn´ıv´a syst´em cryptoworks. Tento syst´em odkoupila firma produkuj´ıc´ı vlastn´ı syst´em podm´ınˇen´eho pˇr´ıstupu IRDETO a pro star´ y“ syst´em pˇrest´av´a nab´ızet podporu. Firmy, kter´e zajiˇst’uj´ı distribuci progra” mov´ ych nab´ıdek vyuˇz´ıvaj´ıc´ı podm´ınˇen´eho pˇr´ıstupu jsou tedy nuceni v pˇr´ıpadˇe modernizace syst´em˚ u pˇrej´ıt na jin´ y syst´em neˇz cryptoworks. Vzhledem k moˇznostem pozvoln´eho pˇr´ıstupu vol´ı pˇrechod na syst´em IRDETO. Kromˇe syst´em˚ u cryptoworks a IRDETO se pouˇz´ıvaj´ı syst´emy BetaCrypt, Biss, CodiCrypt, Conax, DreamCrypt, Griffin, KeyFly, Nagravision, Omnicrypt, Power VU, Ruscrypt (Rosscrypt), Seca/Mediaguard, Neotin SHL (Sky crypt), Sky Pilot, TPS Crypt, Thales Crypt, Viaccess, VideoGuard, Wegener, XCrypt, DRE-Crypt. Tento v´ yˇcet byl pˇrevzat ze serveru parabola.cz. Pokud chceme pˇristupovat k program˚ um, na kter´e byl aplikov´am syst´em podm´ınˇen´eho pˇr´ıstupu, je moˇzn´e obsah zpˇr´ıstupnit softwarov´ ym nebo hardwarov´ ym dek´odov´an´ım. hardwarov´ e dek´ odov´ an´ı V tomto pˇr´ıpadˇe je vyuˇzit CAM (Conditional Access module - modul podm´ınˇen´eho pˇr´ıstupu), coˇz je zaˇr´ızen´ı, kter´e obsahuje ˇcteˇcku ˇcipov´ ych karet a obvody pro dek´odov´an´ı programu. Toto optimalizovan´e jedno´ uˇcelov´e zaˇr´ızen´ı slouˇz´ı pro odlehˇcen´ı v´ ykonov´e z´ateˇze zaˇr´ızen´ı, do kter´eho je vloˇzeno. V´ ysledkem je dostupnost programu obdobn´ ym zp˚ usobem, jako by se jednalo o program ˇs´ıˇren´ı bez syst´emu podm´ınˇen´eho pˇr´ıstupu. Nev´ yhodou je, ˇze vˇetˇsina CAM syst´em˚ u zabere“ dek´odovac´ı kartu sami pro sebe ” a tud´ıˇz je nezbytn´e pouˇz´ıt tolik karet, kolik je zaˇr´ızen´ı. Existuj´ı i komerˇcnˇe nab´ızen´e v´ yjimky, kter´e ovˇsem maj´ı urˇcit´e limitace. Pro pˇr´ıklad bych uvedl produkty firmy Diablo, kter´a nab´ız´ı variantu kartov´eho serveru a bezdr´atovˇe pˇripojovan´ ych klient˚ u. Pro vyuˇzit´ı je nezbytn´e, abychom mˇeli k dispozici zaˇr´ızen´ı, kter´e je schopn´e pracovat s t´ımto modulem. Nejlevnˇejˇs´ı dostupn´e zaˇr´ızen´ı bud’ nenab´ız´ı rozhran´ı pro CAM v˚ ubec, popˇr´ıpadˇe ho nab´ız´ı jako voliteln´ y doplnˇek, kter´ y je ovˇsem nutn´e dokoupit. softwarov´ e dek´ odov´ an´ı V pˇr´ıpadˇe softwarov´eho dek´odov´an´ı existuje v´ıce pˇr´ıstup˚ u.
45
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
Jeden z pˇr´ıstup˚ u je, ˇze pˇrehr´avaˇc z´ısk´a kl´ıˇce potˇrebn´e pro dek´odov´an´ı (at’ jiˇz lok´alnˇe s vyuˇzit´ım ˇcteˇcky ˇcipov´ ych karet, nebo vzd´alenˇe pˇres kartov´eho klienta) a provede softwarov´e dek´odov´an´ı - zpˇr´ıstupn´ı program ˇs´ıˇren´ y s vyuˇzit´ım syst´emu podm´ınˇen´eho pˇr´ıstupu. V tomto pˇr´ıpadˇe je tedy nezbytn´e, aby zvolen´ y pˇrehr´avaˇc umoˇzn ˇoval tuto funkcionalitu. Druh´ ym pˇr´ıstupem je zaveden´ı modulu j´adra a t´ım vytvoˇren´ı virtu´aln´ıho zaˇr´ızen´ı. V tomto pˇr´ıpadˇe si modul vyˇza´d´a kl´ıˇce (at’ jiˇz lok´alnˇe nebo vzd´alenˇe), dek´oduje poˇzadovan´e programy a zpˇr´ıstupn´ı je na virtu´aln´ım rozhran´ı (zaˇr´ızen´ı), aplikace d´ale zpracov´avaj´ıc´ı programy nepotˇrebuje ˇza´dn´e zvl´aˇstn´ı vlastnosti t´ ykaj´ıc´ı se dek´odov´an´ı.
3.3.1
Virtu´ aln´ı rozhran´ı
V t´eto oblasti nen´ı pˇr´ıliˇs velk´a konkurence projekt˚ u. Pokud budeme hledat dostupn´e moˇznosti, dˇr´ıve nebo pozdˇeji skonˇc´ıme v podstatˇe u stejn´eho projektu obsahuj´ıc´ıho modul dvbloopback. Jedn´a se o projekt SASC-NG. V dobˇe psan´ı t´eto pr´ace jsou zdrojov´e k´ody dostupn´e na adrese http://85.17.209.13: 6100/sc. Zde je moˇzn´e z´ıskat zdrojov´e k´ody, kter´e lze pˇreloˇzit a t´ım z´ıskat jednak modul dvbloopback, ale z´aroveˇ n aplikaci sasc-ng vˇcetnˇe potˇrebn´ ych knihoven. Tato aplikace je shopn´a se pˇripojit ke kartov´emu serveru aroureos, camd33, camd35, cardd, buffy, radegast, nebo newcamd.
3.3.2
Zdroje kl´ıˇ c˚ u pro dek´ odov´ an´ı
Pokud budeme pouˇz´ıvat v´ıce poˇc´ıtaˇc˚ u s vˇetˇs´ım mnoˇzstv´ım parabol, m˚ uˇze b´ yt vys´ılan´ y obsah v ˇcase vys´ıl´an z r˚ uzn´ ych karet. Pˇrep´ın´an´ı mezi jednotliv´ ymi parabolami nen´ı technicky probl´em, nicm´enˇe pˇrepojov´an´ı ˇcipov´ ych karet je ponˇekud n´aroˇcnˇejˇs´ı. V takov´e situaci m´ame 2 moˇznosti. 1. vyhrazen´ı karet pro pˇrij´ımaˇce Tato varianta v d˚ usledku znamen´a, ˇze potˇrebujeme tolik dek´odovac´ıch karet, na kolika zaˇr´ızen´ıch takov´ y sign´al budeme odbavovat. Nav´ıc pˇriˇrazen´ım karet fixnˇe urˇcujeme kter´e karty budou odbavovat jak´ y sign´al, pˇriˇcemˇz se vzd´av´ame moˇznosti flexibilnˇe reagovat v pˇr´ıpadˇe v´ ypadku - nem˚ uˇzeme sign´al odbavit na jin´e kartˇe m´ısto m´enˇe d˚ uleˇzit´eho“ programu, protoˇze tam nem´ame k dispozici pˇr´ısluˇsnou ” dek´odovac´ı kartu. 46
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
2. sd´ılen´ı karet V t´eto variantˇe zachov´av´ame flexibilitu, nebot’ jsme schopni ve velmi kr´atk´em ˇcase odbavit poˇzadovan´ y sign´al na jin´em serveru/kartˇe, nebot’ si jednoduˇse vyˇz´ad´ame pˇr´ısluˇsen´e kl´ıˇce. V pˇ r´ıpadˇ e sd´ılen´ı je nezbytn´ e zabezpeˇ cit kl´ıˇ ce tak, aby nedoˇ slo k poruˇ sen´ı smlouvy / autorsk´ ych pr´ av neopr´ avnˇ en´ ym zpˇ r´ıstupnˇ en´ım kl´ıˇ c˚ u dalˇ s´ım osob´ am. V r´amci sd´ılen´ı karet je nezbytn´e zabezpeˇcit bezprobl´emov´ y v´ıcen´asobn´ y pˇr´ıstup na kartu pro ˇcten´ı, ale i pro z´apis, nebot’ jsou kl´ıˇce dynamicky aktualizov´any skrze vys´ılan´ y sign´al - kl´ıˇce jsou zap˚ ujˇceny“ na omezenou dobu a v pˇr´ıpadˇe ˇze m´ame opr´avnˇen´ı pro ” pˇr´ıjem sign´alu, jsou n´am doruˇceny kl´ıˇce dalˇs´ı. Pro kaˇzd´e u ´daje je pˇren´aˇsen i ˇcasov´ y u ´daj obsahuj´ıc´ı platnost. Jedinou moˇznost´ı jak takov´eho stavu dos´ahnout je spuˇstˇen´ı kartov´eho serveru, coˇz je aplikace, kter´e zabezpeˇc´ı samotnou komunikaci s ˇcipovou kartou a ˇr´ıd´ı tok poˇzadavk˚ u - pˇr´ıchoz´ı poˇzadavky ˇrad´ı do fronty typu FIFO a pr˚ ubˇeˇznˇe (v co nejkratˇs´ı dobˇe) je odbavuje. Z´aroveˇ n ˇr´ıd´ı i z´apis na kartu - aktualizaci kl´ıˇc˚ u. Komunikace kartov´eho serveru by se dala rozdˇelit na ˇc´ast mezi aplikac´ı a kartou, d´ale na ˇca´st mezi aplikac´ı a klientem. Komunikace mezi aplikac´ı a kartou je d´ana typem pouˇzit´eho syst´emu zabezpeˇcen´ı podm´ınˇen´eho pˇr´ıstupu a typu karty. Komunikace mezi klientem a serverem se odv´ıj´ı od typu zvolen´eho serveru. Nˇekter´e aplikace jsou schopny emulovat jin´ y typ serveru v r´amci komunikace s klientem. Nejrozˇs´ıˇrenˇejˇs´ımi kartov´ ymi servery a klienti jsou Radegast, newcamd, camd, chameleon, newcs. Posledn´ı zm´ınˇen´ y server nenab´ız´ı sv˚ uj vlastn´ı proptiet´arn´ı protokol, ale rozum´ı“ poˇzadavk˚ um urˇcen´ ym pro servery Radegast, newcamd, pˇr´ıpadnˇe Chame” leon2. Kartov´e servery jsou ˇcasto vyv´ıjeny v r´amci komunit. Nˇekter´e projekty nemaj´ı ani sv´e vlastn´ı webov´e str´anky projektu, n´ ybrˇz se informace (vˇcetnˇe ozn´amen´ı nov´ ych verz´ı a jejich distribuce) ˇs´ıˇr´ı skrze diskuzn´ı f´ora. V r´amci sv´eho hled´an´ı jsem nalezl OSCam (tento projekt ma sv´e str´anky : http://streamboard.gmc.to:8001/), ccamd, newcs. Vych´azel jsem z pˇr´ıspˇevk˚ u, kde uˇzivatel´e hodnotili sv´e zkuˇsenosti a rozeb´ırali probl´emy s dan´ ymi aplikacemi. Snaˇzil jsem se zohlednit tak´e sloˇzitost ˇci jednoduchost konfiguraˇcn´ıho souboru (pˇr´ıpadnˇe konfiguraˇcn´ıch soubor˚ u). Z dostupn´ ych aplikac´ı byla vybr´ana aplikace NewCS, konkr´etnˇe ve verzi 1.62. Tato aplikace drˇz´ı veˇsker´e nastaven´ı v jednom XML souboru. Je zde moˇzn´e zpravovat v´ıce ˇcteˇcek (karet) v r´amci jedn´e instance aplikace. Dostupn´e je webov´e rozhran´ı, pˇr´ıpadnˇe 47
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
rozhran´ı pro telnet. V r´amci tˇechto rozhran´ı je moˇzn´e jednak spravovat uˇzivatele, ale i z´ısk´avat statistiky ohlednˇe obsluhovan´ ych kl´ıˇc´ıch (ˇcetnost, m´ıra kladn´eho vyˇr´ızen´ı, apod). 3.3.2.1
ˇ cka karet Cteˇ
V oblasti karet pro podm´ınˇen´ y pˇr´ıstup se osvˇedˇcily inteligentn´ı ˇcteˇcky od firmy SmartGo - SmartReader Plus. Pojem inteligentn´ı byl uveden z´amˇernˇe, nebot’ se nejedn´a pouze o pasivn´ı pˇrevodn´ık, ale obsahuje elektroniku, kter´a se star´a o komunikaci s kartou. Zaˇr´ızen´ı se pˇripojuje k USB portu a v operaˇcn´ım syst´emu se objev´ı pod /dev/ttyUSBx (x je poˇrad´ı zaˇr´ızen´ı).
48
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
Kapitola 4 Realizace distribuce sign´ alu 4.1 4.1.1
Distribuce Sd´ılen´ı kl´ıˇ c˚ u: newcs
Aplikace newcs nen´ı vyv´ıjena jako opensource, nicm´enˇe je poskytov´ana bez poplatku. Projekt nem´a sv´e vlastn´ı str´anky, ani se k aplikaci ofici´alnˇe nehl´as´ı konkr´etn´ı autoˇri. Jend´a se o znaˇcnˇe rozˇs´ıˇren´ y n´astroj s velkou z´akladnou uˇzivatel˚ u a ˇzivou diskusn´ı komunitou. To dˇel´a z aplikace ˇzivotaschopn´ y projekt. 4.1.1.1
Staˇ zen´ı a instalace
Vzhledem k absenci ofici´aln´ıch str´anek projektu, jsou dostupn´e nov´e verze skrze diskusn´ı f´ora t´ ykaj´ıc´ı se sd´ılen´ı karet. Aplikaci lze st´ahnout bez poplatku, ale registrace na f´orum je zpravidla nutn´a. Pouˇz´ıv´ana je verze 1.66, nicm´enˇe aktu´alnˇe je na internetu dostupn´a jiˇz verze 1.67 RC1. Obˇcas nˇekdo poskytne aplikaci mimo f´orum, nicm´enˇe tato distribuce je v ˇcase nest´al´a. Pro nalezen´ı aplikace m˚ uˇzeme vyuˇz´ıt vyhled´av´an´ı - napˇr´ıklad www.google.com. Ke dni psan´ı tohoto textu je aktivn´ı link pro staˇzen´ı aplikace mimo f´orum: http://rapidshare.com/files/235916115/newcs-1 66.zip Bez ohledu na zvolen´ y zdroj plat´ı, ˇze se stahuje pouze bin´arn´ı (pˇreloˇzen´ y) soubor, nikoli zrojov´ y k´od, kter´ y by vyˇzadoval pˇreklad. Potˇrebujeme st´ahnout cel´ y“ ” bal´ıˇcek, kter´ y obsahuje i soubor newcs.i686.usb. Pˇri hled´an´ı m˚ uˇzeme naj´ıt redukovan´e ” distribuce“, kter´e obsahuj´ı jen newcs.misc soubory. Po rozbalen´ı archivu zkop´ırujme soubor newcs-
/newcs.i686.usb do adres´aˇre
49
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
/usr/bin a udˇelme opr´avnˇen´ı ke spuˇstˇen´ı (nutno prov´est jako privilegovan´ y uˇzivatel). cp newcs-/newcs.i686.usb /usr/bin chmod +x /usr/bin/newcs.i686.usb
4.1.1.2
Konfigurace
Pˇ r´ıprava uˇ zivatele pro spuˇ stˇ en´ı Pro u ´ˇcely provozov´an´ı kartov´eho serveru (posl´eze i aplikace pro vys´ıl´an´ı obsahu) je vhodn´e vytvoˇrit uˇzivatele, kter´eho pojmenujeme stream. Tento uˇzivatel mus´ı m´ıt pˇr´ıstup ke zdroj˚ um, kter´e jsou vlastnˇeny skupinou uucp - jedn´a se o seriov´e porty (/dev/ttySx, popˇr´ıpadˇe /dev/ttyUSBx kde x je ˇc´ıslo portu). Jak bude uvedeno pro aplikaci MuMuDVB, bude uˇzivatel potˇrebovat z´aroveˇ n pˇr´ıstup ke zdroj˚ u skupinovˇe vlastnˇen´ ych skupinou video. M˚ uˇzeme ho vytvoˇrit n´asleduj´ıc´ım pˇr´ıkazem. useradd -g video -G uucp -d /home/stream -s /bin/bash -m stream
Pokud jsme vytvoˇrili uˇzivatele v´ yˇse popsan´ ym zp˚ usobem a nastav´ıme-li heslo, m˚ uˇzeme se pod t´ımto uˇzivatelem i pˇrihl´asit - m´a nastaven shell na /bin/bash. Z´aroveˇ n lze spouˇstˇet aplikace pod uˇzivatele stream pomoc´ı su - stream -c “. Po” kud bychom nechtˇeli ani pˇripustit moˇznost pˇrihl´aˇsen´ı dan´eho uˇzivatele a byli bychom ochotni zamˇenit pouˇzit´ı pˇr´ıkazu su za sudo -u stream
, m˚ uˇzeme m´ısto pˇredchoz´ıho pˇr´ıkazu pro vytvoˇren´ı uˇzivatele pouˇz´ıt tento: useradd -g video -G uucp -d /home/stream -s /bin/false -m stream
pˇr´ıpadnˇe m˚ uˇzeme upravit jiˇz existuj´ıc´ıho uˇzivatele usermod -s /bin/false stream
nastaven´ı pro spuˇ stˇ en´ı newcs Pro lepˇs´ı pˇrehlednost udrˇzujme konfiguraˇcn´ı soubory (soubory, kter´e budou pˇred´av´any aplikaci pˇri spouˇstˇen´ı) ve zvl´aˇstn´ı sloˇzce dvb, kterou vytvoˇr´ıme jako podsloˇzku /etc. Um´ıstˇen´ı vypl´ yv´a z poˇzadavku, aby vˇsechny konfiguraˇcn´ı soubory byly na jednom disku / jedn´e oblasti pro u ´ˇcely pˇr´ıpadn´eho z´alohov´an´ı, pˇr´ıpadnˇe (ne-)pˇremaz´an´ı bˇehem aktualizace, nebo pˇreinstalov´an´ı syst´emu. mkdir /etc/dvb
50
Kamil Jireˇs
Vyuˇzit´ı IPTV v univerzitn´ı s´ıti
V r´amci staˇzen´eho bal´ıˇcku s aplikac´ı je i vzorov´ y konfiguraˇcn´ı soubor. Zkop´ırujme soubor newcs.xml.phoenix do n´ami pˇripraven´e sloˇzky /etc/dvb pod n´azvem newcs.xml. D´ale uvedu pouze ˇca´sti konfigurace, kter´e je potˇrebn´e zmˇenit oproti vzorov´e konfiguraci. <device> <node> - um´ıstˇen´ı ˇcteˇcky :/dev/ttyUSB0 <mhz> - frekvence komunikace s kartou (rychlost) : 357 - informace, zda m´a zkouˇset pˇr´ıtomnost karty : yes - port pro komunikaci s newcamd serverem : 1200 V pˇr´ıpadˇe jin´eho portu je nutn´e zadat pouˇz´ıt´e ˇc´ıslo v konfiguraci pro sasc-ng. <enable> - emulace radegast serveru (komunikace s klienty) : No - webov´e rozhran´ı aplikace <user> - nastaven´ı uˇzivatele (rozliˇsuj´ı se mal´a a velk´a p´ısmena), m˚ uˇze se opakovat <username> - uˇzivatelsk´e jm´eno <password> - heslo - pˇr´ıstupov´a u ´roveˇ n: admin Pˇr´ıpustn´e hodnoty jsou: admin, stats (pouze statistiky) <debug> - zpr´ıstupnˇen´ı informac´ı o chodu aplikace <password> - heslo pro pˇrihl´aˇsen´ı pˇres telnet (TCP spojen´ı) <mode> : simple Pˇr´ıpustn´e hodnoty jsou: simple, advanced - podrobnost logu : verbose Pˇr´ıpustn´e hodnoty jsou: normal, verbose, spam - z jak´e ˇca´sti aplikace n´as zaj´ım´a v´ ystup : all Pˇr´ıpustn´e hodnoty jsou: init, general, ecm, emm, net, all