MASARYKOVA UNIVERZITA F}w¡¢£¤¥¦§¨  AKULTA INFORMATIKY !"#$%&'()+,-./012345

Flash video a audio nástroje pro podporu vzdálené spolupráce

BAKALÁRSKÁPRÁCEˇ

Matouš Jobánek

Brno, 2011 Prohlášení

Prohlašuji, že tato bakaláˇrskápráce je mým p ˚uvodnímautorským dílem, které jsem vypracoval samostatnˇe.Všechny zdroje, prameny a literaturu, které jsem pˇrivypracování používal nebo z nich ˇcerpal,v práci ˇrádnˇecituji s uvedením úplného odkazu na pˇríslušnýzdroj.

Matouš Jobánek

Vedoucí práce: doc. RNDr. Eva Hladká, Ph.D.

ii Podˇekování

Chtˇelbych podˇekovatvedoucí své bakaláˇrsképráce, doc. RNDr. EvˇeHladké, Ph.D., a koleg ˚um z Laboratoˇrepokroˇcilýchsít’ových technologií za užiteˇcnérady. ZvláštˇedˇekujiRNDr. Tomáši Rebokovi, Ph.D. za pˇríjemnoua plodnou spolupráci. Svým nejbližším dˇekujiza obdivuhodnou psychickou podporu a neuvˇeˇritelnoutrpˇelivost.

iii Shrnutí

Tato bakaláˇrskápráce popisuje možnosti audio a video komunikace pomocí webových Flash nástroj ˚u(se zamˇeˇrenímna open-source nástroje). Tyto nástroje jsou porovnány a, na základˇe pˇredemstanovených kritérií, je vybrán videokonferenˇcnínástroj BigBlueButton, který je dále detailnˇejipopsán. Zároveˇnse text zabývá problematikou spojení Flashových komunikaˇcníchnástroj ˚use zrca- dlem paket ˚u.

iv Klíˇcováslova videokonference, Flash, BigBlueButton, RTMP, RTMFP, zrcadlo paket ˚u,reflektor

v Obsah

1 Úvod ...... 2 2 Platforma ...... 4 2.1 ...... 4 3 Komunikaˇcníprotokoly ...... 5 3.1 RTMP (Real-Time Messaging Protocol) ...... 5 3.2 RTMFP (Real-time media flow protocol) ...... 7 3.3 RTP (Real-Time Transport Protocol) ...... 8 4 Komunikaˇcníinfrastruktura ...... 9 4.1 RED5 ...... 9 4.2 Zrcadlo paket ˚u(Reflektor paket ˚u) ...... 9 5 Videokonferenˇcnínástroje ...... 11 6 Pˇrehledvideokonferenˇcníchnástroj ˚u ...... 12 7 Rozdˇelenívideokonferenˇcníchnástroj ˚u ...... 30 7.1 Rozdˇelenípodle zamˇeˇrení ...... 30 7.1.1 Nástroje zamˇeˇrenéna jednoduché rozhovory ...... 30 7.1.2 Nástroje zamˇeˇrenéna více styl ˚ukomunikace ...... 30 7.1.3 Nástroje zamˇeˇrenéna propracovanou kolaboraci ...... 30 7.2 Rozdˇelenípodle otevˇrenostizdrojového kódu ...... 30 7.2.1 Nástroje s uzavˇrenýmzdrojovým kódem ...... 30 7.2.2 Nástroje s otevˇrenýmzdrojovým kódem ...... 31 7.3 Rozdˇelenípodle používaného protokolu ...... 32 8 Kritéria výbˇeruvhodného videokonferenˇcníhonástroje ...... 33 9 Vybraný nástroj ...... 34 9.1 Historie ...... 34 9.2 Uživatelské role ...... 35 9.3 Architektura ...... 35 10 Spojení vybraného videokonferenˇcníhonástroje s reflektorem ...... 38 10.1 Problém TCP - UDP ...... 38 10.1.1 Rešeníˇ pomocí protokolu RTMFP ...... 38 10.1.2 Rešeníˇ pomocí transformace transportního protokolu z TCP na UDP . . . . 38 10.1.3 Rešeníˇ pomocí protokolu RTP ...... 39 10.1.4 Rešeníˇ pomocí serveru od Adobe ...... 39 10.1.5 Dodatek k ˇrešení10.1.1 a 10.1.4 ...... 39 10.2 Problém závislosti ...... 39 11 Závˇer ...... 40

1 1 Úvod

„Kouzlo tvé ted’ opˇetvíže, co kdy ˇcastak dˇelilrád, zástup lidstva sbratˇrenblíže cítí van tvých kˇrí- del vát,“ hˇrmˇelov únoru roku 1998 finále Beethovenovy Ódy na radost na zahajovacím ceremo- niálu olympijských her v Naganu. Slavný dirigent Sejdži Ozawa velel na olympijském stadionu orchestru a tokijskému opernímu sboru - a zároveˇnˇrídilsbory v Pekingu, New Yorku, Berlínˇe, Sydney a Kapském mˇestˇe.Jak to dokázal? Odpovˇed’ zní: multipoint video conferencing [1]. Ještˇepˇreddvanácti lety byla videokonference pˇrenášenáonline na nˇekolikasvˇetadílechma- lým zázrakem. Dnes si takovou konferenci m ˚užeudˇelatprakticky každý, kdo má poˇcítaˇcs video- kamerou. Dostupnost této technologie, navíc ještˇeve vysokém rozlišení, má veliký dopad na styl naší práce. Za použití r ˚uzných„trik ˚u“,jako je kulatý st ˚ulkonˇcícív obrovských obrazovkách a pokraˇcujícína „druhé stranˇe“,smˇerových mikrofon ˚uˇcishodného osvˇetlenív místnosti, má ˇclovˇekpocit, že naproti nˇemusedí u stejného stolu skuteˇcnýˇclovˇek,ne jen jeho obraz. Diskuze je mnohem jednodušší. Nejenom, že m ˚užetesvého partnera slyšet, ale m ˚užetevidˇetjeho tváˇr, ˇcístz jeho rt ˚ua rozpoznávat výrazy v obliˇceji.Navíc, když ˇclovˇeksleduje vteˇrinovouruˇciˇcku hodinek na ruce nˇekohonaproti a málem ji slyší i tikat, tak i pˇresvzdálenost tisíc ˚ukilometr ˚umá po skonˇcenísetkání chut’ podat obrazovce ruku na rozlouˇcenou[2]. Jedním z nejrozšíˇrenˇejšícha nejznámˇejšíchvideokonferenˇcníchnástroj ˚uje komunikaˇcnípro- gram jménem Skype. Jedná se o bezplatný nástroj, který poskytuje spojení zúˇcastnˇenýchstran pomocí videa, zvuku a textu. Podobných nástroj ˚u(at’ už komerˇcníchnebo nekomerˇcních)exis- tuje celá ˇrada.Problémem ale je, že všechny zúˇcastnˇenéstrany musí podporovat daný program. Této komplikaci se lze vyhnout použitím videokonferenˇcníchnástroj ˚uzaložených na technologii Adobe Flash. Jediné, co musí v takovém pˇrípadˇezúˇcastnˇenéstrany mít, je nainstalovaný mik- rofon, kamera, reproduktor a Internetový prohlížeˇcs aplikací Adobe Flash Player [3]. Všechny tyto požadavky splˇnujevˇetšinasoudobých prohlížeˇc˚ua pracovních stanic. Tato bakaláˇrskápráce se zabývá právˇetˇemitonástroji. První ˇcástprvní kapitoly se vˇenujeplatformˇeAdobe Flash, pomocí níž je tvoˇrennapˇr.dyna- mický obsah na webu (Flashové hry, videokonferenˇcníaplikace, prezentace, apod.). Pro spouš- tˇenítohoto obsahu je zapotˇrebí Adobe Flash Player, který je popsán v druhé ˇcástiprvní kapitoly. Jelikož pˇrenášenádata mezi koncovými uzly musí být srozumitelná na obou stranách, jsou pro pˇrenoszavedeny urˇcitápravidla. Tato pravidla udávají komunikaˇcníprotokoly. Protokoly RTMP, RTMFP a RTP, které jsou urˇcenypro pˇrenosvideokonferenˇcníchdat, jsou popsány ve tˇretí kapitole. Pro pˇrenosdat prostˇrednictvímInternetu se používají r ˚uznékomunikaˇcníinfrastruktury. Ctvrtᡠkapitola se vˇenujedvˇemakomunikaˇcníminfrastrukturám používaným ve svˇetˇevideo- konferencí – zrcadlu paket ˚ua serveru Red5. Pátá kapitola ˇctenáˇrestruˇcnˇeuvádí do problematiky vlastních videokonferenˇcníchnástroj ˚u. Nejdˇrívepopisuje nástroje, které potˇrebujípro své fungování speciální programy nainstalované na klientském poˇcítaˇci.Poté se zabývá Flashovými nástroji, které pro svou funkci vyžadují pouze webový prohlížeˇcs nainstalovaným Adobe Flash Player. Šestá kapitola se podrobnˇejivˇenujenˇekterýmFlashovým nástroj ˚um.Charakterizuje je na zá- kladˇejejich vlastností, funkˇcníhovybavení a poznatk ˚uzískaných v pr ˚ubˇehujejich testování.

2 1. ÚVOD

Text v kapitole sedmé rozdˇelujeFlashové videokonferenˇcnínástroje do nˇekolikaskupin (podle zamˇeˇrení,otevˇrenostizdrojového kódu a podle používaného protokolu). U každé skupiny jsou uvedeny pˇríkladyodpovídajících nástroj ˚u. V kapitole osmé jsou uvedena a podrobnˇejipopsána ˇctyˇrikritéria pro výbˇervhodného video- konferenˇcníhonástroje. Tˇemitopožadavky jsou otevˇrenostzdrojového kódu1, použití platformy Adobe Flash, vhodné uživatelské prostˇredía poskytování všech potˇrebnýchfunkcí. Na základˇevýše zmínˇenýchkritérií byl vybrán videokonferenˇcnínástroj BigBlueButton, je- hož historie, vlastnosti a architektura jsou pˇredmˇetemdeváté kapitoly. V poslední kapitole jsou diskutovány možnosti spolupráce vybraného videokonferenˇcního nástroje se zrcadlem paket ˚u.

1. Nástroje s otevˇrenýmzdrojovým kódem (tzv. open-source nástroje).

3 2 Platforma Adobe Flash

Adobe Flash (dále již jen Flash) je multimediální platforma p ˚uvodnˇevyvinutá spoleˇcnostíMa- cromedia (nyní Adobe Systems Incorporated). V dnešní dobˇeje na této technologii postavena podstatná ˇcástanimací a dynamického obsahu webu (napˇr.reklamní bannery1, Flash hry a in- teraktivní webové prezentace). Platformu Flash využívá také velmi úspˇešnáslužba YouTube, která umožˇnujeuživatel ˚umpˇrehrávatvideo a zvuk soubˇežnˇes jejich stahováním. V posledních letech tuto službu také nabízí televizní spoleˇcnostijako „Internetovou“ alternativu k bˇežnému vysílání. Flashové aplikace mohou být zobrazeny pomocí jakéhokoliv zaˇrízenís nainstalovaným Adobe Flash Player [4]. Hlavním programovacím jazykem technologie Flash je objektovˇeorientovaný programovací jazyk Action Script. Flashové aplikace lze vyvíjet pomocí nˇekolikakomerˇcních i nekomerˇcníchnástroj ˚u(napˇr.Adobe Flash, Adobe Flash Catalyst, a Flash Develop).

2.1 Adobe Flash Player

Adobe Flash Player (dále již jen Flash Player), je proprietární2 software urˇcenýpro sledování Flashových animací a videí pomocí poˇcítaˇcovýchprogram ˚u,jako je napˇríkladwebový prohlížeˇc. P ˚uvodnˇebyl vyvinutý spoleˇcnostíMacromedia. V souˇcasnosti je dále vyvíjen a distribuován spoleˇcnostíAdobe Systems Incorporated (dále již jen Adobe) [5]. Flash player je volnˇedostupný pro bˇežnéwebové prohlížeˇce,nˇekterémobilní telefony a nˇekteráelektronická zaˇrízení.

1. Reklamní proužek na webových stránkách. 2. Komerˇcní.

4 3 Komunikaˇcníprotokoly

Aby data pˇrenášenámezi dvˇemauzly byla srozumitelná na obou dvou stranách, je potˇreba, aby se pˇrenosˇrídilurˇcitýmipravidly. Tato pravidla udávají komunikaˇcníprotokoly. O streamo- vání videa, zvuku a dalších dat prostˇrednictvímInternetu mezi Flash Playerem a vzdáleným serverem se starají dva protokoly: RTMP a RTMFP. Tato kapitola se vˇenujestruˇcnémupopisu tˇechtodvou protokol ˚u.Text v závˇeru kapitoly popisuje ještˇeprotokol RTP, který pro doruˇcování audio a video dat mezi klientem a serverem používá reflektor.

3.1 RTMP (Real-Time Messaging Protocol)

RTMP je protokol vyvinutý spoleˇcnostíAdobe pro pˇrenosdat mezi serverem a Flash Player softwarem koncové stanice. P ˚uvodnˇese jednalo o uzavˇrenýprotokol, nicménˇev ˇcervnuroku 2009 vydala spoleˇcnostAdobe v rámci projektu Open Screen Project specifikaci protokolu RTMP pro veˇrejnévyužití. Cílem zmínˇenéhoprojektu je zpˇrístupnitRTMP protokol pro poskytování vi- dea, audia a dat v otevˇrenýchAMF, SWF, FLV,a F4V formátech na osobních poˇcítaˇcích,mobilních zaˇrízenícha spotˇrebníelektronice. RTMP protokol má tˇrivarianty [6]:

1. „Holý“ protokol, který pracuje nad TCP1 a automaticky používá ˇcísloportu 1935.

2. RTMPT protokol, který je zahrnut v HTTP požadavcích, za úˇcelempˇrekonánífirewallu.

3. Zabezpeˇcenýprotokol RTMPS, což je RTMPT pracující nad SSL spojením pomocí HTTPS.

RTMP je vhodný pro široké použití ve video-audio aplikacích, pro unicast a multicast vy- sílání, pro audio-video-on-demand2, a také pro videokonference a interaktivní aplikace. RTMP protokol nijak nezaruˇcujesprávné doruˇcenídat ke koncovému uzlu, proto využívá TCP, které garantuje doruˇcenívšech informací a ve správném poˇradí.Samostatný protokol nenabízí ani kontrolu nad prioritou doruˇcovánívybraných typ ˚uzpráv. Pro potˇrebyvideokonference je nˇe- kdy nutné upˇrednostnitkvalitu zvuku na úkor kvality videa. K tomuto úˇcelulze využít nasta- vení protokol ˚uvyšších vrstev ISO/OSI modelu napˇríkladna stranˇeserveru.

Pro úˇcelynásledné diskuze je zapotˇrebídetailnˇejšírozbor. Pro pˇrenosdat využívá RTMP spojení s Real Time Messaging Chunk Stream Protocolem (RTMP Chunk Stream). Posílané zprávy protokol fragmentuje na datové bloky (tzv. chunky). Spojení RTMP zaˇcínápotˇresenímrukou (handshake), který se na rozdíl od zbytku protokolu skládá ze tˇrechchunk ˚uo pevnˇedané velikosti. První dva datové bloky (C0 = RTMP verze klienta, C1 = náhodná data) posílá klient a ˇcekána odezvu ze strany serveru (S0 = RTMP verze serveru, S1 = náhodná data, S2 = kopie dat z C1). Poté, co klient pˇrijmezprávu, S1 odesílá kopii dat v ní obsažené zpˇetserveru (C2). Pokud klient i server pˇrijalivšechna správná data, handshake je ukonˇcen[7].

1. Jedná se o nerozšíˇrenˇejšíprotokol transportní vrstvy. Garantuje spolehlivé doruˇcovánídat a jejich doruˇcení ve správném poˇradí.Garance je zavádˇena,jelikož samotný IP protokol, který se stará o pˇrenosdat pˇressít’, nijak nezaruˇcujesprávné doruˇceníposílaných dat. V nˇekterýchsituacích je ale tato vlastnost TCP protokolu škodlivá. Ve- dlejším efektem správného doruˇcovánídat je vyšší latence. 2. Audio a video obsah na vyžádání.

5 3. KOMUNIKACN͡ PROTOKOLY

Po potˇresenírukou se m ˚užezaˇcítvysílat jeden nebo více chunk stream ˚u3. Každý vytvoˇrený chunk stream obsahuje v hlaviˇcceidentifikátor chunk stream ID, který ˇríká,do kterého proudu dat daný chunk patˇrí.Po pˇrenosuse u pˇríjemcesestaví p ˚uvodnízpráva na základˇechunk stream ID. Maximální velikost chunku je 65536 bajt ˚ua minimální 128 bajt ˚u. Formát chunku:

Basic Header Chunk Message Extended Time Chunk Data Header Stamp

Basic Header obsahuje chunk stream ID a typ chunku. Chunk Message Header obsahuje in- formace o zprávˇe,která je posílána. Extended Time Stamp slouží pro uložení ˇcasovéznámky (pouze v pˇrípadˇeže není menší než 0xffffff). Chunk data obsahuje pˇrenášenádata.

Chunky se rozdˇelujído 4 typ ˚u.Liší se podle tvaru Chunk Message Header a podle situace, kdy se používají.

Typ 0 Chunk typu 0 se musí používat vždy na zaˇcátkuchunk streamu a pokaždé, když se ˇcasová známka zmenšuje (u zpˇetnéhopˇretáˇcení).Chunk Message Header, o délce 11 bajt ˚u,obsahuje ˇca- sovou známku, délku zprávy, typ zprávy a identifikátor proudu, do kterého pˇrenášenázpráva patˇrí(message stream ID).

Typ 1 Chunk Message Header, o délce 7 bajt ˚u,neobsahuje (na rozdíl od typu 0) message stream ID, jelikož je stejné jako u pˇredešléhochunku. Délka zprávy je libovolná. Chunk typu 1 by mˇelbýt prvním chunkem zprávy (v pˇrípadˇeže se zpráva rozdˇelujedo více chunk ˚u).Používá se napˇrí- klad pro video.

Typ 2 Chunk Message Header, o délce 3 bajty, obsahuje pouze ˇcasovouznámku, jelikož message stream ID i délka zprávy jsou stejné jako u pˇredešléhochunku. Tento typ chunku pˇrenášízprávy pevné velikosti, a proto je vhodný napˇr.pro pˇrenosaudia.

Typ3 Chunk typu 3 neobsahuje Chunk Message Header v ˚ubec. Používá se v situacích, kdy je zpráva tak veliká, že se nevejde do jednoho chunku. Zprávu pak musíme rozdˇelitdo nˇekolikachunk ˚u, pˇriˇcemžhlaviˇckunese pouze první z nich (chunk typu 1).

K dorozumívání serveru s klientem používá RTMP ˇraduˇrídícíchzpráv. Nˇekteréjsou uvedeny níže. NetConnection – Tˇrída,která vytváˇríspojení mezi serverem a klientem na aplikaˇcníúrovni. Používané ˇrídícízprávy: connect, call, close, createStream. NetStream – Tˇrída,která reprezentuje kanál, pˇreskterý jsou audio, video a další data posí- lána. Používané ˇrídícízprávy: play, play2, deleteStream, closeStream, receiveAudio, receiveVi- deo, publish, seek, pause.

3. Proud dat rozdˇelenýchdo chunk ˚u.

6 3. KOMUNIKACN͡ PROTOKOLY

3.2 RTMFP (Real-time media flow protocol)

RTMFP je pomˇernˇenový proprietární komunikaˇcníprotokol vyvinutý spoleˇcnostíAdobe s do- posud nezveˇrejnˇenouspecifikací. Stejnˇejako RTMP umožˇnujepˇrenášetFlash obsah mezi jednot- livými stanicemi, ale s dvˇemavelkými rozdíly:

• Nepoužívá architekturu klient-server, ale místo toho architekturu peer-to-peer4.

• Je stavˇenna UDP5 (místo TCP u RTMP).

Díky tˇemtodvˇemavlastnostem dosahují pˇrenášenádata menšího zpoždˇení,a proto se RTMFP používá v situacích, kdy je rychlost pˇrenosudat klíˇcová(napˇríkladvideokonference, nebo mul- tiplayer hry). Implementace RTMFP je obsažena ve Flash Playeru od verze 10. Pro rozpoznání jednotlivých peer ˚u(koncový uzel v peer-to-peer architektuˇre)je používán unikátní 256bitový identifikátor, tzv. Fingerprint, který jednotlivým stanicím pˇridˇelujespeciální server. Pro nekomerˇcníúˇcelyje možné bezplatnˇevyužít server Adobe Cirrus (dˇríveStratus) provozovaný spoleˇcnostíAdobe. Komunikace zaˇcínána stranˇepeeru pˇripojenímk serveru a získáním fingerprintu. Pomocí to- hoto fingerprintu se pak identifikuje ostatním peer ˚um.Od Flash Playeru verze 10.1 staˇcí,když se vytvoˇrípouze skupina, o fingerprinty se nemusí už starat, jejich výmˇenaprobˇehnena pozadí [8]. Celá komunikace pomocí protokolu RTMFP je šifrovaná 128bitovou šifrou RSA.

Následující 3 obrázky graficky znázorˇnují3 možnosti komunikace na platformˇeFlash. Pˇrekres- leno z [9].

Obrázek 3.1: TradiˇcníRTMP komunikace typu unicast

4. Peer-to-peer oznaˇcujemearchitekturu, kde spolu komunikují dva klienti pˇrímomezi sebou. Opakem je rozšíˇre- nˇejšíarchitektura klient-server, kde komunikuje klient s jiným klientem pouze prostˇrednictvím serveru. 5. Jedná se o druhý nejrozšíˇrenˇejšíprotokol transportní vrstvy, hned po TCP. Používá se právˇez d ˚uvoduvyšší latence pˇrigaranci správného doruˇcovánídat. UDP totiž tuto garanci neposkytuje. Nˇekterádata proto mohou dojít ve špatném poˇradí,vícekrát, nebo nemusí ke koncovému poˇcítaˇcidorazit v ˚ubec.

7 3. KOMUNIKACN͡ PROTOKOLY

Obrázek 3.2: RTMFP ve Flash player verze 10.0 / Cirrus 1

Obrázek 3.3: Druhá generace RTMFP komunikace podporovaná ve Flash player od verze 10.1 / Cirrus 2

3.3 RTP (Real-Time Transport Protocol)

RTP je protokol aplikaˇcnívrstvy standardizující paketové doruˇcováníaudio a video dat v Inter- netu. Castoˇ se používá v systémech, kde je potˇrebapˇrenášetvelké objemy dat pˇrinízké latenci (napˇr.u videokonferencí nebo u multiplayer her). Protokol RTP je ˇcastopoužíván ve spojení s protokolem RTCP (Real Time Control Protocol). RTCP je sít’ový protokol, který monitoruje pˇrenosovéstatistiky, QoS (Quality of Service) a napomáhá synchronizování mnohonásobných stream ˚u[10]. Jelikož byl RTP protokol navržen pro pˇrenosdat v reálném ˇcase,je vˇetšinajeho implementací stavˇenana protokolu UDP.

8 4 Komunikaˇcníinfrastruktura

R ˚uznépˇrenosydat vyžadují r ˚uznékomunikaˇcníinfrastruktury. Tato kapitola se vˇenujepopisu dvou rozdílných komunikaˇcníchinfrastruktur používaných pro pˇrenosvideokonferenˇcníchdat.

4.1 RED5

RED5 je otevˇrenýprojekt napsaný v objektovˇeorientovaném jazyku JAVA, který vznikl pomocí reverzního inženýrství. Pˇreduvolnˇenímspecifikace RTMP protokolu to byla jediná možnost, jak ve Flashi publikovat video nebo zvuk bez nutnosti kupovat drahá proprietární ˇrešení. Kromˇepˇrenosuvidea (ve formátech FLV, F4V, MP4) a zvuku (ve formátech MP3, F4A, M4A) umožˇnujeRED5 nahrávat komunikaci na centrální server (pouze ve formátu FLV), sdílet objekty, publikovat obsah v reálném ˇcasea pˇristupovatke vzdálenému poˇcítaˇci[11]. Ke komunikaci s koncovými klienty bohužel používá pouze protokol RTMP. Jelikož je ale ši- roce využívaný, dá se oˇcekávat,že ˇcasembude podporovat i nový RTMFP protokol, ke kterému zatím není vydaná specifikace. Jeho výhodou je možnost rozšíˇrenío vlastní aplikace (tzv. mo- duly). Nevýhodou je naopak minimální dokumentace.

4.2 Zrcadlo paket ˚u(Reflektor paket ˚u)

Pro doruˇcovánídat více uživatel ˚umnajednou je nejvhodnˇejšípoužívat rozesílání paket ˚upo- mocí multicastu1. Pˇrijeho volném používání napˇríˇcvelkými sítˇemi,jako je Internet, ale m ˚užeme narazit na nedostateˇcnoupodporou vícesmˇerové komunikace, nebo špatnou dostupnost multi- castové sítˇez nˇekterýchpˇripojovanýchmíst. Díky zrcadlu paket ˚use tˇemtoproblém ˚umm ˚užeme vyhnout díky emulaci vícesmˇerové komunikace nˇekolikajednosmˇernýmispojeními (unicasty2). Jednotlivé reflektory si uchovávají seznamy pˇripojenýchklient ˚u,a zároveˇntaké seznamy ostat- ních reflektor ˚upˇripojenýchdo spoleˇcnédistribuˇcnísítˇe.Klienti jsou vždy pˇripojovánik nej- bližšímu reflektoru, ale pˇrijímajídata z celé sítˇereflektor ˚u.Data poslaná od pˇripojenéhokli- enta se na „domovském“ reflektoru rozesílají nejen klient ˚umpˇripojenýmna stejném zrcadlu, ale i všem ostatním reflektor ˚uma následnˇejejich klient ˚um4.1. Pˇríkladempaketového zrcadla je RUM (RTP Unicast Mirror), jehož první verze byla napro- gramována v jazyce C. Z p ˚uvodnˇejednoduchého programu se následnˇevyvinul modulární ná- stroj, který umí data nejen replikovat, ale je schopen pˇreposílanádata i zpracovávat (napˇr.pokud nˇekterýklient nepodporuje používaný formát dat nebo má pˇrenosovépásmo s malou šíˇrkou). Následníkem RUM je RUM2, který oproti svému pˇredch˚udcipodporuje i ˇrízenípˇrístupu,auten- tizaci úˇcastník˚ua zapisování provozních záznam ˚u(„log ˚u“)[12]. RUM2, stejnˇejako vˇetšinavšech implementací protokolu RTP, je postaven na UDP. Z toho vyplývá, že RUM2 sice zprostˇredkovávápˇrenosdat s nízkou latencí, ale souˇcasnˇeneposkytuje garantovaný pˇrenospaket ˚u.

1. Multicast je metoda hromadného zasílání dat v síti. Zasílání funguje tak, že vysílající uzel pošle pouze jednu kopii informace, a ta je potom postupnˇerozesílána všem vybraným koncovým stanicím v síti. 2. Unicast je metoda zasílání dat v síti, kdy se posílají pakety pouze jedné stanici v síti. Když chceme poslat jednu informaci více stanicím zároveˇn,musíme vytvoˇritvíce unicast spojení, každé stanici zvlášt’.

9 4. KOMUNIKACNÍINFRASTRUKTURAˇ

Obrázek 4.1: Grafické znázornˇenípˇrenosudat pˇripoužití reflektoru.

10 5 Videokonferenˇcnínástroje

Videokonference byly dˇrívedostupné pouze pomocí drahých satelitních technologií, dnes je již vše díky Internetu daleko snadnˇejší.Mnoho program ˚u(napˇríkladSkype, ooVoo, Google Talk a další) poskytuje videotelefonování zdarma pro každého. Se stoupající rychlostí sítˇea levnými snímacími ˇcipyse navíc zvyšuje i kvalita pˇrenosuvideokonferencí [13]. Pravdˇepodobnˇenejrozšíˇrenˇejšímtypem nástroj ˚ujsou programy nainstalované na klientském poˇcítaˇci,které využívají pˇridanoukomunikaˇcníinfrastrukturu v síti. Zde ale narážíme na veliký problém. Uvažujme, že se urˇcitáskupina lidí rozhodne pro svoji komunikaci používat video- konferenˇcnínástroj vyžadující instalaci nˇejakéhokonkrétního programu (napˇr.Skype). Pak je tedy omezená pouze na stanice, kde je daný program nainstalovaný. Co když se ale chce do konverzace zapojit nˇekdodalší, kdo daný program nainstalovaný nemá? Pak m ˚užeuživatel na- razit na nekompatibilitu daného nástroje s používaným operaˇcnímsystémem nebo na licenˇcní omezení. Technologie Flash tyto potíže minimalizuje, protože ke své funkci vyžaduje pouze webový prohlížeˇc(Internet Explorer, Firefox, Chrome, . . . ) a nainstalovaný Flash Player (nejlépe nejno- vˇejšíverzi). Tyto dvˇepodmínky pˇritomsplˇnujevˇetšinapoˇcítaˇc˚u,a proto je velká pravdˇepodob- nost, že se onen nový uživatel bude moci bez problém ˚uzapojit do videokonferencí vytvoˇrených tˇemitotzv. Flashovými nástroji. V situaci, kdy se mluví o pˇrenosuvidea a zvuku pˇresInternet, jsou kompatibilita a funkˇcnost pˇrídavnýchzaˇrízení(kamera, mikrofon, reproduktor) a nutnost pˇripojeník Internetu považo- vány za samozˇrejmost.

11 6 Pˇrehledvideokonferenˇcníchnástroj ˚u

Tato kapitola se vˇenujevybraným komunikaˇcnímnástroj ˚um.Všechny uvedené nástroje pracují na technologii Flash. Každý nástroj byl vyzkoušen a otestován. Pro otestování komunikaˇcníchvlastností bylo po- užíváno tˇrípoˇcítaˇc˚uzapojených v jedné síti s nainstalovaným nejnovˇejšímAdobe Flash Player. Pˇribližnárychlost pˇripojenísítˇek Internetu je následující:

• download: 30 Mb/s

• upload: 1.5 Mb/s

U vˇetšinynástroj ˚ubyla používána tato kombinace koncových poˇcítaˇc˚u:

1. procesor: Intel Core 2 Duo T7200 operaˇcnípamˇet’: DDR2 1536MB 533MHz operaˇcnísystém: Ubuntu 10.04 webový prohlížeˇc:Firefox 3.6 kamera: Logitech C510 (rozlišení: 1280 x 720 px)

2. procesor: Intel Pentium IV operaˇcnípamˇet’: DDR 1536MB 400MHz operaˇcnísystém: Ubuntu 10.04 webový prohlížeˇc:Google Chrome 7 kamera: SWEEX WC001 (rozlišení: 640 x 480)

3. procesor: Intel Core 2 Duo P8400 operaˇcnípamˇet’: DDR3 2048MB 1066MHz. operaˇcnísystém: Windows XP Professional SP3 webový prohlížeˇc:Internet Explorer 8 kamera: Logitech C310 (rozlišení: 1280 x 720 px)

Nˇekterénástroje bohužel nepracovaly s operaˇcnímsystémem Ubuntu. V tˇechtopˇrípadech byla použita následující kombinace:

1. procesor: Intel Core 2 Duo T7200 operaˇcnípamˇet’: DDR2 1536MB 533MHz operaˇcnísystém: Ubuntu 10.04 webový prohlížeˇc:Firefox 3.6 kamera: Logitech C510 (rozlišení: 1280 x 720 px)

2. procesor: Intel Pentium IV operaˇcnípamˇet’: DDR 1536MB 400MHz operaˇcnísystém: Ubuntu 10.04

12 6. PREHLEDVIDEOKONFERENˇ CNÍCHNÁSTROJˇ U˚

webový prohlížeˇc:Google Chrome 7 kamera: SWEEX WC001 (rozlišení: 640 x 480)

3. procesor: Intel Core 2 Duo P8400 operaˇcnípamˇet’: DDR3 2048MB 1066MHz. operaˇcnísystém: Windows XP Professional SP3 webový prohlížeˇc:Internet Explorer 8 kamera: Logitech C310 (rozlišení: 1280 x 720 px)

U každého nástroje je struˇcnˇepopsána jeho charakteristika, vlastnosti a funkcionalita. Dále pak je uvedeno zpoždˇení(posuzované na základˇeodhadu) a celkové subjektivní hodnocení da- ného nástroje. Toto zpoždˇenípˇritomm ˚užebýt ovlivnˇenojak daným nástrojem, tak geografickým umístnˇe- ním použitého serveru, použitými poˇcítaˇcinebo tím, že jsou všechny poˇcítaˇcezapojeny v jedné síti s daným pˇripojením.Je tˇrebavzít také v úvahu, že zpoždˇeníbylo zjišt’ováno pouze se tˇremi úˇcastníky. Pˇrivyšším poˇctuúˇcastník˚um ˚uželatence nar ˚ust.V souvislosti se zpoždˇenímje uve- deno geografické umístnˇeníserveru[14], na kterém se testování provádˇelo,a hodnota RTT1 pa- ketu o velikosti 500 B. Nástroje jsou ˇrazenyna základˇejejich funkˇcníhovybavení (od nejjednodušších po nejsloži- tˇejší).U každého z nich je uvedeno, ˇcímse liší od pˇredešlých.Vedle názvu je vždy informace o tom, zda se jedná o nástroj s otevˇrenýmnebo s uzavˇrenýmzdrojovým kódem.

Mebeam (uzavˇrenýzdrojový kód)

Mebeam je bezplatný a absolutnˇenejjednodušší komunikaˇcnínástroj ze všech, které jsou zde uve- deny. Jediné, co poskytuje, je pˇrenosvidea a zvuku. Na úvodní stránce si uživatel zadá název místnosti, kterou chce vytvoˇrit,nebo ke které se chce pˇripojit(pokud už je vytvoˇrená).Míst- nosti jsou volnˇepˇrístupnéjakémukoli dalšímu uživateli. Pak už tedy zbývá jen rozeslat adresu nebo název místnosti pˇrípadnýmdalším úˇcastník˚uma videokonference m ˚užezaˇcít.

Každý uživatel si m ˚užepovolit nebo zakázat vysílání svého zvukového signálu k ostatním nebo vypnout zvuk pˇrijímanýod jakéhokoli úˇcastníkavideokonference. Všechna videa se zob- razují v jednom obdélníku, jehož parametry nelze zmˇenit.To znamená, že ˇcímvíce je úˇcastník˚u, tím ménˇeje prostoru pro jednotlivá videa. Maximální poˇcetúˇcastník˚uje 16. S videi nejde nijak manipulovat nebo je upravovat. Kvalita pˇrenášenéhoobrazu je velice nízká, na hranici únos- nosti.

Zpoždˇeníje katastrofálnˇevysoké (více než pˇetvteˇrin).Takto vysoké zpoždˇeníneomluví ani umístˇenípoužívaného serveru ve mˇestˇeDallas v USA. RTT má pr ˚umˇernouhodnotu 143,5 ms.

Subjektivní hodnocení: Pro potˇrebyrychlého nesoukromého videorozhovoru se mi myšlenka

1. Round Trip Time udává dobu kterou zabere doruˇcenípaketu koncovému uzlu a následné potvrzení o pˇrijetí.

13 6. PREHLEDVIDEOKONFERENˇ CNÍCHNÁSTROJˇ U˚ použití jednoduchého nástroje bez zbyteˇcnýchfunkcí velmi zalíbila. Bohužel, tento nástroj vy- kazuje pˇrílišvelkou latenci a nízkou kvalitu obrazu, což by mohlo uživatele odradit od jeho používání.

Obrázek 6.1: Mebeam

Meeting24 (uzavˇrenýzdrojový kód)

Komunikaˇcnínástroj Meeting24 nejen že pˇrenášívideo a zvuk, ale dále pˇridávámožnost ko- munikace prostˇrednictvímtextového chatu [15]. Odeslaná zpráva se vždy zobrazuje na videu odesílatele a nahrazuje pˇrípadnoupˇredchozízprávu. Uživatel m ˚užeurˇcovatpoˇradízobrazených videí a pˇrípadnˇejedno vybrané video “roztáh- nout“ na celou plochu.

Nástroj Meeting24 není od 18.10.2010 provozován, v souˇcasnédobˇese tedy pravdˇepodobnˇe jedná o mrtvý projekt. Do doby pˇredukonˇcenímprovozu bylo možné nástroj bezplatnˇepouží- vat. Na rozdíl od Mebeam nebylo pro vytvoˇrenímístnosti zapotˇrebíregistrace. Pro ostatní byla místnost volnˇepˇrístupnápˇresURL.

Latence se pohybovala kolem 5-10 vteˇrin.Tak vysoké zpoždˇeníje pravdˇepodobnˇezp ˚usobené umístˇenímserveru poblíž Japonského mˇestaNagano. RTT má pr ˚umˇernouhodnotu 290 ms.

Subjektivní hodnocení: Hned od zaˇcátkujsem mˇels nástrojem problémy v jakékoliv jiné kombi- naci než Internet Explorer + Windows. Video i zvuk odesílal, po chvíli ale pˇrijímalpouze zvuk. Na nástroji se mi líbí opˇetjeho jednoduchost. Uživateli by ale mohla vadit vysoká latence pˇrenosuvidea a zvuku a zp ˚usobˇrešeníchatu (nová zpráva vždy pˇrepíšestarou, uživatel tedy nemá pˇrístupke starým zprávám).

14 6. PREHLEDVIDEOKONFERENˇ CNÍCHNÁSTROJˇ U˚

Obrázek 6.2: Meeting24

Red5Chat (otevˇrenýzdrojový kód)

Jedná se o první uvedený nástroj s otevˇrenýmzdrojovým kódem. Nástroj Red5Chat pˇrevyšuje Meeting24 v lepším ˇrešeníchatu, které je stejné jako u typických chatovacích služeb. Dokonce ještˇepˇridávádalší funkcionalitu, a to možnost posílání soukromých zpráv jednotlivým úˇcastní- k ˚um[16]. Nástroj nabízí možnost zobrazení videí ve dvou r ˚uznýchrežimech - bud’ je „videové“ okno rozdˇelenona ˇctyˇrimenší ˇctverce, kde se zobrazují urˇcenáˇctyˇrividea, nebo je celé toto okno vy- plnˇenojediným videem.

Pro vyzkoušení je na stránkách projektu tento nástroj k dispozici komukoli bez nutnosti regis- trace.

Zpoždˇenívidea i zvuku je velice nízké, pˇribližnˇedo p ˚ulvteˇriny. Podle „IP lokátoru“ se ser- ver nachází ve Francii v Paˇríži.RTT má pr ˚umˇernouhodnotu 42,2 ms.

Subjektivní hodnocení: Tento nástroj se mi opˇetvelice zalíbil svojí jednoduchostí a otevˇreným zdrojovým kódem, bohužel má ale i svá negativa. První je, že je uživatel omezen pevnˇeda- ným zobrazením, které není možno upravovat. Dalším negativem je skuteˇcnost,že je uživatel limitován velikostí „videového“ okna. I když si nechá zobrazit jedno video o velikosti všech ˇctyˇrmenších, není to dostaˇcujícík tomu, aby mohl napˇr.pohodlnˇeˇcístpromítanou prezentaci (i pˇresto,že kvalita obrazu by to dovolovala).

15 6. PREHLEDVIDEOKONFERENˇ CNÍCHNÁSTROJˇ U˚

Obrázek 6.3: Red5Chat

AVChat (uzavˇrenýzdrojový kód)

AVChat pˇrinášíopˇetdalší novinku. Oproti pˇredchozímnástroj ˚umje zde možnost posílat jednot- livým úˇcastník˚umi libovolné soubory z vlastního poˇcítaˇce. Oproti Red5Chat má lépe zpracované zobrazování videí. Nejenom, že si uživatel m ˚uželibo- volnˇezvolit jejich umístnˇenína ploše, ale m ˚užetaké urˇcitvelikost daných videí. Dokonce m ˚uže urˇcitjedno video, které se zobrazí pˇrescelou plochu. Címˇ vˇetšívideo je zobrazeno, tím je kvalita jeho obrazu nižší [17].

AVChat je k dispozici na stránkách Icutoo [18]. Kdokoliv m ˚užena tˇechtostránkách bezplatnˇe nástroj používat, nemusí se registrovat a má také možnost vytvoˇritlibovolnou místnost, do- konce i chránˇenouheslem.

Pˇrestožese používaný server nachází poblíž New Yorku v USA, latence je nízká. Zpoždˇeníse po- hybuje kolem p ˚ulvteˇriny. RTT má pr ˚umˇernouhodnotu 114 ms.

Subjektivní hodnocení: Nástroj i jeho rozhraní shledávám pˇríjemnýma pohodlným na pou- žívání. Rozlišení videa by mohlo být lepší, ale i stávající je uspokojivé. Jediným nedostatkem by pro nˇekteréuživatele mohl být uzavˇrenýzdrojový kód.

16 6. PREHLEDVIDEOKONFERENˇ CNÍCHNÁSTROJˇ U˚

Obrázek 6.4: AVChat

Nyní je dokonˇcenamalá skupina nástroj ˚u,která je zamˇeˇrenávýhradnˇena audiovizuální komu- nikaci. Tyto ˇctyˇrinástroje nenabízí funkce jako je sdílení prezentací a jiných soubor ˚u,sdílení plo- chy, interaktivní tabule a další. Jsou spíše urˇcenyna jednoduché rozhovory, kde není zapotˇrebí nˇejakédalší interakce mezi úˇcastníkykonference. Nemají ani vypracovanou žádnou hierarchii mezi úˇcastníkyvideokonferencí - je to pˇredevšímz d ˚uvodumalé funkcionality tˇechtonástroj ˚u. Následující skupina nástroj ˚uje daleko poˇcetnˇejší.Tato skupina se již zamˇeˇrujena plnou kola- boraci mezi zúˇcastnˇenýmistranami. Nástroje jsou pˇredevšímurˇcenypro firemní nebo vzdˇelávací úˇcely, kde si uživatel nevystaˇcípouze s videem, hlasem a textem.

MeetingPoint (otevˇrenýzdrojový kód)

MeetinPoint nabízí, kromˇepˇrenosuvidea, zvuku a podpory textové komunikace, nˇekolikdal- ších funkcionalit. První z nich je interaktivní tabule. Na výbˇerjsou zde dvˇeverze – jednoduchá (se základními funkcemi malování) a propracovanˇejší(umožˇnujenavíc úpravy obrázk ˚u).Dru- hou novinkou je možnost spouštˇeníprezentací. Dále lze rozlišit mezi tˇremidruhy úˇcastník˚u s rozdílnými právy. Poslední novinkou je možnost hlasování na nˇejakétéma [19]. Nástroj nabízí širokou škálu volitelných rozlišení. Organizaci jednotlivých rámeˇck˚usi ale úˇcastníkvideokonference upravit podle svého uvážení nem ˚uže.Je omezen na jeden panel, kde se zobrazují všechna videa dohromady. Tento panel se dá do urˇcitémíry zvˇetšovati zmenšovat.

17 6. PREHLEDVIDEOKONFERENˇ CNÍCHNÁSTROJˇ U˚

MeetinPoint bohužel není kompatibilní se všemi bˇežnˇepoužívanými operaˇcnímisystémy a prohlížeˇci.V Ubuntu nefunguje nástroj v ˚ubec,ani pˇrikombinaci Windows + Google Chrome se nepodaˇrilonástroj zprovoznit. Až kombinace Windows + Internet Explorer a Windows + Fi- refox umožnila nástroj spustit. Ale i v tˇechtopˇrípadechje velice obtížné udržet pˇrenospo delší dobu stabilní.

Zpoždˇeníse pohybuje do jedné vteˇriny, ale ˇcímvˇetšírozlišení videa se nastaví, tím je zpož- dˇenívˇetší.Používaný server se nachází u mˇestaTerni ve stˇredníItálii. RTT má pr ˚umˇernouhod- notu 47 ms.

Subjektivní hodnocení: Navzdory všem svým nabízeným funkcím, nastavení rozlišení a ote- vˇrenémuzdrojovému kódu, mnˇebyl nástroj hned od zaˇcátkunesympatický. Je to dáno velkou nestabilitou a nekompatibilitou s nˇekterýmiprohlížeˇcia operaˇcnímisystémy. Široký výbˇerroz- lišení videa je velice praktický, bohužel v pˇrípadˇenejvyššího rozlišení je tak velké zpoždˇení, že se spíše jedná o zastavení videa než o opoždˇenýpohyb. Ani jeho anglicko-italské menu není pro práci pˇrílišpˇríjemné.Celkovˇesnad nejhorší nástroj, se kterým jsem se setkal.

Obrázek 6.5: MeetingPoint

OpenMeetings (otevˇrenýzdrojový kód)

Dalším kolaborativním nástrojem je OpenMeetings. Na rozdíl od MeetinPoint nenabízí privátní zprávy ani možnost nastavení rozlišení, ale má další tˇrinové služby. Tou první je možnost sdí- lení obrazovky pomocí JAVA doplˇnku.Druhou je nahrávání videokonferencí a jejich ukládání

18 6. PREHLEDVIDEOKONFERENˇ CNÍCHNÁSTROJˇ U˚ na centrální server. Takto nahraná videa se dají opˇetovnˇepˇrehrávatnebo stáhnout. A tˇretíno- vou službou je sdílení jakýchkoliv soubor ˚umezi úˇcastníkykonference [20]. Za zmínku také stojí podpora ˇceskéhojazyka. Organizaci i velikost videí si urˇcujeuživatel sám. Rozlišení už bohužel ne, pˇriˇcemžto nasta- vené je velice nízké.

Server se nachází v NˇemeckémBerlínˇe.Možná i z toho d ˚uvoduje letence nízká (do p ˚ulvte- ˇriny).RTT má pr ˚umˇernouhodnotu 32,6 ms.

Subjektivní hodnocení: Ze zaˇcátkumi tento nástroj pˇrišelhezký a pˇrehledný.Když jsem ale chtˇel vyzkoušet všechny funkce, zaˇcínaljsem se v nˇemztrácet a zamotávat. Špatná kvalita pˇrenáše- ného obrazu by mohla být pro nˇekteréuživatele také velkým nedostatkem. Velké plus je ale ote- vˇrenýzdrojový kód, podpora ˇceskéhojazyka, nízká latence a volná organizace videí.

Obrázek 6.6: OpenMeetings

Onif (uzavˇrenýzdrojový kód)

Onif je projekt ˇceskéfirmy iCORD International, spol. s r. o. Tento nástroj oproti Openmeetings sice neumožˇnujesdílet obrazovku, nabízí ale možnost textchatu a volbu velikosti a kvality vi- dea [21]. Velikost videa je ale omezená šíˇrkoupanelu, ve kterém jsou videa zobrazována. Onif nabízí nˇekolikmožností zobrazení, záleží na tom, co chce uživatel upˇrednostnit(zda video, mé- dia nebo interaktivní tabuli). Celý nástroj je zpracován v ˇceskémjazyce.

Nástroj si lze vyzkoušet v 14denním období.

Pˇrestožeje server umístˇenv Praze, zpoždˇenídosahuje až jedné vteˇriny. Pˇripoužívání interak- tivní tabule zpoždˇenírapidnˇenar ˚ustá.RTT má pr ˚umˇernouhodnotu 13,4 ms.

19 6. PREHLEDVIDEOKONFERENˇ CNÍCHNÁSTROJˇ U˚

Subjektivní hodnocení: Podle mého názoru je kvalita videa, a v nˇekterýchrežimech i velikost, uspokojující. Hezká je také možnost zmˇenyorganizace zobrazení podle pˇredemdaných šablon. Neuspokojivé by mohlo pro nˇekteréuživatele být zpoždˇení,obzvláštˇepˇripoužívání interaktivní tabule. Negativnˇep ˚usobísložitost podání a následné povolení žádosti o zkušební pˇrístup.Ani organizace naplánovaných konferencí není moc pˇrehledná.Pocit z používání nástroje není pˇríliš dobrý, vˇeˇrímale, že používáním by si na tento systém uživatel zvykl a nemˇels ním problémy.

Obrázek 6.7: Onif1

Obrázek 6.8: Onif2 („videový“ režim zobrazení)

20 6. PREHLEDVIDEOKONFERENˇ CNÍCHNÁSTROJˇ U˚

WiZiQ (otevˇrenýzdrojový kód)

WiZiQ je komunikaˇcnínástroj vyvíjený jako prostˇredekk vedení výuky pomocí videokonferencí. Od komunikaˇcníhonástroje Onif se liší pouze ve dvou vlastnostech - nabízí možnost sdílení plochy (stejnˇejako Openmeetings) a neobsahuje možnost hlasování. Úˇcastnícivideokonferencí jsou rozdˇelenido dvou skupin – na uˇcitele,kteˇrívytváˇría vedou videokonferenˇcníkurzy a testy, a na studenty, kteˇríse k tˇemtovytvoˇrenýmkurz ˚uma test ˚ummohou pˇripojovat.Uˇcitelm ˚uže student ˚umnáslednˇeudˇelovatnebo odebírat práva urˇcenápro používání funkcí v probíhané videokonferenci [22]. Nejvˇetšíˇcástvirtuální uˇcebnyzaujímá tabule, na kterou mohou psát jak vyuˇcujícítak studenti (pokud nejsou jejich práva omezena) [23]. Videa jsou situována do malých rámeˇck˚ubez možnosti zvˇetšovatjejich velikosti. Na výbˇerje pouze mezi malým (pohyblivým) a ještˇemenším (nepo- hyblivým) zobrazením.

Všichni úˇcastnícimusí být zaregistrováni, pak je možné na stránkách projektu nástroj bezplatnˇe používat.

Server je umístˇenve mˇestˇeHouston v USA, zpoždˇeníse pohybuje do jedné vteˇriny. RTT má pr ˚umˇernouhodnotu 170 ms.

Subjektivní hodnocení: Nástroj bych nedoporuˇcoval,a to hlavnˇez d ˚uvoduomezené manipu- lace s videi. Na to, jak jsou malá videa, a na to, jaké mizerné mají rozlišení, je latence ponˇekud vysoká. V takovém pˇrípadˇese obávám, že velké video s vyšším rozlišením by vytváˇreloneú- nosnˇevysoké zpoždˇení.

Obrázek 6.9: WiZiQ

21 6. PREHLEDVIDEOKONFERENˇ CNÍCHNÁSTROJˇ U˚

VYEW (uzavˇrenýzdrojový kód) Videokonferenˇcnínástroj VYEW se od WiZiQ a od Onifu v nabízených funkcích pˇrílišneliší. Oproti Onifu obsahuje navíc funkci sdílení obrazovky, oproti WiZiQ zase možnost hlasovat na urˇcitétéma [24]. Na druhou stranu neumožˇnujeuživateli mˇenitrozlišení pˇrenášenéhovidea. Velice užiteˇcnouvlastností videokonferenˇcníhonástroje VYEW m ˚užebýt pro nˇekteréuživatele zobrazování kurzor ˚umyší jednotlivých úˇcastník˚udané konference. Kurzor se zobrazuje pouze na ploše interaktivní tabule, pˇriˇcemžu každého zobrazovaného kurzoru je štítek se jménem jeho „majitele“. Rozhraní je sice velice pˇrehledné,ale bohužel je pevnˇedané. Videa se zobrazují v malých ˇctvereˇccíchs možností jedno z nich nepatrnˇezvˇetšit.

Po jednoduché registraci m ˚užeuživatel neomezenˇezkoušet neplacenou verzi, která je nepatrnˇe limitovanˇejšínež ty placené. Od placených verzí se liší hlavnˇev maximálním poˇctuúˇcastník˚u a v maximálním poˇctuvytvoˇrenýchmístností.

Zpoždˇeníse pohybuje do jedné vteˇriny. Server se podle “IP lokátoru“ nachází ve mˇestˇeAltanta v USA. RTT má pr ˚umˇernouhodnotu 133,5 ms2.

Subjektivní hodnocení: Hned od zaˇcátkuse mi VYEW ovládal lehce, byl mi sympatický a vše jsem shledával pˇrehlednéa intuitivní. Obsahuje spoustu pomocných, nˇekdymožná až zbyteˇc- ných, prvk ˚u,které se ale mohou uživateli obˇcashodit. Velkým nedostatkem jsou miniaturní videa a nemožnost je jakkoliv upravovat.

Obrázek 6.10: VYEW

2. Z d ˚uvodublokovaného ICMP se jedná o stroj z blízké sítˇe.

22 6. PREHLEDVIDEOKONFERENˇ CNÍCHNÁSTROJˇ U˚

Poˇcínajevideokonferenˇcnímnástrojem VYEW se m ˚uže mluvit o nástrojích stoprocentnˇepod- porujících plnou spolupráci zúˇcastnˇenýchstran. Kromˇesamozˇrejmýchsouˇcástí,typu pˇrenosu videa a zvuku nebo textového chatu (veˇrejnéhoi soukromého), se u všech tˇechtonástroj ˚uuživa- tel setkává s propracovanˇejšímiaplikacemi. Mezi nˇepatˇrípodpora interaktivní tabule, možnost promítat prezentace, sdílet soubory, nahrávat probíhající videokonference a ukládat nahrávky na centrální server, sdílet plochy nebo hlasovat na urˇcitétéma. Všechny mají urˇcitouhierarchii mezi úˇcastníkys možností pˇridˇelování práv. Každý z nástroj ˚utaké nabízí uživateli ˇcásteˇcnˇeurˇco- vat kvalitu rozlišení. Pˇríštíchšest kolaborativních nástroj ˚unabízí všechny výše zmínˇenéaplikace a funkcionality, od sebe se liší pouze vzhledem, organizací a pˇridanýmipomocnými prvky.

Webconference (uzavˇrenýzdrojový kód)

Webconference je komunikaˇcnínástroj, který k již zmínˇenýmkolaborativním funkcím pˇridává možnost ovládání vzdáleného poˇcítaˇce[25]. Uživatel si m ˚užezvolit mezi nˇekolika režimy zobrazování, zaleží na tom, co upˇrednostˇnuje. V jiném režimu než „videovém“ se zobrazují maximálnˇedvˇepˇrenášenávidea ve dvou stˇred- ních rámeˇccíchv pravém postranním panelu. Ve „videovém“ režimu je možné zobrazovat více videí, popˇrípadˇejedno nechat zvˇetšit(pak se v postranním panelu opˇetzobrazí už jenom dvˇe videa). Organizace zobrazovaných videí je složitá. Zcela chybí možnost s nimi jakkoliv pohybo- vat, nebo je zvˇetšovatna jiné velikosti.

Nástroj je možno si vyzkoušet v 20denní zkušební lh ˚utˇe.

Aˇckolivse užívaný server nachází v Los Angeles v USA, zpoždˇeníse pohybuje do p ˚ulvteˇriny. RTT má pr ˚umˇernouhodnotu 191,4 ms3.

Subjektivní hodnocení: Práce s nástrojem byla pˇríjemná,jen je problém zprovoznit ho v pro- hlížeˇciGoogle Chrome. Pracovní prostˇredíje pˇrehlednéa intuitivní s urˇcitýmomezením v po- dobˇepevnˇestanovených zobrazení. Video by mohlo být lepší kvality, stávající je ale stále ještˇe uspokojivé.

3. Z d ˚uvodublokovaného ICMP se jedná o stroj z blízké sítˇe.

23 6. PREHLEDVIDEOKONFERENˇ CNÍCHNÁSTROJˇ U˚

Obrázek 6.11: Webconference („videový“ režim zobrazení)

Dimdim (otevˇrenýzdrojový kód)

Oproti nástroji Webconference nenabízí možnost ovládání vzdáleného poˇcítaˇce,naopak nabízí napˇríkladpropojení se sociálními sítˇeminebo také propojení s webovými službami (napˇríklad http://www.youtube.com/) [26]. Takové služby mohou být ale pro uživatele ponˇekudnad- byteˇcné.Rozdˇeleníuživatel ˚uje na jednoho uˇcitele,který m ˚užepsát na tabuli a prezentovat, a na žáky, kteˇrímohou danou konferenci sledovat. V nižší open-source verzi se zobrazuje pouze video zvoleného administrátora, ve vyšší (pla- cené) verzi Enterprise je možno zobrazit režim s tˇremimenšími a jedním velkým videem.

Nástroj je možné si bezplatnˇevyzkoušet na domovských stránkách projektu. K pˇrístupuje nutná registrace.

Zkušební server je umístnˇenpoblíž mˇestaWichita v USA. Zpoždˇeníse v tomto pˇrípadˇepo- hybuje do dvou vteˇrin.RTT má pr ˚umˇernouhodnotu 156 ms4.

4. Z d ˚uvodublokovaného ICMP se jedná o stroj z blízké sítˇe.

24 6. PREHLEDVIDEOKONFERENˇ CNÍCHNÁSTROJˇ U˚

Subjektivní hodnocení: Používání nástroje se mi zdá ponˇekudneohrabané, zároveˇnmi také chybí širší možnosti pro úpravu videa. Bˇehnástroje v poˇcítaˇcis operaˇcnímsystémem Ubuntu je problematický. V ˚ubecnejde zprovoznit kamera a mikrofon, všechny ostatní aplikace však fungují bez problému.

Obrázek 6.12: Dimdim

InstantPresenter (uzavˇrenýzdrojový kód)

Od nástroje Dimdim se funkˇcnˇeneliší témˇeˇrniˇcím,jediný velký rozdíl je v uzavˇrenémzdrojovém kódu [27]. Všechna videa se zobrazují v jednom oknˇe,které se dá do urˇcitémíry zvˇetšovat a zmenšo- vat, ostatní okna (interaktivní tabule, chat, . . . ) se automaticky pˇrizp˚usobí.Kvalita pˇrenášeného videa je vynikající.

Nástroj si lze zdarma vyzkoušet v 14denní zkušební lh ˚utˇe.

I pˇresvysokou kvalitu videa a i pˇresskuteˇcnost, že se používaný server nachází v Los Angeles v USA, dosahuje zpoždˇenívelice nízkých hodnot (do p ˚ulvteˇriny).RTT má pr ˚umˇernouhodnotu 200,8 ms.

Subjektivní hodnocení: Nástroj je pˇrehledný,kvalita videa i velikost zpoždˇeníjsou jedny z nej- lepších. Bohužel se ale nedá více hýbat se zobrazovanými okny a upravovat uživatelské rozhraní podle uživatelových potˇreb.Tento nedostatek a uzavˇrenýzdrojový kód m ˚užemnoho uživatel ˚u od používání nástroje InstantPresenter odradit.

25 6. PREHLEDVIDEOKONFERENˇ CNÍCHNÁSTROJˇ U˚

Obrázek 6.13: InstantPresenter

Adobe Connect (uzavˇrenýzdrojový kód)

Asi nejpropracovanˇejšívideokonferenˇcnípom ˚uckaze všech v této práci studovaných nástroj ˚u. Není se ˇcemudivit, o vývoj i podporu se stará spoleˇcnost,která vytvoˇrilasamotný Flash. Ve srovnání s nástrojem InstantPresenter mu žádné funkce nechybí. Naopak, nejenom, že na- bízí vzdálený pˇrístupk poˇcítaˇci,ale po dlouhé dobˇe(poslední podporoval AVChat) se setkáváme s posíláním soubor ˚ujednotlivým úˇcastník˚um. Novou funkcí je možnost pˇripravovatsi interaktivní tabuli, aniž by to nˇekdoz ostatních uži- vatel ˚uzaregistroval. Vedle nahrávání videokonferencí a ukládání chatu m ˚užeuživatel ukládat použitý obsah interaktivních tabulí a opˇetovnˇeho použít. Adobe Connect dále nabízí širokou škálu administrátorských operací pro práci s úˇcastníkyvideokonferencí [28]. Zobrazované pracovní prostˇredísi m ˚užekaždý uživatel zvolit podle svého uvážení, ale stále jsou tu malá omezení. Plochu pro zobrazování videí je možno “roztáhnout“ témˇeˇrna celou plo- chu obrazovky s tím, že se zobrazuje žádné až všechna videa zároveˇn.

Nástroj je možno si bezplatnˇevyzkoušet na stránkách Adobe v 30denní zkušební dobˇe.

Zpoždˇeníse pohybuje do jedné vteˇriny. Server se nachází ve mˇestˇeSan Jose v USA. RTT má pr ˚umˇernouhodnotu 39 ms.

Subjektivní hodnocení: Nástroj se mi zdá pˇreplnˇenzbyteˇcnýmifunkcemi a nastaveními. Mu- sím ale uznat, že možnost nezobrazování pˇrípravyinteraktivních tabulí m ˚užebýt pro uživatele velice užiteˇcná.Samozˇrejmˇei ukládání tˇechtotabulí a jejich opˇetovnépoužití dokáže ušetˇritˇcas a práci. Ale stále by se uživatel mohl cítit trochu omezován pˇrimanipulaci s okny a s upravo-

26 6. PREHLEDVIDEOKONFERENˇ CNÍCHNÁSTROJˇ U˚ váním zobrazovaného prostˇredí.Mˇeljsem problémy zprovoznit konference v prohlížeˇciGoogle Chrome a i zpoždˇeníby mohlo být menší. Na závˇerasi mohu jenom ˇríci,že od nástroje spoleˇc- nosti Adobe bych ˇcekalnˇecolepšího.

Obrázek 6.14: Adobe Connect

BigBlueButton (otevˇrenýzdrojový kód)

Tradiˇcnízástupce plnˇekolaborativních nástroj ˚u.Obsahuje všechny funkce potˇrebnéke spolu- práci zúˇcastnˇenýchstran a nic navíc. Jeho zobrazované prostˇredíje plnˇeotevˇrenoúpravám uživatel ˚ubez velkých omezení. Video lze volit ve dvou dostupných rozlišeních (320x240px a 640x480px). Je zde i funkce umožˇnujícídetailnˇejšínáhled na prezentaci, fotku, popˇrípadˇejiný sdílený materiál [29]. Nechybí ani pˇrepnutído režimu zobrazování videí na celou obrazovku.

Nástroj je možno si plnˇea bezplatnˇevyzkoušet na domovských stránkách projektu.

Server je umístˇenve mˇestˇeOttawa v Kanadˇe.Zpoždˇeníse pohybuje pˇribližnˇedo p ˚ulvteˇriny. RTT má pr ˚umˇernouhodnotu 126,6 ms.

Subjektivní hodnocení: Ríkᡠse, že nejlepší se má nechat až na konec. Tak jsem to taky udˇe- lal. Tento nástroj mˇeopravdu nadchl, jednak svojí jednoduchostí a také z hlediska funkˇcního vybavení. Uživatel si m ˚užezvolit, co a kde chce zobrazovat, obsahuje vše potˇrebnépro plnou kolaboraci, ale neobsahuje zbyteˇcnosti,které uživatel nevyužije. Bˇežína obou mnou používa- ných operaˇcníchsystémech a ve všech prohlížeˇcích,ve kterých byl testován. Navíc má otevˇrený zdrojový kód.

27 6. PREHLEDVIDEOKONFERENˇ CNÍCHNÁSTROJˇ U˚

Obrázek 6.15: BigBlueButton

Obrázek 6.16: BigBlueButton

28 6. PREHLEDVIDEOKONFERENˇ CNÍCHNÁSTROJˇ U˚

Shrnutí funkˇcníhovybavení nástroj ˚u:

open-source √audio a video pˇrenos textchat privátní zprávy pouštˇeníprezentací interaktivní tabule úprava kvality videa sdílení soubor ˚u sdílení plochy nahrávání hlasování posílání soubor ˚u vzdálený pˇrístupk pc Mebeam √ √ Meeting24 √ √ √ √ Red5Chat √ √ √ AVChat √ √ √ √ √ √ √ √ MeetingPoint √ √ √ √ √ √ √ √ √ OpenMeetings √ √ √ √ √ √ √ √ √ Onif √ √ √ √ √ √ √ √ √ √ WiZiQ √ √ √ √ √ √ √ √ √ VYEW √ √ √ √ √ √ √ √ √ √ √ Webconference √ √ √ √ √ √ √ √ √ √ √ Dimdim √ √ √ √ √ √ √ √ √ √ InstantPresenter √ √ √ √ √ √ √ √ √ √ √ √ Adobe Connect √ √ √ √ √ √ √ √ √ BigBlueButton

Tabulka 6.1: Pˇrehledfunkˇcníhovybavení.

Pˇríkladyjiných Flashových videokonferenˇcníchnástroj ˚u:

VideoWhisper, MegaMeeting, Flashmeeting, GoToWebinar, Wimba, VMukti, Webchat, Vawkr, TokBox, SnapYap, WebEx, VoiceThread a další.

29 7 Rozdˇelenívideokonferenˇcníchnástroj ˚u

Pohled ˚u,jak rozdˇelovatkomunikaˇcnínástroje, je mnoho. Text se omezuje pouze na Flashové ná- stroje, tedy nástroje, které nevyžadují stahování a instalaci speciálních program ˚u.Liší se od sebe nejen svým vzhledem a funkˇcnímvybavením, ale také napˇríkladprotokolem, nad kterým pra- cují nebo otevˇrenostízdrojového kódu.

7.1 Rozdˇelení podle zamˇeˇrení

7.1.1 Nástroje zamˇeˇrenéna jednoduché rozhovory

Pojmem jednoduchý rozhovor je myšlena situace, kdy úˇcastnícipoužívají ke komunikaci pouze video a zvuk. Jediné, co tyto nástroje poskytují, je tedy pˇrenosvidea a zvuku (Mebeam). Nˇekteré ale pˇridávajíještˇemožnost používání textchatu (Meeting24, Red5Chat, AVChat).

7.1.2 Nástroje zamˇeˇrenéna více styl ˚ukomunikace

U nástroj ˚upatˇrícíchdo této skupiny se již m ˚užemesetkat s funkcemi jako je interaktivní ta- bule, sdílení soubor ˚u,nebo sdílení plochy. Zároveˇntaké nabízí urˇcitouhierarchii mezi úˇcast- níky videokonferencí s odpovídajícími právy. Tyto nástroje jsou vˇetšinoupoužívány pro firemní nebo vzdˇelávacíúˇcely, kde je zapotˇrebívíce komunikaˇcníchprostˇredk˚u(než je pouze pˇrenosvi- dea a zvuku) a rozdˇelenípráv jednotlivým uživatel ˚um.Kromˇetoho, že se od sebe liší poskytova- nými funkcemi, mají ještˇerozdílné styly zobrazování. Nˇekterétémˇeˇrúplnˇepotlaˇcujízobrazování videa a zvuku (WiZiQ), jiné nabízí vˇetšízobrazení videí s pevnˇedanou velikostí (MeetingPoint) a další dokonce umožˇnujíuživateli si zvolit zobrazovaný režim (Onif), popˇrípadˇesi zobrazení upravit podle svého uvážení (OpenMeetings).

7.1.3 Nástroje zamˇeˇrenéna propracovanou kolaboraci

Všechny tyto nástroje nabízí kromˇesamozˇrejméhopˇrenosuvidea a zvuku (popˇrípadˇei textu) funkce interaktivní tabule, možnost promítat prezentace, sdílení soubor ˚u,nahrávání probíhají- cích videokonferencí a ukládání nahrávek na centrální server, sdílení plochy a možnost hlaso- vání na urˇcitétéma. I tato skupina nástroj ˚umá, stejnˇejako pˇredchozí,vytvoˇrenouhierarchii mezi úˇcastníkykonferencí s pˇridˇelenými odpovídajícími právy. Od sebe se liší ve struktuˇrerozdˇelení úˇcastník˚u,v dalších pˇridanýchfunkcích a opˇeti ve stylu zobrazování. Stejnˇejako v pˇredchozí skupinˇei zde jsou nástroje potlaˇcujícízobrazování videa (VYEW), nástroje s pevnˇedaným zob- razením (Dimdim), a nástroje s r ˚uznýmirežimy zobrazení (Webconference), nebo s volitelným zobrazením (BigBlueButton).

7.2 Rozdˇelení podle otevˇrenostizdrojového kódu

7.2.1 Nástroje s uzavˇrenýmzdrojovým kódem

Nástroje s uzavˇrenýmzdrojovým kódem vˇetšinouvytvoˇrily soukromé firmy, které daný nástroj používají ke komerˇcnímúˇcel˚um.Tyto nástroje pak svým zájemc ˚umnabízejí za urˇcitýpoplatek, který se vˇetšinouodvíjí od používané verze. Naštˇestísnad u všech placených nástroj ˚uexistuje

30 7. ROZDELENÍVIDEOKONFERENˇ CNÍCHNÁSTROJˇ U˚ možnost si jej alespoˇnbezplatnˇevyzkoušet. Bud’ díky doˇcasnému(napˇríklad 14dennímu) pˇrí- stupu k plné verzi, která obsahuje všechny funkce a možnosti, nebo díky neomezenému pˇrístupu k jednodušší verzi, u které je nˇekdypoužívání hodnˇelimitované. Vzhledem k tomu, že tyto nástroje mají zdrojový kód uzavˇrený,je nemožné si jej podle svých potˇrebupravit. Nˇekteréspoleˇcnostisice nabízí, že videokonferenˇcnínástroj upraví podle pˇrání uživatele, ale tato služba je zpoplatnˇena. Flashové komunikaˇcnínástroje se skládají z klientské aplikace a jednoho (ˇcivíce) server ˚u. Ve vˇetšinˇepˇrípad˚usi zákazník „zakoupí“ klientskou aplikaci (pˇrístupke klientské aplikaci pro- stˇrednictvímwebového prohlížeˇce)a komunikaˇcnístrukturu (servery) provozuje daná firma. Dá se tedy ˇríci,že si zákazník platí i provozování potˇrebnéinfrastruktury. V tˇechtopˇrípadech jsou tedy uživatelé plnˇeodkázáni na cizí servery, nad kterými nemají žádnou moc. To m ˚uže být ponˇekudnepˇríjemnénapˇríkladv situaci, když je tˇrebauskuteˇcnitvideokonferenci v dobˇe, kdy poskytovatel služby provádí opravu, nebo jiné manipulace se serverem, které ho doˇcasnˇe vyˇradíz provozu. Jsou ale spoleˇcnosti,u kterých si zákazník koupí pouze onu klientskou apli- kaci, a komunikaˇcnístrukturu si provozuje sám. Mezi tyto spoleˇcnostise napˇríkladˇradíAdobe s videokonferenˇcnímnástrojem Adobe Connect. Pˇríkladynástroj ˚us uzavˇrenýmzdrojovým kódem: Webconference, Adobe Connect, Onif, VYEW, a další.

7.2.2 Nástroje s otevˇrenýmzdrojovým kódem

Programové produkty oznaˇcovanéjako „Open Source software“ zaˇcínajíposlední dobou vy- tlaˇcovatkomerˇcnísoftware. Hlavními d ˚uvodyjsou nízké poˇrizovacínáklady a technologická vyspˇelost. Otevˇrenostzde znamená jak technickou dostupnost kódu, tak legální dostupnost. Na rozdíl od komerˇcníchnástroj ˚uumožˇnujíza jistých podmínek uživatel ˚umjejich kód využívat (napˇrí- klad prohlížet, nebo upravovat). Jak m ˚užeuživatel nebo vývojáˇrnakládat s daným nástrojem záleží na tom, jaká licence je pˇridˇelená.Zˇrejmˇenejznámˇejšími„Open Source“ licencemi jsou [30]:

GNU General Public License (GPL)

GNU Lesser General Public License (LGPL)

BSD license

MIT license

Mozilla Public License (MPL)

Artistic license

Ve vˇetšinˇepˇrípad˚usi uživatel provozuje sv ˚uj videokonferenˇcnísystém sám. Existují ale spo- leˇcnosti(Dimdim, Inc.), které svým zákazník ˚umza urˇcitýpoplatek nabízí provozování komuni- kaˇcníinfrastruktury. Zde se m ˚užebohužel opˇetobjevit problém, který je zmínˇenvýše. Pˇríkladynástroj ˚us otevˇrenýmzdrojovým kódem: BigBlueButton, Meetingpoint, Dimdim, Red5Chat a další.

31 7. ROZDELENÍVIDEOKONFERENˇ CNÍCHNÁSTROJˇ U˚

7.3 Rozdˇelení podle používaného protokolu

Jelikož Flash podporuje pouze dva protokoly, je toto dˇelenípomˇernˇejednoduché. První skupi- nou jsou nástroje používající protokol RTMP. Témˇeˇrkaždý videokonferenˇcnínástroj patˇrído této skupiny. Druhou, minoritní, skupinou jsou nástroje používající protokol RTMFP (2 Way Video Chat od spoleˇcnostiVideoWhisper).

32 8 Kritéria výbˇeruvhodného videokonferenˇcníhonástroje

Jak už vyplývá ze zadání této bakaláˇrsképráce, byl výbˇervhodného komunikaˇcníhonástroje omezen pouze na nástroje používající platformu Flash. Jinak ˇreˇcenona nástroje, které nepotˇre- bují ke svému provozu stahování a instalaci speciálních program ˚u.Jediné, co potˇrebují,je webový prohlížeˇca nainstalovaný nejnovˇejšíFlash player. Druhým hlavním kritériem pro výbˇervhodného komunikaˇcníhonástroje byla možnost upra- vovat si funkˇcnosti grafickou podobu nástroje podle potˇrebuživatele. Tento požadavek pˇriro- zenˇenejlépe splˇnujíaplikace s otevˇrenýmzdrojovým kódem. Tˇretímkritériem byla grafická organizace a uživatelská pˇrívˇetivostnástroje. Jelikož má daný nástroj umožˇnovatkvalitní komunikaci, jevily se jako naprosto nevhodné aplikace, které zob- razují pˇrenášenýobraz na pˇrílišmalé ploše a rozmˇerytéto plochy nelze snadno zmˇenit.Ideální komunikaˇcnínástroj tedy musí být graficky plnˇeotevˇrenúpravám a nijak uživatele neomezovat (uživatel si m ˚užezvolit, co a kde chce zobrazovat - napˇr.ˇcívideo bude vˇetší,ˇcíbude menší, apod.). I když byl pˇrivýbˇeru vhodného komunikaˇcního nástroje kladen d ˚urazpˇredevšímna kvalitu pˇrenosuvidea a zvuku, bylo zároveˇnpˇrihlédnutoi k množství, užiteˇcnostia zp ˚usobuzpracování pˇridanýchfunkcí, které mohou komunikaci mezi uživateli usnadnit.

33 9 Vybraný nástroj

Podle mého názoru jediný videokonferenˇcnínástroj, který zcela vyhovuje výše uvedeným kri- teriím, je BigBlueButton. Je to plnˇevybavený Flashový komunikaˇcnínástroj s otevˇrenýmzdro- jovým kódem, který umožˇnujeuživateli upravovat zobrazované prostˇredípodle svých potˇreb. Mezi jeho nabízené funkce patˇrí,kromˇesamozˇrejméhopˇrenosuvidea a zvuku, možnost veˇrej- ného i privátního textchatu, interaktivní tabule, sdílení soubor ˚u,promítání prezentací, sdílení plochy a možnost hlasování. Dále umožˇnujezvolit si ze dvou rozlišení zobrazovaného videa (320x240px a 640x480px) a funkci zvˇetšovánísdíleného obsahu v interaktivní tabuli. V této kapi- tole se budu proto podrobnˇejivˇenovatpouze tomuto jedinému nástroji.

9.1 Historie

BigBlueButton je open source projekt, který v roce 2006 zaˇcalivyvíjet Richard Alam a Denis Zgonjanin na Carleton University. V roce 2008 se k projektu pˇripojilFred Dixon a spoleˇcnˇe s tv ˚urci založil firmu Blindside Networks Inc., která se jednak stará o soustavný vývoj nástroje BigBlueButton, a zároveˇntaké nabízí komerˇcnípodporu pro jeho uživatele [31]. P ˚uvodníverze podporovala sdílení prezentací, zvuku, videa a chatu. Následnˇebyla k pro- jektu pˇridánapodpora pro VoIP a sdílenou plochu, interaktivní tabule provázaná se zobrazova- nými prezentacemi nebo pˇrekládání chatu pomocí služby Google Translate [29]. V souˇcasnédobˇe je vývoj nejvíce zamˇeˇrenna podporu nahrávání videokonferencí a ukládání nahrávek na cent- rální server. Vydání nové verze BigBlueButton, s podporou této služby, je plánováno na konec roku 2010 [32]. V roce 2010 bylo k BigBlueButton pˇridánoi API (Application Programming Interface)1, ˇcehož následnˇevývojáˇrivyužili pro integrování BigBlueButton s jinými open source projekty:

• Sakai (výukový software)

• Wordpress (redakˇcnía publikaˇcnísystém)

• Moodle (výukový software)

• Joomla (redakˇcnía publikaˇcnísystém)

• Redmine (webová aplikace pro ˇrízeníprojektu)

• Drupal (systém pro správu webového obsahu)

• Foswiki (webová aplikace pro sdílení informací a spolupráci)

Nyní je nástroj BigBlueButton volnˇeke stažení pod licencí GNU Lesser General Public License.

1. Rozhraní pro programování aplikací.

34 9. VYBRANÝNÁSTROJ

9.2 Uživatelské role

V BigBlueButton existují tˇridruhy úˇcastník˚uvideokonference: viewer, presenter a moderator. Viewer je uživatel, který nemá v rámci konference témˇeˇržádná práva, m ˚užejen sledovat pre- zentace a videa ostatních úˇcastník˚u,pˇrípadnˇese zapojovat do chatu (soukromého i veˇrejného). Pˇríklademtakového uživatele by mohl být student sledující výuku nˇejakéhopˇredmˇetu. Presenter má, na rozdíl od uživatele viewer, možnost publikovat vlastní prezentace nebo jiné materiály, pˇrípadnˇesdílet s ostatními uživateli svoji obrazovku. Navíc urˇcuje,kdo se smí konference zúˇcastnit.Viewer se m ˚užestát presenterem tak, že se o to pˇrihlásízvednutím ruky a poˇckáaž mu moderator pˇridˇelípˇríslušnýstatus. Moderator má stejná práva jako presenter s tím rozdílem, že m ˚užeještˇenavíc pˇridˇelovat každému úˇcastníkovi(vˇcetnˇesobˇesamému) status presentera [29].

9.3 Architektura

BigBlueButton je postaven na následujících 15 open source komponentách[33]:

• Apache ActiveMQ (BSD license)

• Asterisk (GNU General Public License)

• Asterisk Java (Apache License, Version 2.0)

• Flex SDK (Mozilla Public License)

• Ghostscript (GNU General Public License)

• Grails (Apache License, Version 2.0)

• Image Magick (ImageMagick License)

• MySQL (GNU General Public License)

• Nginx (BSD-like license)

• OpenOffice (BSD-like license)

• Red5 (BSD-like license)

• SWFTools (GNU General Public License)

• Tomcat (Apache License, Version 2.0)

• Ubuntu (hlavnˇeGNU General Public License a nˇekterédalší licence)

• Xugler (GNU Lesser General Public License)

35 9. VYBRANÝNÁSTROJ

Obrázek 9.1: Základní bloky architektury BigBlueButton

BigBlueButton klient – Flashová aplikace, která bˇežíve webovém prohlížeˇci.

bbb-apps – Red5 aplikace která synchronizuje všechny klienty pˇripojenék videokonferenci.

nginx – Webový server, který zprostˇredkovává pro bbb-apps podporu RTMPT pomocí HTTP. Klientovi a komponentˇebbb-web slouží jako prostˇredekpro vytváˇrení,plánování a ˇrízení videokonferencí a pro nahrávání soubor ˚uurˇcenýchke sdílení.

swftool – Používá se pro konverzi soubor ˚uz formátu PDF do Flashových soubor ˚u,aby mohly být následnˇeprezentovány a zobrazovány v prohlížeˇciklienta.

imagemagick a ghostscript – Používají se jako alternativa k nástroji Swftool v situacích, kdy Swftool není schopen vygenerovat požadovaný Flashový soubor.

asterisk – Používá se jako server pro hlasové konference, ke kterému se pˇripojujeRed5 server pomocí hlasové aplikace SIP. Díky asterisku mohou uživatelé používat normální telefon nebo softphone2

2. Hlasový program urˇcenýpro volání pˇresInternet

36 9. VYBRANÝNÁSTROJ asteriskjava - Rozhraní mezi Asteriskem a bbb-web. Dotazuje se databáze, jestli je vytoˇcenéˇcíslo v hlasové konferenci platné, nebo ne. Pokud platné je, pak Asteriskjava pˇrijímápˇríkazy (pˇripojit,odpojit, zapnout a vypnout zvuk) activeMQ – Používá se jako prostˇredníkk dorozumívání mezi bbb-web a bbb-apps. Primárnˇe zprostˇredkováváposílání oznámení o konverzi nahraných soubor ˚u. deskshare a video - Aplikace sloužící pro sdílení plochy a videa.

37 10 Spojení vybraného videokonferenˇcníhonástroje s reflektorem

Souˇcástízadání této bakaláˇrsképráce je diskuze o možnostech spolupráce vybraného videokon- ferenˇcníhonástroje s komunikaˇcnímzrcadlem. Text si neklade za cíl zabývat se technickou realizací pˇrenosudat mezi Flashovým nástrojem a reflektorem. Naopak se ale snaží nastínit úskalí spojená s tímto propojením a navrhnout zp ˚u- soby jejich ˇrešení.Nejedná se pˇritomo problémy specifické pro nástroj BBB, ale o principiální pˇrekážkyznemožˇnujícíkomunikaci zrcadla s jakýmkoliv Flashovým nástrojem.

10.1 Problém TCP - UDP

Komunikace pomocí reflektoru je postavena na protokolu UDP, který zaruˇcujenízkou latenci pˇrenosu.Komunikace mezi serverem a Flashovým klientem probíhá nad protokolem RTMP, který naopak využívá služeb TCP.

10.1.1 Rešeníˇ pomocí protokolu RTMFP Rešenímˇ výše zmínˇenéhoproblému by mohla být náhrada protokolu RTMP protokolem RTMFP, který používá protokol UDP. Vzhledem k tomu, že specifikace RTMFP protokolu nebyla dosud zveˇrejnˇena,podporují tento protokol výhradnˇejen servery od spoleˇcnostiAdobe. Spojení ná- stroje BigBlueButton s reflektorem proto v souˇcasnédobˇenelze ˇrešitpomocí RTMFP. Pokud bude specifikace RTMFP protokolu nˇekdyzveˇrejnˇena,bude snad možné upravit ná- stroj BigBlueButton i zrcadlo tak, aby dokázali s tímto protokolem spolupracovat.

10.1.2 Rešeníˇ pomocí transformace transportního protokolu z TCP na UDP Druhým ˇrešenímby mohla být pouhá transformace transportního protokolu pomocí proxy for- wardera1, který by pˇrekládalTCP data na UDP data. Komunikace by s jeho využitím vypadala takto: TCP UDP Aplikace ←−−→ Proxy forwarder ←−−→ Zrcadlo Pˇrekážkouje ale rozdílný zp ˚usobposílaní dat u protokol ˚uTCP a UDP. TCP zaruˇcujegaranto- vaný pˇrenosvšech dat ve správném poˇradí,na což plnˇespoléhá RTMP protokol, který posílané zprávy fragmentuje do 4 typ ˚uchunk ˚u[3.1]. Jelikož UDP protokol doruˇcenívšech paket ˚unega- rantuje, mohlo by pˇritransformaci transportního protokolu z TCP na UDP dojít napˇr.k tomu, že datagram obsahující chunk typu 1 nebo 0 by se ztratil. V tom pˇrípadˇeby se mohl význam dat následujících za tímto chunkem vyhodnotit chybnˇe(napˇr.pokud by za ztraceným chunkem ná- sledoval chunk typu 3). Podobnˇešpatnˇeby se mohly vyhodnotit chunky i v situaci, kdy by pˇrišly v nesprávném poˇradí.2 Z tˇechtod ˚uvod˚uje nemožné, aby se problém spojení BigBlueButton (i jakéhokoliv jiného Flashového nástroje) se zrcadlem, ˇrešilpouhou transformací transportního protokolu.

1. Proxy server, který funguje jako prostˇredníkmezi klientem a serverem, pˇriˇcemžon sám vystupuje jako klient. 2. Tento problém se nedá ˇrešitani správnou paketizací. Správnou paketizací je myšlena situace, kdy všechny re- levantní, na sobˇezávislé informace, jsou v jednom paketu. V takovém pˇrípadˇeby musel být každý chunk typu 0 a nesmˇelby být rozdˇelendo více paket ˚u.Toto ˇrešeníje však velmi neefektivní a vzhledem k principu fungování RTMP protokolu [3.1] i nereálné.

38 10. SPOJENÍVYBRANÉHOVIDEOKONFERENCNÍHOˇ NÁSTROJE S REFLEKTOREM

10.1.3 Rešeníˇ pomocí protokolu RTP Dalším navrhovaným ˇrešenímje náhrada RTMP protokolu protokolem RTP,který pro pˇrenosdat využívá pˇrímoreflektor RUM2. Pˇrijímatnebo odesílat RTP data je ale pro Flash player nemožné, protože Flash podporuje pouze protokoly RTMP a RTMFP. Toto ˇrešeníje proto nerealizovatelné. Existuje ale aplikace SteamStream urˇcenápro Red5 server, která dokáže pˇreložitRTP data na RTMP data [34]. Pokud by byla doplnˇenapodpora zpˇetnéhopˇrekladuz RTMP na RTP, mohla by aplikace SteamStream sloužit k transformaci dat pˇrenášenýchmezi Red5 serverem a reflek- torem. V tomto pˇrípadˇeby zrcadlo nemuselo pouze pˇreposílatpakety, ale zároveˇnby mohlo propojit daný Flashový nástroj s aplikacemi pracujícími na RTP/UDP (RAT/VIC).

10.1.4 Rešeníˇ pomocí serveru od Adobe V souˇcasnédobˇeje jediným možným ˇrešenímpˇrizp˚usobit BigBlueButton tak, aby byl scho- pen spolupracovat se serverem od Adobe umožˇnujícímRTMFP unicast. Za této situace by bylo možné použít zrcadlo jako dodateˇcnouaplikaci, která by se starala o rozesílání dat k jednotlivým uživatel ˚um,a stejnˇejako v pˇredchozímpˇrípadˇeby souˇcasnˇeumožˇnovalaspolupráci mezi da- ným Flashovým nástrojem a aplikacemi pracujícími na RTP/UDP (RAT/VIC). Toto ˇrešeníby ale vyžadovalo nákup serveru od spoleˇcnostiAdobe.3

10.1.5 Dodatek k ˇrešení10.1.1 a 10.1.4 U ˇrešení10.1.1 a 10.1.4 je nutné zohlednit také typ dat, který je možné pomocí protokolu RTMFP posílat (video, zvuk, textchat, interaktivní tabule, sdílení plochy). Díky metodˇeObject Repli- cation4 je navíc možné sdílet data mezi peery [8][9][35].

10.2 Problém závislosti

Pokud bychom chtˇelipoužít zrcadlo místo stávajícího serveru Red5, vyvstala by otázka, nakolik by byl nástroj BigBlueButton s tímto reflektorem kompatibilní. Z dokumentace k BigBlueBut- ton vyplývá pouze to, že je tento nástroj možné použít i v kombinaci se servery od spoleˇcnosti Adobe [36]. Lze se tedy domnívat, že i pˇriinstalaci na reflektor by nemˇelabýt funkcionalita BigBlueButton omezena. Tuto domnˇenkuby ale bylo tˇrebaovˇeˇritanalýzou zdrojového kódu nástroje BigBlueButton, což je mimo oblast zájmu této bakaláˇrsképráce.

3. Zde vystává otázka, jestli se v ˚ubecvyplatí používat reflektor, když se server od Adobe, vzhledem k podpoˇre RTMFP unicastu, chová jako zrcadlo. Sice se tak chová, ale na rozdíl od distribuované sítˇereflektor ˚uje pouze jeden, což by mohlo být velkým omezením. 4. Metoda, která zajišt’uje doruˇcenívšech zpráv, i pˇripoužívání transportního protokolu UDP.

39 11 Závˇer

Cílem mé bakaláˇrsképráce bylo prostudovat Flashové videokonferenˇcnínástroje, podle stano- vených kritérií vybrat nejvhodnˇejší,vyˇrešitproblém spojení tohoto nástroje s komunikaˇcním zrcadlem a výsledky otestovat v reálném ˇcase. Otestoval jsem ˇctrnáctFlashových nástroj ˚u,z nichž za nejvhodnˇejšípovažuji open-source nástroj BigBlueButton. Jeho vlastnosti a architekturu jsem podrobnˇepopsal pro získání teoretic- kých znalostí, které jsem chtˇelpozdˇejivyužít pro návrh ˇrešenípropojení tohoto nástroje s ko- munikaˇcnímzrcadlem. Pˇribližším studiu problematiky jsem ale zjistil, že je v souˇcasnédobˇe nemožné propojit jakýkoliv Flashový nástroj s komunikaˇcnímzrcadlem bez nutnosti kupovat drahé proprietární produkty. D ˚uvodemje skuteˇcnost,že Flashové komunikaˇcnínástroje využí- vají transportní protokol TCP, zatímco reflektor používá protokol UDP. Vˇeˇrím,že informace získané bˇehemtvorby své bakaláˇrsképráce urˇcitˇev budoucnu využiji. Jelikož se mi velice zalíbilo ˇrešenívideokonferencí pomocí RTMFP protokolu, chci se této ob- lasti více vˇenovata snad i vytvoˇritvideokonferenˇcnínástroj, který by tento protokol používal. Jelikož by nebyl k provozu takového nástroje potˇrebavýkonný server se špiˇckovýmpˇripojením k Internetu a pro pˇrenosdat by byl využíván protokol UDP, bylo by možné efektivnˇerealizovat Flashové videokonference v reálném ˇcase.

40 Literatura

[1] Daniel Deyl: Videokonference ukazují stárnutí svˇeta http://www.strategie.cz/scripts/detail.php?id=466515 Únor 2010.

[2] Petr R ˚užiˇcka: Video mˇenínáš život Casopisˇ Connect Kvˇeten2010.

[3] Robin Good: Flash-based Video Conferencing Solutions On The Web http://www.kolabora.com/news/2004/11/18/flashbased_video_confe- rencing_solutions_on.htm Listopad 2004.

[4] Webová stránka Wikipedie vˇenujícíse platformˇeAdobe Flash http://en.wikipedia.org/wiki/Adobe_flash/.

[5] Webová stránka Wikipedie vˇenujícíse Adobe Flash Playeru http://en.wikipedia.org/wiki/Adobe_Flash_Player/.

[6] Webová stránka Wikipedie vˇenujícíse protokolu RTMP http://en.wikipedia.org/wiki/Adobe_flash.

[7] Adobe Systems Incorporated: Specifikace protokolu RTMP http://www.adobe.com/devnet/rtmp.html Duben 2009.

[8] Tomáš Krha: Flash: Webova peer-to-peer aplikace. http://zdrojak.root.cz/clanky/flash-webova-peer-to-peer-aplikace/ Bˇrezen2010.

[9] Webová stránka Adobe vˇenujícíse technologii Cirrus http://labs.adobe.com/technologies/cirrus/.

[10] Webová stránka Wikipedie vˇenujícíse protokolu RTP http://en.wikipedia.org/wiki/Real-time_Transport_Protocol.

[11] Webová stránka Google code vˇenujícíse Red5 http://code.google.com/p/red5/.

[12] Webová stránka komunikaˇcního serveru miro.cesnet.cz, provozovaného sdružením CESNET http://miro.cesnet.cz/about_the_project/about_the_project.en.html.

[13] Karel Jav ˚urek: Sci-fi technologie které se staly realitou http://www.zive.cz/clanky/sci-fi-technologie-ktere-se-staly- realitou/sc-3-a-153948/default.aspx Záˇrí2010.

41 11. ZÁVERˇ

[14] Webová stránka pro zjištˇenígeografického umístnˇeníuzlu podle IP adresy http://www.yougetsignal.com/tools/network-location/

[15] Webové stránky projektu Meeting24 http://meeting24.tv/

[16] Webové stránky projektu Red5Chat http://www.red5chat.com/

[17] Webové stránky projektu AVChat http://avchat.net/

[18] Webová stránka Icutoo http://www.icutoo.com/avchat30_free/.

[19] Webové stránky projektu MeetingPoint http://meetingpoint.di.unipmn.it/

[20] Webové stránky projektu OpenMeetings http://www.openmeetings.de

[21] Webové stránky projektu Onif http://www.onif.cz

[22] Webové stránky projektu WiZiQ http://www.wiziq.com/

[23] Byloková Kateˇrina: Webová stránka kabinetu informaˇcníchstudií a knihovnictví FF MU vˇenovanáWiZiQ http://kisk.phil.muni.cz/wiki/WizIQ Duben 2009.

[24] Webové stránky projektu VYEW http://vyew.com/

[25] Webové stránky projektu Webconference https://www.webconference.com/

[26] Webové stránky projektu Dimdim http://www.dimdim.com/

[27] Webové stránky projektu InstantPresenter http://www.instantpresenter.com/

[28] Webové stránky projektu Adobe Connect http://www.adobe.com/products/adobeconnect/

[29] Webové stránky projektu BigBlueButton http://bigbluebutton.org/.

42 11. ZÁVERˇ

[30] Pavel Arnošt: Co je to open-source software. http://www.root.cz/clanky/co-je-to-open-source-software/ Srpen 2001.

[31] Webové stránky spoleˇcnostiBlindside Networks Inc. http://blindsidenetworks.com/.

[32] Webové stránky Wikipedie vˇenujícíse projektu BigBlueButton. http://en.wikipedia.org/wiki/BigBlueButton.

[33] Aurelio F. Morales: Open Source Collaboration Software for Multipoint Video, Audio, and Text. http://5718wiki.gatorfone.com/wikka.php?wakka=AurelioMorales ProjectFinalReport Duben 2010.

[34] Webové wiki stránky projektu Red5 http://www.red5wiki.com/wiki/SteamStream.

[35] Webové stránky Adobe vˇenujícíse RTMFP http://www.adobe.com/devnet/flashmediaserver/articles/p2p_rtmfp _groups.html.

[36] Webové wiki stránky Google code vˇenujícíse projektu BigBlueButton http://code.google.com/p/bigbluebutton/wiki/.

43