You are on page 1of 162

OGG THEORA

Published : 2012-06-02 License : GPLv2

JOHDANTO
1. OGG THEORA 2. TST KYTTOPPAASTA 3. MIT ON DIGITAALINEN VIDEO? 4. MIK THEORA ON?

1. OGG THEORA
Internetin nopean kasvun trkeimpi taustavaikuttajia on ollut puolueeton suunnittelumalli. Avoimet standardit, vapaat ohjelmistot ja lpinkyvt teknologiat ovat vahvistaneet verkon kehityst. Verkon avoimen ympristn seurauksena sisllnkehittjt voivat helposti luoda verkkosivuja, ohjelmistojen kehittjt voivat rakentaa olemassaolevien projektien plle ja laajentaa toimintamahdollisuuksia verkossa, ja kyttjt voivat selata verkkoa, lhett shkpostia ja kytt monenlaisia sovelluksia. Verkkovideon tuotannon ja esittmisen perustekniikat eivt kuitenkaan ole vapaita tai lpinkyvi. Jos esimerkiksi ohjelmistokehittjt tekevt uuden videosoittimen, he joutuvat maksamaan tekijnoikeusmaksuja yrityksille, jotka pitvt hallussaan tiettyj patentteja, jos tahtovat jakaa videota laillisesti. Nm patentit (kuten useimmat ohjelmistopatentit) lukitsevat rimmisen perustavanlaatuisia ideoita. Esimerkiksi: yksi yhti on patentoinut idean tallentaa kuvan osia vasemmalta oikealle, ylhlt alas! Yhdess tuhannet videotekniikoita koskevat patentit estvt uudet tavat jaella mediaa ja tehd siit interaktiivista.

PATENTIN KUORMITTAMA VIDEO


Niille, jotka ovat huolestuneita yksitysten etujen vallasta julkisessa elmss, tm on ilmeinen ongelma: kuinka pieni joukko yhtiit voi hallita ohjelmistojen kehittmiseen tarvittavia perusideoita? Se luo mys hyvin konkreettisia ongelmia: maailmanlaajuinen vapaiden ohjelmistojen liike ei voi liitt monien videoformaattien tukea tuotteisiinsa. Ja koska patentit tekevt omien videosoittimien levittmisest kallista ohjelmistojen kehittjille, kehittjt ovat riippuvaisia muutamista Microsoftin, Applen ja Adoben tuotteista. Verkossa yli 98% videosta jaellaan Flashia kytten. Ongelmia ei ole vain ohjelmistokehityksen maailmassa - jos luot tai julkaiset videon verkossa, patenttien kuormittamat teknologiat vaikuttavat sinuun suoraan. Patenttien omistajilla on valta ottaa maksuja sisllntuottajilta ja MPEG LA, joka edustaa suositun MPEGvideoteknologian patenttien omistajia, ottaa lisenssimaksuja televisioyhtiilt, DVD-jakelijoilta, ja muilta. T ll hetkell he eivt vaadi rahaa verkkolhetyksist, mutta uudet tekijnoikeusmaksuehdot voivat jossain vaiheessa uhata verkkovideon riippumattomia julkaisijoita.

PAREMPI TAPA

Nyt meill on kuitenkin verkkovideoteknologia, jota kuka tahansa on vapaa kyttmn, tutkimaan, parantamaan ja jakelemaan ilman lupaa tai maksua. T t teknologiaa kutsutaan Ogg T heoraksi (tai vain "T heoraksi"). Jotkin osat T heorasta on parentoitu, mutta patenttien omistajat ovat antaneet pysyvn, peruuttamattoman, tekijnoikeusmaksuvapaan patenttilisenssin kaikille. T heora vltt tarkkaan kaikkia patentteja, jotka ovat perinteisill patenttien hallitsijoilla. Esimerkiksi kiertkseen naurettavaa yll mainittua kuvien tallennukseen liittyv patenttia, T heora tallentaa videokuvatietoa alhaalta yls eik ylhlt alas! On trke ymmrt, ett T heora on merkittv osa internetin vapautta. Mozilla, Opera ja Google ymmrtvt tmn, ja ovat julistaneet tukevansa T heora-videota tulevissa tai nykyisiss selainversioissaan. T m merkitsee, ett miljoonat kyttjt kykenevt katsomaan T heora-videota kytten selaintaan, ilman ylimrisi ohjelmistoja. Vapaiden ohjelmistojen yhteisn ty, Mozillan, Wikipedian ja muiden tukemana, on tuonut T heoran samalle laatutasolle kuin uusimman teknologian videotekniikat. On mys muita trkeit projekteja, joilla on samanlaiset pmrt, kuten Dirac, jonka kehityst BBC johtaa. Mutta jnnittvint T heorassa on, ett se on tll nyt, sit tukevat suositut tykalut, ja se on valmis laajamittaiseen kyttn. Opettelemalla T heoraa ja kyttmll sit omissa projekteissasi voit tehd verkosta jnnittvmmn ja vapaamman.

2. TST KYTTOPPAASTA
T m kyttopas kirjoitettiin viiden pivn kirjapyrhdyksen aikana Berliinin Maailmankulttuurin talossa (elokuun 10-15 2009).

Paikalla olivat: Jan Gerber Homes Wilson Susanne Lang David Khling Jrn Seger Ja monet auttoivat verkossa. Kiitokset mys Leslie Hawthornille ja Googlelle pyrhdyksen tukemisesta, ja Berliinin kesleirille. T m kirja on jatkuvat prosessi... Ole hyv ja parantele sit!

1. REKISTERIDY
Rekisteridy at FLOSS Manualsiin: http://fi.flossmanuals.net/register

2. KIRJOITA!
Valitse kyttopas http://fi.flossmanuals.net/bin/view/T heoraCookbook/WebHome ja luku jota tahdot muokata. Jos tahdot kysy meilt kysymyksi kyttoppaiden kirjoittamisesta, liity alla mainitulle irc-kanavalle ja kysy meilt! Odotamme osallistumistasi innokkaasti!

Lis tietoa FLOSS Manualsista lydt omasta kyttoppaastamme: http://fi.flossmanuals.net/FLOSSManuals

3. IRC
On hyv jutella kanssamme, jotta voimme koordinoida kaikkia projektiin osallistuvia. Meill on IRC-kanava jolle voit liitty. Ota IRCiss yhteys seuraaviin: palvelin: irc.freenode.net kanava: # flossmanuals

4. POSTILISTA
Kaikkea FLOSS Manuals -aiheista keskustelua varten liity postilistallemme: http://lists.flossmanuals.net/listinfo.cgi/discuss-flossmanuals.net

3. MIT ON DIGITAALINEN
VIDEO?
Video on sarja kuvia, jotka nkyvt liikkuvana kuvana. Ensimmiset "videot" (elokuvat) olivat kirjaimellisesti sarja valokuvia, jotka oli valaistu yksi kerrallaan tarpeeksi nopesti, jotta ihmisen silm nki liikkeen. Digitaalista videota voidaan ajatella kuvien sarjana, mutta yleens todellisuus on monimutkaisempi. Videota voidaan varastoida sarjana kuvia, aivan kuin filminauha tekee, mutta tm on jonkin verran tuhlaavaista. Loppujen lopuksi liikkuvan kuvan osat eivt usein muutu ruudusta toiseen, tai sitten ne muuttuvat hyvin vhn. Niss tapauksissa on helpompaa kuvata pelkk muutosta. Itse asiassa, nin videoformaatit yleens toimivat. Maailmassa, jossa on rajoittunut mr levytilaa ja verkkoyhteyksi tmn kaltaiset yksinkertaiset ideat voivat antaa sinun tallentaa satoja videoita tietokoneellesi (kourallisen sijasta) tai ladata videon minuuteissa (tuntien sijasta). Edellisen tekniikan lisksi videoformaatit voivat kytt muita pakkausmekanismeja, kuten samanvristen alueiden kuvaamista sen sijaan, ett jokainen piste kuvattaisiin yksitellen (samanlaisia temppuja voidaan kytt kuvien kuvailuun), tai ne kuvailevat tarkasti tiettyj kuvan osia, joissa on paljon yksityiskohtia tai liikett tapahtuu (esimerkiksi osa, johon luultavasti tuijotat) ja keskittyy vhemmn tylsiin juttuihin reunoilla. Nm videopakkauksen ideat eivt ole uusia, mutta ne kehittyvt nopeasti.

4. MIK THEORA ON?


T heora on videoteknologia videon luomiseen, leikkaamiseen, ksittelyyn ja toistamiseen. T mn tyyppisest teknologiasta puhutaan usein videoformaattina tai kodekkina (yhdistelm sanoista koodaajadekoodaaja). T heora on vapaa videoformaatti, joten kuka tahansa voi vapaasti kytt, tutkia, parannella ja jaella sit ilman lupaa. Jotkin osat T heorasta ovat patentoituja, mutta noiden patenttien omistajat ovat antaneet pysyvn ja peruuttamattoman tekijnoikeusmaksuttoman lisenssin kaikille. Koska T heoran jakelua ja parantelua eivt rajoita patentit, se voidaan sisllytt vapaisiin ohjelmistoihin. GNU/Linux pohjaisten kyttjrjestelmien jakeluversiot, kuten Ubuntu, Debian GNU/Linux tai Fedora sisltvt T heoran valmmiiksi asennettuna. Ja vapaat verkkoselaimet, kuten Firefox ja Chrome tukevat T heoraa. Jos ajattelemme verkkoselainten kytttilastoja heinkuulta 29, noin 25% netin kyttjist kytt Firefoxia ja 2,5% kytt Chromea. T m merkitsee, ett joka piv valtava joukko ihmisi kytt T heoraohjelmien toistamiseen kykenevi ohjelmistoja.

HISTORIA
T heora perustuu vanhempaan teknologiaan nimelt VP3, joka oli alunperin yksityisomisteinen ja patentoitu videoformaatti, jonka oli kehittnyt On2 T echnologies -yhti. Syyskuussa 2001 On2 lahjoitti VP3:n Xiph.org Foundationille vapaan ohjelmistolisenssin alaisuudessa. On2 antoi mys peruuttamattoman, tekijnoikeusmaksuttoman lisenssiluovutuksen, jossa luopui kaikista patenttivaatimuksista, joita sill voisi olla ohjelmasta ja sen johdannaisista. Nin kuka tahansa voi rakentaa VP3-teknologian varaan ja kytt sit mihin tahansa tarkoitukseen. Vuonna 2002 On2 sopi Xiph.Org Foundationin kanssa, ett VP3:sta tulisi perusta uudelle T heoraksi kutsutulle videoformaatille. On2 julisti T heoran olevan VP3:n seuraaja. Xiph.Org Foundation on voittoa tuottamaton jrjest, joka keskittyy vapaiden multimediaformaattien ja -ohjelmien tuotantoon ja levittmiseen laajemmalle yleislle. T heoran kehityksen lisksi se on luonut vapaan nikodekin nimelt Vorbis, sek suuren joukon kyttkelpoisia tykaluja ja osia, jotka tekevt vapaista multimediaohjelmista helppokyttisempi. Muutaman vuoden beta-testauksen jlkeen T heora julkaisi marraskuussa 2008 ensimmisen vakaan version 1.0. Mill tahansa T heoran versiolla enkoodatut versiot ovat tmn pisteen jlkeen yhteensopivia mink tahansa tulevan soittimen kanssa. Laajaa T heoran kehittjien yhteis tukevat Redhatin kaltaiset yhtit ja kansalaisjrjestt, kuten Wikimedia Foundation.

VERKKO

T heoran tuki verkkoselaimissa luo erityisen tilaisuuden. Juuri nyt lhes kaikki verkkovideo vaatii Flashia, yhden yhtin omistamaa tuotetta. Mutta nyt 25% kyttjist voi toistaa T heora-videoita selaimessaan asentamatta lisohjelmistoja, joten on mahdollista haastaa Flashin valta-asema verkkovideon jakelutykaluna. Lisksi W3C:n (World Wide Web Consortium) uusi HT ML5-standardi tuo uuden jnnittvn ulottuvuuden - verkon ja videon yhdistmisen monilla tavoilla, jotka sopivat T heoralle.

PATENTIT JA TEKIJNOIKEUDET
Patenttien maailma on monimutkainen ja jtt T heoran kilpailijoille paljon tilaa levitt pelkoa, epvarmuutta ja epilyksi sen kyttkelpoisuudesta todella vapaana formaattina. Olemukseltaan T heora on vapaa. Se on vapaa kytettvksi, muutettavaksi, uudelleenjaettavaksi, toteutettavaksi, myytvksi tai mit tahansa sill tahdotkin tehd. Mutta on mys trke, ett vapaiden ohjelmistojen tukijat ymmrtvt esille nousevat kysymykset.

Yksi yleinen pelko on, ett T heora kohtaa huomaamattomia patentteja - patentteja, joita kukaan ei ole viel huomannut, mutta joita T heoran tekijt eivt saaneet kytt. On kuitenkin totta, ett kaikki nykyaikaiset ohjelmat voivat trmt salattuihin patentteihin - kaikki Microsoft Wordista Linuxin ytimeen. Kuitenkin miljoonat ihmiset ja kokonaiset teollisuudenalat kyttvt vielkin nit tykaluja. T oisin sanottuna salatut patentit ovat ongelma koko ohjelmistoteollisuudelle, mik ei tarkoita, ett ohjelmistoteollisuuden pitisi lopettaa ohjelmien kehittminen. On mys trke havaita, ett pahimmakin tapauksessa tuntemattoman patentin ilmestyess T heora voi luultavasti kiert sen. T llaista tapahtuu koko ajan. Mozilla Foundationin ja Wikipedian kaltaiset organisaatiot ovat tutkineet tt kysymyst ja ovat tulleet samaan lopputulokseen. Xiph.orgin tuottamat ohjelmat ovat mys tekijnoikeuden alaisia, mutta ne on tarjottu vapaiden ohjelmistolisenssien alla. Xiph.org tarjoaa koodia, jotta jokainen voi list sen mihin tahansa ohjelmaan. Xiph.org tarjoaa mys joukkoa tykaluja, jotka toimivat T heora-tiedostojen kanssa. T m merkitsee, ett voit tutkia, muuttaa, uudelleenjaella ja myyd kaiken, mit teet T heoralla tai mill tahansa sen sisltvill tykaluilla.

MUUT VAPAAT VIDEOFORMAATIT


On hyv huomata, ett on mys toinen projekti, joka luo tekijnoikeusmaksutonta, kehittynytt videonpakkausformaattia. Sit kutsutaan Diraciksi. Sen loi alunperin BBC:n tutkimusosasto. Dirac yritt tulevaisuudessa toimia kaikissa sovelluksissa Internetstreamauksesta korkean tarkkuuden televisioon asti ja laajeta toimimaan uusien laitteiden kanssa. Ogg T heora toimii silti erittin hyvin verkon streaming-videojakelussa, vaikka Diracista tulee luultavasti

10

parempi vaihtoehto korkean tarkkuuden videoiden jakeluun.

11

PERUSKSITTEET
5. KOODEKIT 6. SILT

12

5. KOODEKIT
Koodekki on matemaattinen kaava, joka kutistaa video- tai audiotiedoston kokoa. T heora on videokoodekki. Kun koodekki kutistaa videotiedoston kokoa, sen sanotaan mys tiivistvn tiedostoa. On kaksi tiivistystapaa, jotka ovat mielenkiintoisia tss yhteydess - tappioton ja tappiollinen tiivistys. 1. Tappioton tiivistys - T m on datan tiedon tiivistminen pienempn kokoon ilman datan poistoa. Visualisoidaksesi tmn prosessin kuvittele paperipussi, jonka sisll on esine. Kun poistat ilman pussista luomalla tyhjin, pussissa oleva esine ei kutistu, vaikka pussin koko kutistuu. 2. Tappiollinen tiivistys - Kutsutaan joskus "havaittavaksi koodaukseksi", tm merkitsee datan "heittmist pois" tiedostojen koon pienentmiseksi. Pakkausalgoritmit ovat monimutkaisia ja yrittvt silytt havaintokokemuksen laadun mahdollisimman pitklle, vaikka hylkvt niin paljon dataa kuin on tarpeen. T appiollinen tiivistys on hyvin hienoa taidetta. Algoritmit, jotka mahdollistavat tmn, ottavat huomioon kuinka aivot havaitsevat nt ja kuvaa ja poistavat tietoa nest ja videosta, vaikka silyttvt alkuperist lhdemateriaalia muistuttavan ni- ja kuvakokemuksen. T ehdkseen tmn prosessi seuraa psykoakustisen ja psykovisuaalisen mallinnuksen periaatteita.

LAATU
Digitaalisen videon laatua mritt koodatun informaation mr (bittinopeus) ja kytetyn videopakkauksen tyyppi (koodekki). Vaikka joitain koodekkeja voidaan pit T heoraa kehittyneempin, laadussa havaittava ero ei ole merkittv.

BITTINOPEUS JA LAATU
Koska digitaalinen video esitt liikkuvan kuvan informaationa, on loogista, ett mit enemmn informaatiota videossa on, sit laadukkaampaa liikkuva kuva on. Bittinopeus on kirjaimellisesti bittien mr sekunnissa videota (ja/tai audiota), jota kytetn koodaukseen. Koodekin suurempi bittinopeus merkitsee suurempaa laatua. Annetulle kestolle suurempi bittinopeus merkitsee mys suurempaa tiedostoa. On siis monta syyt, miksi matalampi bittinopeus on hyv asia. Videon tytyy ehk mahtua tietylle tallennusmedialle, kuten DVD:lle. T ai tahdot ehk toimittaa videon tarpeeksi nopeasti yleisllesi (jonka keskimrinen nettiyhteys on nopeusrajoitteinen) katsottavaksi latauksen aikana.

13

Erilaiset videotyypit voivat vaatia erilaisia bittinopeuksia saavuttaakseen saman havaittavan laadun. Video, jossa on paljon leikkauksia ja jatkuvasti vaihtuvia kamerakulmia, vaatii enemmn tietoa kuvaukseensa, kuin video jossa on paljon liikkumattomia kuvia. T oimintaelokuva vaatii siis suuremman bittinopeuden kuin Ken Burnsin dokumentti. Jotkin koodekit sallivat muuttuvan bittinopeuden. T m merkitsee, ett bittinopeus voi muuttua ajan myt vastauksena vaadittuun yksityiskohtaisuuteen. T ss tapauksessa videokoodekki kyttisi enemmn bittej nauhoittaakseen 10 sekuntia nopeita leikkauksia ja liikkuvia kamerakulmia, kuin se vaatisi koodatakseen 10 sekuntia melko liikkumatonta kuvaa.

KOODEKIT JA LAATU
Koodekit pienentvt mediatiedoston tarpeellista bittinopeutta kuvailemalla median ovelilla, tehokkailla tavoilla. Videokoodekit kuvaavat muutoksia yhdest kuvaruudusta seuraavaan, sen sijaan ett kuvaisivat jokaista kuvaruutua erikseen. Audokoodekit jttvt huomiotta taajuudet, joita ihmiskorva ei kuule. Aivan kuin yksinkertaiset tekniikat voivat kutistaa suuresti tiedoston bittinopeutta ja kokoa, viel kehittyneemmt tekniikat voivat kutistaa sit viel enemmn. T mn vuoksi joitain koodekkeja pidetn toisiin verrattuna ylivertaisina. Kun koodekit kyttvt monimutkaisia matemaattisia tekniikoita videon koodaamiseen, tarvitset voimakkaan mikrosirun avataksesi koodauksen nopeasti toistoa varten. T mn vuoksi on usein parasta kytt yksinkertaisempaa koodekkia. Viimeisimmn teknologian mukaisia temppuja kyttv koodekki voi olla kyttkelvoton vanhemmalla tietokoneella. Ja joskus on vain parempi kytt yksinkertaisempaa ja vanhempaa videokoodekkia (kuten DVD-levyt tekevt), koska sen toistoon tarvittava laitteisto on halvempi.

THEORA JA LAATU
Viimeaikaisen T heora-yhteisn tyn ansiosta T heora on saavuttanut saman laatutason kuin muut modernit koodekit, kuten h.264 (Applen, Youtuben ja muiden kyttm patenttien kuormittama koodekki). T m voi olla kiistanalainen asia, ja on joitain syit pit h.264koodekkia teknisesti ylivertaisena T heoraan verrattuna. Parasta on tutustua asiaan itse ja muodostaa oma mielipide. Nill sivuilla on vertailuja T heoran ja h.264:n vlill: http://people.xiph.org/~greg/video/ytcompare/comparison.html http://people.xiph.org/~maikmerten/youtube/

14

6. SILT
Sil tai kre on tiedostoformaatti, joka mrittelee miten erilaiset tietovirrat voidaan varastoida yhdess tai lhett yhdess verkon yli. Se sallii audio- ja videodatan tallentamisen yhteen tiedostoon ja toiston synkronisoidusti. Se sallii mys datasta etsimisen, kertomalla toistoohjelmalle miss audio- ja videodata on tiettyin ajan pistein. Audion ja videon lisksi silt voivat tarjota metadataa sisltmstn datasta, esimerkiksi kuvaruutujen koosta, kuvataajuudesta, onko ni monoa vai stereota, nytetaajuudesta, ja mys tietoa datan koodaamiseen kytetyist koodekeista. Kun toistat digitaalisen elokuvan, jossa on nt, soittimesi lukee sil, ja dekoodaa videon ja audion kytten eri koodekkeja. T heora on yleens varastoitu tai virtauslhetetty yhdess Vorbis-nen kanssa Ogg-silss, mutta se voidaan varastoida mys muihin silihin. matroska (.mkv) on toinen formaatti, jota ihmiset kyttvt T heoravideoon.

ERO SILN JA KOODEKIN VLILL.


Kolmen kirjaimen loppupte tiedostonimen lopussa viittaa siln, ei koodekkiin. T m hmment usein ihmisi. Kun tiedosto loppuu .mp4 tai .avi, ptteet viittaavat silihin, jotka voivat sislt monia erilaisia audio- ja videostriimien yhdistelmi. Monet silt eivt toimi tietyill koodekeilla, ja tietyt koodekit toimivat parhaiten tietyill silill. Mutta et voi sanoa varmasti mit koodekkeja videotiedosto vaatii katsomalla tiedostoptett.

15

TOISTO
7. THEORAN TOISTAMINEN 8. VLC 9. MIRO

16

7. THEORAN TOISTAMINEN
T oistaaksesi Ogg T heora -videoita tarvitset videosoittimen, joka tukee Ogg T heoran toistoa. Usein joidenkin videotyyppien toisto vaatii outojen ohjelmien asentamista, mik voi olla hyvin turhauttavaa ja ajanhukkaa. Onneksi monet videosoittimet voivat toistaa Ogg T heoraa ilman tarvetta asentaa mitn muuta. Kaksi helpointa soitinta ovat huomattavia, koska ne toimivat samoin kaikissa trkeimmiss kyttjrjestelmiss (Linux, Mac OS/X, Windows). VLC on vapaa videosoitin, joa toistaa monenlaisia videotiedostoja, mys T heoraa. Voit hankkia sen verkosta: http://www.videolan.org/vlc Miro on toinen Ogg T heora -videota tukeva videosoitin (http://getmiro.com). Jos sinulla ei ole kumpaakaan etk tahdo asentaa niit, voit mys kytt Firefox-selaimen versiota 3.5 ja myhempi (http://getfirefox.com) T heoran katseluun. Peukalosntn: jos video on typydllsi, kyt VLC tai Miro videosoitinta. Jos video on verkossa, kyt Firefox 3.5 tai myhempi.

THEORAN INTEGROINTI
Jos tahdot kytt T heoraa soittimella, joka tuli Mac OSX:n tai Windowsin mukana, kuten Windows Media Player tai QuickT ime Player, sinun tulee asentaa komponentteja tai filttereit, jotka parantavat T heoran toimivuutta. T m ei pde, jos kytt Linuxia, koska T heoraa tuetaan useimmissa Linux-jakeluissa ja sit voi toistaa T otemilla ja muilla GStreameriin perustuvilla ohjelmilla. Windowsissa ja Mac OSX:ss voit list tyden toiminnallisuuden ja T heora-tuen kaikkiin QuickT ime-pohjaisiin sovelluksiin, kuten QuickT ime-soittimeen itseens, mutta mys iT unesiin ja iMovieen. T ytyy vain asentaa Xiph QuickT ime Component (XiphQt), joka voidaan ladata Xiph.Orgin verkkosivulta: http://xiph.org/quicktime/download.html T oinen hydyllinen suodatin Windows-kyttjlle on DirectShow Filter. Se on mys tarjolla Xiph.Org Foundationista ja lis koodauksen ja dekoodauksen tuen Ogg Vorbisiin, Speexiin, T heoraan ja FLACiin mihin tahansa DirectShow -sovellukseen, kuten Windows Media Playeriin. Voit mys ladata suodattimet Xiph.Org -verkkosivulta: http://xiph.org/dshow/

17

8. VLC
VLC (lyhenne sanoista VideoLAN Client) on erinomainen tykalu video- ja audiotiedostojen toistoon. Se on vapaa ohjelmisto, se soittaa suuren mrn formaatteja, joihin sisltyy T heora, ja se toimii monilla erilaisilla alustoilla. Jos kytt Window, Mac OS/X tai Linux (esimerkiksi Ubuntu) kyttjrjestelm, VLC on sinulle mainio vaihtoehto. VLC toimii samoin jokaisessa kyttjrjestelmss, joten jos tiedt kuinka sit kytetn Windowsissa, osaat kytt sit mys Ubuntussa. VLC:n joustavuus ja luotettavuus tekevt siit yhden suosituimmista vapaiden ohjelmistojen videotykaluista.

ASENNUS
VLC on typytsovellus, joka sinun tytyy ladata ja asentaa. Asennuksen askeleet riippuvat kyttmstsi alustasta (GNU/Linux, Mac OS/X tai Windows). T ll sivulla on linkit VLC:n lataamiseen, sek ohjeet eri alustoille: http://www.videolan.org/vlc/ FLOSS Manualsin englanninkielisell verkkosivulla on mys hyv opas VLC:n asentamisesta ja kytst.

VIDEON TOISTO

18

1. Kynnist VLC. Net tllaisen ikkunan:

2. Mene VLC:n valikossa kohtaan Media > Avaa tiedosto.

3. Etsi T heora-tiedosto, jonka tahdot avata. Valitse se ja klikkaa T oista.

19

4. Video ilmestyy tllaiseen ikkunaan ja VLC alkaa toistaa sit.

TOISTON PERUSOHJAIMET
Aivan kuin useimmissa mediasoittimissa, voit siirt toiston sijainnin osoitinta eteenpin tai taaksepin videossa. Voit kaksoisnapsauttaa videota, jolloin se siirtyy koko ruudun tyttvn tilaan. Kaksoisnapsauta uudestaan, niin pset pois koko ruudusta.

20

9. MIRO
Miro (jota kutsuttiin aiemmin nimell Democracy T V) on tykalu videon etsimiseen, lataamiseen ja katselemiseen monista verkkolhteist. Se on vapaa ohjelmisto, jonka on tehnyt kansalaisjrjest Participatory Culture Foundation: http://participatoryculture.org/. Miro soittaa suuren joukon erilaisia formaatteja, joihin kuuluu T heora, ja se toimii monilla erilaisilla alustoilla (kyttjrjestelmt, kuten Windows, OS/X ja GNU/Linux). Videon toistamisen lisksi Mirolla on mahdollista etsi ja ladata videoita erityisesti formatoiduilta videolistoilta, jotka tunnetaan podcasteina tai vodcasteina. Voit kytt Miroa toistamaan videon typydllsi, tai lataamaan ja katsomaan videon URLista, joka osoittaa suoraan videotiedostoon, tai jopa suositulta videosivulta, kuten YouT ube. Voit mys kytt Miroa Bittorrent-tiedostojen lataamiseen ja katseluun (tiedostojen pte on .torrent).

ASENNUS
Miro on typytsovellus, joka sinun tytyy ladata ja asentaa. Asentamisen askeleet riippuvat kyttmstsi alustasta (GNU/Linux, Mac OS/X tai Windows). T ll sivulla on latauslinkit Miroon ja ohjeet eri alustoille: http://getmiro.com

VIDEON TOISTO

21

1. Kynnist Miro. Kun olet napsautellut lpi muutaman viestin, jotka nkyvt Miron toimiessa ensimmist kertaa, net tllaisen ikkunan:

2. Mene Miron hakemistossa kohtaan Video > Avaa.

3. Etsi tiedosto, jonka tahdot avata. Valitse se ja napsauta "Avaa".

22

4. Videon pitisi alkaa toistua Miron ikkunassa.

23

THEORA VERKOSSA
10. THEORAN KYTT VERKOSSA 11. HTML5-VIDEO 12. VIDEOT OMALLA SIVUSTOLLA 13. VERKKOHOTELLIT

24

10. THEORAN KYTT


VERKOSSA
T ytyy harkita muutamaa asiaa ennen videon laittamista verkkoon. Huomaa, ett katsojilla tytyy olla laajakaistayhteys, jotta he voivat katsoa videotasi verkkosivullasi. Ja mit korkeampi videon laatu on, sit suurempaa kaistanleveytt videon katsomiseen tarvitaan. T m merkitsee, ett joskus kohdeyleis ei edes ne videota verkossa, ja siksi sinun tytyy harkita toista strategiaa, kuten videon levittmist CD:ll, DVD:ll tai USB-muistitikuilla. Jos yleisllsi on nopea yhteys, tahdot ehk tarjota videon ladattavaksi tai toistettavaksi verkkosivullasi. Jokaisella strategialla on puolensa riippuen siit, mit tahdot saavuttaa. Edut videon tarjoamisessa toistettavaksi verkkosivulta ovat lhinn nm: 1. Voit mritell videon esittmisen kontekstin. 2. Yleislle on kytnnllist vain napsauttaa nhdkseen videon. 3. Sivujen vierailijoille on nppr napsauttaa videota ja katsoa siit pieni osa yleiskuvan saamiseksi, sen sijaan ett lataisivat koko tiedoston saadakseen esivaikutelman tystsi. 4. Yleislle on helppoa nytt tytsi muille, esimerkiksi lhettmll linkki videoon, jonka he tahtovat nytt kavereilleen. Edut videon tarjoamisessa ladattavaksi ovat: 1. Yleissi voi jakaa sen tiedostonjakoverkoissa (jotkut pitvt tt haittapuolena) 2. He voivat toistaa sen miten tahansa monta kertaa tahtovat kuluttamatta ylimrist kaistanleveytt. 3. He voivat muokata sit. 4. He voivat nytt sen ilman verkkoyhteytt (esimerkiksi elokuvanytksiss). 5. Voit tarjota korkealaatuisemman videon kuin voisit tarjota verkkosivullasi selaimen tai kaisanleveyden rajoitusten vuoksi. Voit tarjota mys molemmat vaihtoehdot: mahdollisuuden katsoa video verkkosivullasi ja mahdollisuuden ladata video. Voit jopa ladata sivuillesi kaksi versiota: toinen on koodattu verkkoon sopivalla laadulla (hieman kuin esikatseluversio elokuvasta pienemmss koossa ja huonommalla laadulla) ja toinen video ihmisille ladattavaksi paremmalla laadulla ja suuremmalla resoluutiolla.

25

Jos tahdot jakaa videosi verkkosivullasi sinulla on muutama vaihtoehto. Ensinnkin voit kytt hienoa HT ML5 -videotgi, ja jos tm ei ole mahdollista jokaiselle katsojalle, voit mys tarjota vaihtoehtoa: Cortado-soitinta. Jos sinulla ei ole psy tarvittavaan palvelininfrastruktuuriin, voit edelleenkin kytt yht monista tarjolla olevista videopalveluista, jotka tarjoavat ilmaista tilaa T heora-videoille (et tahdo ladata videotasi YouT uben kaltaisille sivuille, sill videon laatu heikkenisi, ja menettisit joitain oikeuksistasi materiaaliin). T oinen strategia on tarjota video ladattavaksi Bittorrentilla. Bittorrent on kyttjien vlinen tiedostonjako-protokolla, joka jakaa kaistanleveyden tiedostoa samaan aikaan lataavien tietokoneiden vlill. T llin siirt muuttuu sit nopeammaksi mit useammat ihmiset lataavat tiedostoa. Bittorrent on luultavasti taloudellisin tapa siirt isoja tiedostoja internetiss.

26

11. HTML5-VIDEO
Jos luot videon, tahdot ehk nytt sen verkkosivulla. Koodi, jolla verkkosivu luodaan, perustuu sntihin, joita kutsutaan HT ML:ksi, ja nist snnist on tullut juuri uusi versio, jota kutsutaan HT ML5:ksi. HT ML5 sislt uuden ominaisuuden: videotgin. "T gi" on muutama rivi HT ML-koodia, joka kskee selainta nyttmn jotain tai tekemn jotain. HT ML5 videotgi sallii yksinkertaisen videoiden integraation samaan tapaan kuin kuvia liitetn verkkosivulle. Videota voidaan mys nytt hyvin kyttkelpoisten ohjaimien kanssa. Ohjaimilla videon voi toistaa, pysytt, nenvoimakkuutta voi vaihtaa, ja videon aikajanaa voi vieritt.

PERUSSYNTAKSI
T ss on perusesimerkki videon sisllyttmisest sivulle HT ML5-koodin avulla:

<video src="video.ogv"></video>

Edellinen esimerkki liitt videotiedoston 'video.ogv' verkkosivulle. T mn esimerkin tiedoston pitisi olla samassa hakemistossa kuin HT ML-tiedoston, koska "src"-parametri viittaa paikalliseen tiedostoon. Jos tahdot viitata toisessa hakemistossa olevaan tiedostoon samalla verkkopalvelimella, joudut tarjoamaan polkutiedot aivan kuin tekisit kuvatiedoston tapauksessa.
<video src="/bin/edit/myvideofiles/video.ogv"></video>

Voit mys mritell toisella palvelimella olevan tiedoston:


<video src="http://mysite.com/video.ogv"></video>

PARAMETRIT
Lisparametrien lisminen antaa lis hallintaa videon suhteen.

27

<video tabindex="0" src="video.ogv">< height="320" width="480">

T ss esimerkiss videon korkeus (height) ja leveys (width) on mritelty. Jos et tahdo kuvan nyttvn vristyneelt, on trke asettaa korkeus- ja leveysulottuvuudet oikein. autoplay merkitsee, ett video soitetaan automaattisesti sivun latauduttua. controls merkitsee, ett videon toistamiseen ja pysyttmiseen liittyvt ohjaimet ovat nkyvill. On mahdollista liitt teksti tai muuta HT ML-sislt videotgiin vaihtoehtoisena sisltn, joka nytetn, jos selain ei tue videotgi.

OMIEN OHJAINTESI TAI SOITTIMEN KUOREN KYTT


Jos osaat hieman JavaScripti, voit hallita helposti videon toistoa. Sen sijaan, ett kyttisit selaimen tarjoamia ohjaimia, voit luoda oman kyttliittymn ja ohjailla videoelementtej JavaScriptin avulla. On kaksi asiaa, jotka sinun tytyy muistaa tt metodia kyttesssi: 1. l unohda pudottaa controls-attribuuttia 2. Video tarvitsee id-parametrin, kuten tss:
<video src="video.ogv" id="omavideo"></video>

Joitain JavaScript-funktioita:
video = document.getElementById("omavideo"); //toista video video.play(); //pysyt video video.pause(); //mene 10 sekunnin kohdalle videossa video.currentTime = 10;

Jos sinulla on monta videotgi yhdell verkkosivulla, sinun tulee antaa jokaiselle yksilllinen id, jotta JavaScript tiet, mihin videoon ohjaimet viittaavat. Videotgien tarjoamien funktioiden ja tapahtumien koko lista lytyy HT ML5-spesifikaatiosta sivulla http://www.whatwg.org/specs/webapps/current-work/# video

MANUAALISET VAIHTOEHDOT
Edellisess yksinkertaisessa esimerkiss videoelementti nytt tekstin videoelementin sisll, jos selain ei tue sit. T ekstin sijasta on mahdollista kytt Cortadoa vaihtoehtona, jos selain tukee Javaa. Cortado on avoimen lhdekoodin useamman alustan ja selaimen Ogg T heora -soitin, joka on kirjoitettu Javalla. Hieno asia on, ett kyttjn ei tarvitse ladata mitn ylimrisi Java-paketteja, koska sovelma kytt selaimen sisist Javaa. Cortadon kotisivu lytyy tlt: http://www.theora.org/cortado/ Esiknnetty sovelman versio on mys saatavilla tst osoitteesta: http://www.theora.org/cortado.jar

28

Voit ladata jar-tiedoston tai voit viitata siihen suoraan. Seuraavassa esimerkiss Cortado liitetn sivulle (kaikkia parametrej ei vaadita, mutta tm lista antaa kuvan mahdollisista vaihtoehdoista):
<applet code="com.fluendo.player.Cortado.class" archive="http://www.theora.org/cortado.jar" height="288"> <param name="url" value="http://myserver.com/theora.ogv"/> <param name="framerate" value="29"/> <param name="keepAspect" value="true"/> <param name="video" value="true"/> <param name="audio" value="true"/> <param name="bufferSize" value="100"/> <param name="userId" value="user"/> <param name="password" value="test"/> </applet> width="352"

Jos tahdot ladata jar-tiedoston vaihtoehtona, varmista ett laitat sen (cortado.jar) ja edellisen HT ML-sivun samaan hakemistoon. Vaihda sitten seuraava rivi sisltmn viite (linkki) omaan OGG-striimiisi (suoraan lhetykseen tai esinauhoitettuun):
<param name="url" value="http://palvelimeni.fi/theora.ogv"/>

Jos nyt avaat verkkosivun selaimessasi, se soittaa videon. Kyttksesi Cortadoa vaihtoehtona, aseta Cortado-tgi HT ML5videotgin sisn - kuten seuraavassa esimerkiss:
<video src="video.ogv" width="352" height="288"> <applet code="com.fluendo.player.Cortado.class" archive="http://theora.org/cortado.jar" width="352" height="288"> <param name="url" value="video.ogv"/> </applet> </video>

JAVASCRIPTIIN PERUSTUVAT SOITTIMET


On olemassa JavaScript-kirjastoja, jotka hoitelevat vaihtoehdon valinnan. Nm kirjastot mahdollistavat yksinkertaisen sivulle liittmisen, vaikka silyttvt vaihtoehtoiset soittimet ja toistomenetelmt eri selaimissa. Mv_Embed Mv_embed -kirjastoa on helppo kytt. Yksi JavaScript-tiedosto mahdollistaa HT ML5-videotgin kytn ja ominaisuuksien uudelleenkirjoittamisen soittimelle, joka toimii monissa selaimissa ja lisosissa. Listietoa aiheesta mv_embed
<script type="text/javascript" src="http://metavid.org/w/mwScriptLoader.php?class=mv_embed"></script> ... <video src="elokuvani.ogg" poster="elokuvani.jpeg">

Itheora IT heora on PHP-skripti, joka mahdollistaa ogg/theora/vorbis-videon (ja audion) toistamisen. Se on helposti asennettava ja kytettv. Itheoran sivulla on dokumentaatiota soittimen ja kuorien kytst.

TUKI SELAIMISSA

29

Juuri nyt Firefox 3.5 on ainoa julkaistu selain, joka tukee T heoraa. Opera ja Google Chrome tarjoavat T heora-tuen beta-versioissaan. Safari tukee videotgi, mutta tukee koodekkeja vain QuickT imen kautta tm merkitsee, ett se ei tue T heoraa. XiphQT (http://xiph.org/quicktime) lis T heora-tuen QuickT imeen ja Safariin.

30

12. VIDEOT OMALLA


SIVUSTOLLA
Voit laittaa Ogg T heora -videot omalle verkkopalvelimelle, aivan kuin kuvat tai HT ML-tiedostot.

MIME-TYYPIT
Jotta videot toimivat niill tytyy olla oikea mime-tyyppi. Mime-tyyppi merkitsee tapaa erilaisten internetiss vlitettyjen tiedostotyyppien tunnistamiseen. T m informaatio vlitetn yleens datan mukana. Listieto identifioi millaista informaatiota vlitetn ja se ei yleens ole ihmisten luettavisa, mutta ohjelmisto tulkitsee sen siten, ett oikeanlainen data vlitetn ja sen prosessoivat oikeanlaiset ohjelmat. Informaatio lhetetn siirretyn datan otsikossa. Otsikko on pieni mr metadataa, joka lhetetn ohjelmasta toiseen, ja joka kuvailee siirretyn tiedon tyyppi. T yypillinen otsikko sislt pituuden, mrnpn, mime-tyypin jne. Mime-tyypeiss on kaksi osaa, tyyppi ja alatyyppi (joskin nihin kahteen viitataan vain "tyyppin"). T yyppi kirjoitetaan muodossa tyyppi/alatyyppi. On vain nelj tyyppikategoriaa - audio, video, teksti ja sovellus. Alatyyppej on lukemattomia. Oikea mime-tyyppi T heora-videolle on "video/theora". Nykyisen palvelimen tulisi lhett oikeat tiedot. Jos palvelimesi ei lhet oikeita otsikoita, sinun tytyy muuttaa verkkopalvelimesi asetuksia. Jos kytt Apache-verkkopalvelinta (verkon suosituin palvelin) on kaksi tapaa tehd tm: 1. voit list kaksi rivi Apache-verkkopalvelimen asetuksiin 2. voit mahdollisesti tarjota lisasetuksen laittamalla videokansioosi .htaccess -tiedoston Ensimmiseen strategiaan tarvitset psyn verkkopalvelimesi konfiguraatiotiedostoon (httpd.conf). T ss tapauksessa kaikki verkkopalvelimen vlittmt tiedostot lhettvt oikean tiedon. T m on paras ratkaisu. Kuitenkaan sinulla ei ole psy verkkopalvelimen konfiguraatiotiedostoon (esimerkiksi, jos kytt jaettua verkkopalvelinpalvelua) ja tahdot ehk kokeilla toista strategiaa. T oinen strategia vaikuttaa vain videoon, joka tarjotaan samasta hakemistosta, johon laitoit .htaccess-tiedoston. Molempia strategioita varten tarvitset informaation asiaankuuluvasta tiedostosta:
AddType video/ogg AddType application/ogg .ogv .ogg

31

T iedostoille httpd.conf ja .htaccess voit sijoittaa tmn tiedon tiedoston loppuun. Jos sinulla ei ole .htaccess-tiedostoa, voit vain luoda tyhjn tiedoston ja list tmn tiedon (muuta tietoa ei tarvita).

OGGZ-CHOP
Apachea kyttmll voit mys ryhty paljon hienostuneemmaksi. Voit esimerkiksi mahdollistaa vain tiettyyn T heora-videon osaan viittaavien ja sen toistavien URLien kytn. Jos tahdot liitt vain osan videostasi verkkosivuusi tai sallia linkittmisen tiettyyn ajankohtaan videossa, voit kytt oggz-chop -pakettia serverillsi. Oggz-chop asennettuna voit kytt osoitteena tietty videon osaa laittamalla siirros-parametsin urliin. Kyttisit tt nyttksesi sekunnista 23 sekuntiin 42:
<video src="http://example.com/video.ogv?t=23.0/42.0"></video>

oggz-chopin asentaminen vaatii toimintamoduulin sallimista Apachessa ja oggz-chopin asentamista palvelimelle. T mn toimintamoduulin lisminen on tmn dokumentin laajuuden ulkopuolella, joten sinun on paras ottaa yhteytt Apache-guruun tai lukea aiheesta dokumentaatiota ennen kuin yritt tt. Kuitenkin... Jos sinulla on Apache2 asennettuna ja yllpitjn tunnus palvelimellesi, voit kokeilla tt komentoa asentaaksesi toimintamoduulit:
sudo a2enmod actions

Yritt sitten omalla vastuullasi... oggz-chop on osa oggz-tools -pakettia, voit asentaa sen komennolla:
sudo apt-get install oggz-tools

Kun nuo on asennettu, sinun tytyy sallia oggz-chopin kytt nill kahdella rivill Apachen konfiguraatiotiedostossa tai .htaccesstiedostossa:
ScriptAlias /oggz-chop /usr/local/bin/oggz-chop Action video/ogg /oggz-chop

ETKYTN SALLIMINEN
Pelkstn kuvia voidaan laittaa verkkosivuille muilta sivustoilta, ei videoita, elleivt nuo sivustot nimenomaan salli tt. Salliaksesi muiden sivustojen videoidesi kytn domainissaan, lis tm rivi Apachen konfiguraatio tai .htaccess -tiedostoon:
Header Set Access-Control-Allow-O rigin "*"

T ll asetuksella palvelin vastaa lisotsikolla 'Access-Control-AllowOrigin: *', joka tarkoittaa, ett videot voidaan liitt sivuille miss tahansa domainissa sivulta sivulle. Jos tahdot rajoittaa psyn videoihin sallituksi ainoastaan osoitteesta http://example.org, joudut muuttamaan sen tllaiseksi:
Header Set Access-Control-Allow-O rigin "http://example.org"

Huomaa, ett nyt videota ei voida laittaa domaineihin, jotka ovat muita kuin example.org. Access-Control-Allow-Origin -otsikko voi mys sislt pilkulla erotellun listan sallituista domaineista.

32

https://developer.mozilla.org/En/HT T P_access_control sislt yksityiskohtaisemman kuvauksen http-psynvalvonnasta.

VIDEOIDEN TARJOAMINEN SKRIPTILL


Viel yksi vaihtoehto. Jos sinulla ei ole mahdollisuutta vaikuttaa palvelimesi asetuksiin, mutta tahdot silti kytt videoita, voit kytt pient PHP tai CGI -skripti asettaaksesi oikeat otsikot ja tarjotaksesi videon. Sellainen skripti voisi nytt tlt:
<?php $video = basename($_G ET['name']); if (file_exists($video)) { $fp = fopen($video, 'rb'); header('Access-Control-Allow-O rigin: *'); header('Content-Type: video/ogg'); header('Content-Length: ' . filesize($video)); fpassthru($fp); } else { echo "404 - video not found"; } ?>

Jos skripti on sijoitettu nimell index.php videohakemistoosi, voisit kytt osoitetta http://example.com/videos/? name=test.ogv sen sijaan ett linkitt suoraan videoosi (http://example.com/videos/test.ogv).
<video src="http://example.com/videos/?name=test.ogv"></video>

33

13. VERKKOHOTELLIT
Monet verkkosivut tarjoavat ilmaisia verkkohotellipalveluja OGG T heora -sisllllesi. Voit linkitt niihin suoraan verkkosivuiltasi, tai antaa ihmisille linkin ulkoisella sivustolla olevaan sisltn.

TINYVID.TV
T inyVid (http://tinyvid.tv/) on yksinkertainen videonjakopalvelu, jonka T heora-yhteisn jsenet ovat kehittneet. Voit ladata videon miss tahansa formaatissa, ja se koodataan T heora-muotoon. Se tukee mys Firefogg-laajennusta Firefoxiin (http://firefogg.org/), jolloin voit koodata ja ladata videon sivustolle samaan aikaan!

THE VIDEO BAY (THEVIDEOBAY.ORG)


Video Bay on T he Pirate Bayn (http://thepiratebay.org/) yllpitjien uusi projekti. T m sivusto koodaa videon mist tahansa formaatista T heoraan. Sivuston yllpitjill on maine ihmisten etujen puolustajina tekijnoikeuksien hallitsijoita vastaan.

34

ARCHIVE.ORG
Archive.org on verkkosivusto, jota yllpit voittoa tuottamaton jrjest Internet Archive. Jrjest keskittyy digitaalisen median silyttmiseen. Listksesi videon arkistoon, sinun tytyy lisensoida ty Creative Commons (tai vastaavalla) lisenssill. T m ei yleens ole ongelma, jos teit teoksen itse, mutta voi olla ongelma, jos kytit tekijnoikeuden alaista materiaalia (esimerkiksi musiikkia videon sisll) tysssi, tai jos lataat jotain jonkun muun tekem. Voit tarjota Ogg T heora -sislt Internet Archivessa ilmaiseksi, ja list siihen linkin omalta verkkosivultasi. Archive.org muuntaa videosi Ogg T heora -muotoon ja moniin muihin formaatteihin, kun lataat sen arkistoon. Huomaa: kun kyt sivulla Archive.org, se huomauttaa jos selaimesi tukee videotgi. Jos net tmn viestin...

35

Lataa yksinkertaisesti sivu uudelleen ja katso viesti videoikonin alla:

T ss vaiheessa klikkaa linkki, joka sanoo "try the new tag" ja klikkaa seuraavaa linkki kyttksesi aina videotgi. T mn jlkeen videosi nkyvt T heorana. Jos tahdot suoran linkin videon T heora-versioon, kopioi "Ogg Video" -linkki vasemmassa sivupalkissa. Kun sinulla on tm linkki, voit linkata suoraan videoon, ja kuka tahansa yhteensopivalla selaimella varustettu nkee videon toiston:

DAILYMOTION

36

Dailymotion (http://dailymotion.com/) on yksi isommista videonjakosivustoista, ja se on nperrellyt T heora-tuen kanssa viime aikoina. 300 000 videota on muunnettu T heoraan, ja anomalla "motion maker" -kyttjtili (ja saamalla hakemuksen hyvksytty) voit julkaista siell videoita kytten T heoraa. Heidn kokeellinen T heoraportaalinsa on tll: http://openvideo.dailymotion.org/. Huomaa: kaikki videot tss portaalissa eivt nky viel T heorana, joten tarkasta ett videosi toimivat ennen kuin luotat thn palveluun.

WIKIMEDIA COMMONS
Wikimedia Commons ( http://commons.wikimedia.org/ ) on verkkosivu, jota yllpit Wikimedia Foundation ( http://wikimediafoundation.org/ ), voittoa tuottamaton organisaatio, joka yllpit mys Wikipediaa. Se on tietokanta mediatiedostoista, jotka ovat saatavilla kenelle tahansa kytettvksi mihin tahansa tarkoitukseen. Se on avoin verkkosivu, johon kuka tahansa voi tarjota sislt, ja joka kytt wikiohjelmistoa, joka mahdollistaa helpon yhteistyn. T t sivustoa hallinnoivat tysin vapaaehtoiset toimittajat, jotka luovat mys suurimman osan sisllst tarjoamalla omia titn. Yhteis on monikielinen, kntji on tarjolla tusinoille kielille. Se ker vain materiaalia, joka on tarjolla vapaiden sisltlisenssien alla tai kuuluu public domainiin.

37

38

ENKOODAUS
14. ENKOODAUKSEN PERUSTEET 15. FIREFOGG 16. ENKOODAUS VLC:LL 17. FFMPEG2THEORA 18. THOGGEN

39

14. ENKOODAUKSEN
PERUSTEET
Koodaus merkitsee prosessia, jossa T heora-tiedosto luodaan pakkaamattomasta videon raakamateriaalista. T ss tapauksessa lhdemateriaali on jossain pakatussa muodossa, vliin tulee koodauksen askel, jota tarvitaan ennen T heora-videon luomista. T m koodaus-dekoodaus tunnetaan usein nimell transkoodaus, tosin tss kirjassa kytmme synonyymin termi koodaus. Koodauksen toteuttavia ohjelmia kutsutaan koodaajiksi. Monia T heorakoodaajia on olemassa, esimerkiksi ffmpeg2theora ja VLC, nimetksemme muutamia. Ennen koodausta kyttjn tytyy ptt ainakin kaksi parametri: luodun T heora-tiedoston kuvan laatu nen laatu Kytetyst koodaajasta riippuen enemmn vaihtoehtoja voi olla tarjolla koodausprosessin kontrolloimiseksi: kuvaruutujen reunojen leikkaus mritellyn mrn mukaisesti koodauksen aikana videon resoluution uudelleenskaalaus videon kuvataajuuden muuttaminen videon ja nen synkronisaation ksittely avainruutujen vlin asettaminen

VIDEON LAATU, BITTINOPEUS JA TIEDOSTON KOKO


Useimmat T heora-koodaajat antavat kyttjn mritell suoraan koodatun videon subjektiivisen laadun, yleens skaalalla 0-10. Mit korkeampi laatu, sit suurempia ovat tuloksena syntyvt T heoratiedostot. Useimmat koodaajat voidaan vaihtoehtoisesti konfiguroida koodaamaan annettua keskimrist bittinopeutta varten. Vaikka tm vaihtoehto on kyttkelpoinen T heora-videotiedostojen luomiseen striimausta varten, se tuottaa alle optimaalista laatua ja sit pitisi vltt. Uusimmat versiot joistain T heora-koodaajista sisltvt 2-pass koodauksen. 2-pass koodaus antaa koodaajan asettaa mritellyn kohdebittinopeuden, jossa on optimaalinen videolaatu, ja sen pitisi siten olla samassa tasossa laatuvalvotun koodauksen kanssa, mutta ottaa kaksinkertaisen koodausajan. 2-passs -koodauksella luodut videot eivt ehk sovi striimaukseen.

VIDEON RESOLUUTIO JA KUVATAAJUUS


On monta syyt, joiden vuoksi luomasi T heora-videon resoluution tulis olla lhdevideota pienempi:

40

Jos koodaaja tuottaa liian suuria tiedostoja, jopa matalalaatuisilla asetuksilla nollan ymprill Jos vaadittu tiedoston maksimikoko vaatii hyvin matalia laatuasetuksia (0-3), mik johtaa liian huonoon nkyvn laatuun Jos koodatun videon toiston tulisi toimia jopa matalatehoisilla tietokoneilla Jos lhdevideomateriaalisi resoluutio on suurempi kuin perustarkkuuden videoilla; T heoran videokoodekkia ei ole suunniteltu korkean tarkkuuden videoon eik tee sit kovin hyvin. Jos lhdevideomateriaalisi resoluutio on eptavallisen matala, voit sst bitit, videon resoluution nostaminen koodauksen aikana voi vaikuttaa positiivisesti videon yleiseen laatuun. Kuvataajuuden stminen koodauksen aikana on yleens huono idea, se johtaa nykimiseen ja madaltaa havaittavaa laatua paljon. Jos kuitenkin tahdot hyvin matalan kohdetiedoston laadun, yrit vhent kuvataajuutta tsmlleen puoleen lhdetiedoston kuvataajuudesta. T llin tiedostokoko voi pienenty tarpeeksi pudottamatta videolaatua liian alhaiseksi.

VIDEORUUTUJEN KLIPPAUS
Joskus videon lhdemateriaali ei kyt kokonaisia videoruutuja, kuten mustien rajojen jttmist videon ymprille. On hyv idea poistaa mustat tai muuten kyttmttmt osat videosta, koska tm yleens parantaa koodatun T heora -tiedoston laatua ja tiedostokokoa. Jos mahdollista, yrit pit videon leveys ja korkeus 16:sta kertoimina. T heora-formaatti kykenee varastoimaan satunnaisten ruutukokojen videota muttei ole siin kovinkaan hyv.

VIDEON JA NEN SYNKRONISAATIO


T ydellisess maailmassa koodaaja kopioisi lhdevideomateriaalin videon ja nen synkronisaation luotuun T heora-tiedostoon. Kytnnss tm ei vain ole aina mahdollista. T heoravideotiedostojen tytyy pysy kiinni jatkuvassa ruudussa koko tiedoston lpi. niraitojen nentoiston nopeus ei myskn ole jatkuva T heorassa. Jotkin lhdevideoiden kuvataajuus voi kuitenkin vaihdella. Joskus ruutuja puuttuu lhdevideosta nauhoitusvirheiden vuoksi tai johtuen videoleikkausohjelmien kytst. Niss tapauksissa koodausprosessin tytyy aktiivisesti st nen ja videon synkronisaatiota. T m tehdn joko kahdentamalla tai pudottamalla ruutuja videosta, tai muuttamalla audioraitojen nopeutta.

AVAINRUUTUJEN VLI

41

Monet T heora-koodaajat sallivat avairuutujen vliksi kutsutun parametrin muuttamisen. Suurempi avainruutujen vli kutistaa kohdetiedoston kokoa uhraamatta laatua. Avainruudut ovat ne ruudut videossa, joihin soitin voi hakeutua suoraan toiston aikana. Jos videossa on 24 ruutua sekunnissa, avainruutujen vli 240 merkitsee, ett etsiminen on mahdollista vain 10 sekunnin jyvityksell. Leikkauksen ja liittmisen jlkeen koodattu video on rajoittunut avainruutujen jyvitykseen. Peukalosntn ei saa koskaan asettaa avainruutujen vli yli kymmenen kertaa kohdevideon kuvataajuutta suuremmaksi.

42

15. FIREFOGG
Firefogg on Firefox-verkkoselaimen laajennuksen nimi. Firefogg lis tuen videoiden koodaamiseksi T heoraan kytten miellyttv verkkokyttliittym. Se mys mahdollistaa verkkosivujen kytn videonlatauspalveluun, joka ottaa videoita tietokoneeltasi, knt ne lennossa T heora-muotoon ja lataa luodun T heora-tiedoston verkkosivulle.

ASENNUS
Firefogg vaatii Firefox-verkkoselainta, vhintn versiota 3.5. Jos Firefox-versiosi on venhampi, tai jos sinulla ei ole lainkaan Firefoxia asennettuna, vieraile sivulla www.mozilla.com ladataksesi ajan tasalla olevan version. Kun sinulla on viimeisin Firefoxin versio, kyt sit vieraillaksesi Firefoggin kotisivulla www.firefogg.org:

Nyt voit klikata Install Firefogg. Sivun ylosassa Firefox pyyt sinua sallimaan uuden tiedoston asentamisen:

43

Klikkaa Allow, jolloin seuraava dialogi ilmestyy:

Klikkaa Install Now. Asennuksen jlkeen sinua pyydetn kynnistmn Firefox uudelleen. Klikkaa Restart Firefox pstksesi eteenpin.

ENSIMMISEN VIDEOSI KOODAAMINEN


Koodataksesi videoita Firefoggilla tarvitset internet-yhteyden. Osia koodausohjelmasta on internetiss ja ne asennetaan tietokoneellesi. Koodausohjelma kynnistetn kymll osoitteessa http://firefogg.org/make. Seuraava sivusto tulee nkyviin:

44

Klikkaa Select File, jolloin esiin ilmestyy tiedostodialogi, joka antaa sinun valita lhdetiedosto koodattavaksi. T ss esimerkiss me kytmme videota my_source_video.mp4. T iedoston valitsemisen jlkeen sinut tuodaan dialogiin, joka kysyy videon koodauksen parametrej:

45

Valitse tll kertaa vain Save Ogg. Sinua pyydetn valitsemaan luotavan T heora-tiedoston nimi. Muista. Me valitsemme nimen my_theora_video.ogv (muista, oikea tiedostonimen pte T heoravideoille on .ogv). Nyt koodaus alkaa, kytten oletusarvoisia parametrej:

46

Nyt tytyy odottaa koodausprosessin 100% valmistumista ja sitten se on valmis.

KEHITTYNEEMMT KOODAUSOPTIOT
Kytten oletusarvoista parametrien joukkoa videon koodaukseen tuottaa hyvin pieni T heora-tiedostoja, jotka on optimoitu videon striimaukseen verkossa. Videon nkyv laatu on itse asiassa aika matala useimpien makuun. Mutta odota, Firefogg on yht kehittynyt kuin useimmat muut T heora-koodaajat. Pienell stmisell voidaan luoda helposti korkealaatuisia videoita. Stvaihtoehdot ovat nkyvill verkkosivulla Save Ogg -nappulan alla. Helpoin tapa koodauksen stmiseen on valita yksi kolmesta ennakkoasetusvaihtoehdosta Preset-valikosta:

47

Kahta ensimmist ennakkovalintaa kutsutaan nimill Web Video Theora ja Low Bandwidth Theora. Molemmat on optimoitu videon striimaukseen internetiss. Jos aiot toistaa luotuja T heora-tiedostoja ainoastaan CD:lt, USB-tikuilta tai tietokoneesi kovalevylt, sinun ei pitisi kytt niit. Kyt ennakkoasetusta High Quality Theora niiden sijaan.

Omat asetukset
Useampia koodausprosessin yksityiskohtia voidaan konfiguroida valitsemalla Custom Settings ja stmll alemman tason optioita muissa tarjolla olevissa valikoissa. Katsotaanpa trkeint valikkoa, Basic Quality and Resolution Control:

48

T ss voit mritell luodun T heora-tiedoston laadun. Voit mys muuttaa koodatun videon kuvaruudun kokoa. Videon koodaaminen kohdelaatuun (kohdebittinopeuden sijasta) on suositeltu koodaustila T heoraa varten, joten yleens et tahdo kokeilla muita koodausvaihtoehtoja muissa valikoissa.

MUITA TAPOJA KYTT FIREFOGGIA


Kun Firefogg on asennettu, sit voidaan kytt muilla sit tukevilla verkkosivuilla. Lista nist sivuita on osoitteessa http://firefogg.org/sites.

49

16. ENKOODAUS VLC:LL


VLC-mediasoitin (www.videolan.org) mahdollistaa videotiedostojen helpon koodauksen T heora-muotoon. Koodaus voidaan tehd joko graafisen kyttliittymn kautta tai komentorivilt. Seuraavat ohjeet on kirjoitettu Ubuntussa toimivaa VLC:n 1.0.1 versiota varten.

GRAAFISEN KYTTLIITTYMN KYTT


Kun kynnistt VLC-mediasoittimen, sinut viedn suoraan sen pikkunaan:

Media-valikossa voit valita Convert/Save. T m avaa seuraavan dialogin:

Kohdassa File Selection klikkaa Add ja valitse lhdevideo koodattavaksi. Sen jlkeen voit klikata Convert/Save valikon alaosassa. T m vie sinut koodausdialogiin:

50

Kohdassa Destination klikkaa Browse ja valitse sijainti sille T heoratiedostolle, jonka tahdot luoda. Muistakaa, ett oikea tiedostonimen laajennus T heora-tiedostolle on .ogv. Kohdassa Settings aseta profiili kohtaan "Video - Theora + Vorbis (OGG)". Sen jlkeen paina Start -nappia. T m aloittaa koodausprosessin ja vie sinut takaisin VLC:n pdialogiin:

Ikkunan alaosassa on nkyviss teksti "Streaming". T m osoittaa, ett se on nopeasti koodaamassa tiedostoasi. Liukusdin liikkuu hitaasti oikealle koodauksen edistyess. Kun koodaus on valmis, liukusdin siirtyy takaisin vasemmalle ja "Streaming" -teksti katoaa.

KEHITTYNEEMMT VAIHTOEHDOT
Jos et ole tyytyvinen koodauksen lopputulokseen, yrit muuttaa joitain kehittyneempi koodausparametrej. Edellisess koodausdialogissa, ennen Startin painamista, paina nappia, jossa on tykaluikoni, juuri vasemmalle profiilin valinnasta:

51

T m avaa uuden dialogin, jossa on 4 vlileht, jotka on nimetty; "Encapsulation", "Video codec", "Audio codec" ja "Subtitles". Varmista, ett et muuta mitn parametrej kohdassa "Encapsulation". T arvitsemasi videon koodausoptiot ovat "Video codec" -vlilehdess, joka nytetn alla:

Jos koodauksen tuloksena oleva laatu on hyvin heikko, yrit nostaa Bitratea . Jos videon lhdemateriaalilla on hyvin korkea resoluutio, yrit asettaa Scale arvoon 0.5 koodataksesi puolella alkuperisest resoluutiosta. T t kirjoitettaessa videon resoluution muuttaminen ei toimi kunnolla kaikelle lhdemateriaalille, kun VLC 1.0.1 on kytss.

KOODAUS KOMENTORIVILT
Jos koodaat suuren joukon tiedostoja T heora-muotoon, VLC-dialogin lpi klikkailu voi kyd pitkstyttvksi ja virheit tulee helposti. VLC:n komentorivikyttliittym pelastaa tlt. Vaikka se ei ole yht intuitiivinen kuin graafinen kyttliittym, se antaa sinun toistaa tsmlleen koodausprosessin, jsosa on pysyvt parametrit. Seuraavien komentoja voit kytt koodataksesi lhdevideosi (tss tapauksessa tiedostoja kutsutaan nimill "my_source_video.mp4" ja "my_theora_video.ogv" you can of course, use whatever name you want) samoilla parametreill, joita kytetn graafisessa kyttliittymss yll:
vlc my_source_video.mp4 \ --sout="#transcode{vcodec=theo,vb=800,scale=1,deinterlace=0,\ acodec=vorb,ab=128,channels=2,samplerate=44100}\ :standard{access=file,mux=ogg,dst='my_theora_video.ogv'}"

52

Kaikki aiemmin kehittyneemmiss koodausoptioissa mritellyt parametrit annetaan nyt tekstimuodossa. Ainoat merkitykselliset optiot, joiden merkitys ei ole heti selv, ovat vb, joka merkitsee videon bittinopeutta, ja ab, joka merkitsee koodatun audion bittinopeutta.

Suositellut koodausoptiot
Yll nytetty komentorivi pelkstn kytt parametrej, jotka annettiin graafisessa kyttliittymss, mik ei ole mitenkn optimoitua T heoran koodaukseen. Voimme tehd paljon paremmin kyttmll optioita, jotka ovat tarjolla pelkstn komentorivill. Parempi tapa voisi olla kytt seuraavaa komentorivi pohjana koodaukselle. Muuttele sit sopimaan tarpeisiisi:
vlc my_source_video.mp4 \ --sout-theora-quality=5 \ --sout-vorbis-quality=1 \ -sout="#transcode{venc=theora,vcodec=theo,scale=0.1,deinterlace=0,\ croptop=0,cropbottom=0,cropleft=0,cropright=0,\ acodec=vorb,channels=2,samplerate=44100}\ :standard{access=file,mux=ogg,dst='my_theora_video.ogv'}"

T ss esimerkiss videon ja audion laatu on spesifioitu numeroilla, jotka jatkuvat arvosta 0 (matalin laatu) arvoon 10 (korkein laatu). Jos tahdot poistaa mustat tai hiriiset reunat videon ymprilt, kyt optioita vlill croptop ja cropright. Nm esimerkit vaativat, ett VLC:n asennuksesi tulee VLC T heora pluginin kanssa. Varmista pluginin olemassaolo kirjoittamalla:
vlc -p theora

Vaikka tm printtaisi "No matching module found" voi edelleenkin olla mahdollista koodata se T heoraan, kyttmll ffmpeg-pluginia, joka tukee mys T heoraa. Kuitenkin kehittyneempi "--sout-theora-quality" optio ei ole tarjolla ffmpegiss.

Mikset kyttisi graafista kyttliittym


T heora-koodekki toimii parhaiten, kun koodataan mritellylle videolaadulle. Koodaus annetulle kohdebittinopeudelle antaa aina huonompia tuloksia samalle tiedostokoolle. Valitettavasti ei ole tapaa mritell videon kohdelaatua graafisen kyttliittymn kautta, mink vuoksi sinun ei pitisi kytt sit mihinkn professionaaliseen koodaustyhn. Huomaa mys, ett et voi leikata videon reunoja kun koodaat graafisesta kyttliittymst.

53

17. FFMPEG2THEORA
ffmpeg2theora on hyvin kehittynyt T heoran koodaussovellus. Kehittyneempi toiminnallisuus tulee sill hinnalla, ett on pakko kytt komentorivi, koska graafista kyttliittym ei ole tarjolla Mac OS X ja Windows -kyttjrjestelmiin voit ladata fmpeg2theoran osoitteesta http://v2v.cc/~j/ffmpeg2theora/download.html. Jos kytt GNU/Linuxin uutta versiota, on hyvin todennkist, ett distrosi tulee ffmpeg2theora-pakettien kanssa, tai ett ne voidaan asentaa distron ohjelmistopakettien hallintaohjelmalla.

PERUSKYTT
Komentorivill voit kirjoittaa:
ffmpeg2theora my_source_video.mp4 -o my_theora_video.ogv

T m koodaa lhdetiedoston "my_source_video.mp4" ja luo uuden T heora-videotiedoston "my_theora_video.ogv".

PARAMETRIEN LISMINEN
Jos et ole tyytyvinen koodauksen tuloksiin, on aika alkaa stmn koodaamisen parametrej. Aloitamme stmll koodatun videon laatua. Laatu annetaan numerolla: 0 on alhaisin laatu ja pienin tiedosto, 10 on korkein laatu ja suurin tiedosto. Yrit koodata tm korkealaatuisena videona, jonka laatu on 9, ja korkealaatuisena nen laatuna 6:

ffmpeg2theora my_source_video.mp4 -o my_theora_video.ogv \ --videoquality 9 --audioquality 6

Seuraavat esimerkit nyttvt koodauksen perusparametrit. Kopioi ja liimaa se ja muokkaa sit sopimaan tarpeisiisi:
ffmpeg2theora my_source_video.mp4 -o my_theora_video.ogv \ --videoquality 9 --audioquality 6 \ --croptop 0 --cropbottom 0 --cropleft 0 --cropright 0 \ --width 720 --height 576 \ --title "Video Title" --artist "Artist Name" --date "1997-12-31"

Jos et tahdo skaalata videoruudun kokoa, pudota optiot --width ja -height. Ei ole tapaa mritell skaalaa, joten katso sisn tulevan videon kokoa ja laske kohteen ruutukoko tarpeen mukaan. Useimmissa tapauksissa on paras vain mritell yksi optioista --width tai --height, puuttuva optio sdetn sitten automaattisesti oikeaan arvoon.

KEHITTYNEEMMT OPTIOT
Ffmpeg2theora tukee monia muita parametrej kehittyneempn kyttn, niit kaikkia ei voida kuvailla tss yksityiskohtaisesti. Saadaksesi yleiskuvan kaikista tarjolla olevista optioista, kirjoita:
ffmpeg2theora --help

54

Riippuen kyttmstsi kyttjrjestelmst, voit kyet avaamaan ffmpeg2theora -manuaalin kirjoittamalla


man ffmpeg2theora

Seuraavat optiot ovat usein kyttkelpoisia:


--sync

Kopioi mik tahansa lhdevideon audio-video synkronisaatio kohteena olevaan T heora-videoon. Riippuen kytetyst lhdevideosta tm voi korjata audio-videon viivstyksen ongelmat, jotka johtuvat koodausprosessista.
--keyint

Aseta avainruutujen vli, esimerkiksi ruutujen mr avainruutujen vliss. Suuren -kokoiset arvot johtavat pienempn videon kokoon, kuitenkin etsiminen ja leikkaaminen ei toimi hyvin T heora-tiedostoissa, joissa on suuri avainruutujen vli.
--f ra mera te

Asettaa kuvataajuuden luodulle videotiedostolle. Jos yritt luoda T heora-tiedostoja, joiden tiedostokoko on hyvin pieni, yrit tarkentaa puolet videon kuvantaajuudesta.
--sta rttime --endtime

Nm kaksi vaihtoehtoa antavat sinun kopioida vain osan lhdevideosta kun koodaat. Mrit ja mrksi sekunteja videon alusta.

2-PASS KOODAUS
T uleva versio 0.25 ffmpeg2theorasta tulee tukemaan 2-pass koodaustilaa, jota kuvaillaan tss osassa. Kun versio 0.25 julkaistaan, lataa se osoitteesta http://v2v.cc/~j/ffmpeg2theora/download.html. Nm esimerkit eivt toimi vanhemmilla versioilla.

Miksi 2-Pass -koodaus


2-Pass -koodaus on kohuttu. Monet ihmiset ajattelevat, ett joudut koodaamaan kaksi kertaa saadaksesi jatkuvan subjektiivisen laadun kokemuksen koko videon ajan. Nin sit kytetn monissa epvapaissa videokoodekeissa, kuten DivX:ss. Kuitenkin, kuten olemme nhneet, ffmpeg2theora kykenee hyvin koodaamaan jatkuvaa kohdelaatua varten yhdell kerralla kytten optiota --videoquality. Ainoa todellinen etu 2-Pass tilan kytss sen sijaan ett kyttisi optiota --videoquality, on kyky luoda annetun kokoinen T heoravideotiedosto. Ajattele, ett tahdot koodata videon, jonka tytyy mahtua yhdelle CD-levylle, jossa on 7 00 MB tilaa tarjolla. Jos tahdot jatkuvana pysyvn videon laadun, mutta etukteen et voi arvata mik -videoquality osuu tsmlleen kokoon 7 00 MB. 2-Pass -tilan kytt sopii thn tsmlleen.

55

2-Pa ss tila n k ytt

Jos tahdot koodata videon "my_source_video.mp4" T heora-videoksi, niin ett tiedostokoko on tsmlleen 7 00MB. ffmpeg2theora ei salli koodatun tiedoston suoraa mrittely. Sen sijaan tarkennat keskimrisen videon bittinopeuden videota varten. Mys audio vaatii dataa, joka tytyy ottaa huomioon. Pttksemme videon keskimrisen bittinopeuden joudumme ensin etsimn lhdevideon "my_source_video.mp4" koon. Ffmpeg2theora voi auttaa meit tss. Kirjoita:
ffmpeg2theora --info "my_source_video.mp4"

Mik printtaa muun tiedon mukana:


{ "duration": 2365.165100, "bitrate": 6437.331055, [..]

} Emme voi kytt koko 2368 kBit/s pelklle videollemme. Meill on mhys niraita, joka tarvitsee 128kBit/s. Kun vhennmme tst 1% otttaakseemme huomioon nen ja videon kapsuloinnissa jneen tilan, meille j 2218 kBit/s videolle ja 128 kBit/s nelle. Seuraava komento tekee 2-pass -enkoodauksen, luoden T heoran videotiedoston "my_theora_video.ogv":
ffmpeg2theora my_source_video.mp4 -o my_theora_video.ogv \ --two-pass --videobitrate 2218 --audiobitrate 128

Huomaa, ett toisin kuin muissa 2-pas -enkoodaajissa, ffmpeg2theora komento tytyy antaa vain kerran. Jos sinun tytyy hallita prosessia tarkemmin ja tehd kroppausta, skaalausta jne., voit vapaasti kopioida muita vaihtoehtoja edellisiss osissa annetuista esimerkeist.

56

18. THOGGEN
T hoggen (http://www.thoggen.net/) on yksinkertainen, helposti kytettv DVD-imuohjelma, jolla voi luoda T heora-videoita DVDlevyist. Huomaa, ett ainoastaan video-osa DVD:st voidaan koodata, mukana olevat valikot jvt pois. DVD:n koodaus T hoggenia kytten sislt kaksi askelta: 1. Valitaan DVD-otsikot imettviksi ja koodattaviksi 2. Konfiguroidaan koodausprosessin parametrit Jos T hoggenia ei ole asennettu, sinun tytyy toki tehd se ensin. Jos kytt Ubuntua, kirjoita tm terminaali-ikkunaan:
sudo apt-get install thoggen

Salasanaasi kysytn, tmn jlkeen T hoggen asennetaan.

DVD-OTSIKOIDEN VALINTA KOODATTAVIKSI


Aloituksen jlkeen T hoggen lyt automaattisesti DVD-median, joka on miss tahansa DVD-soittimessa, ja esitt listan levyll olevista otsikoista:

Sinua pyydetn valitsemaan otsikot, jotka imetn ja muutetaan T heoraan. Pisin otsikko on valittu automaattisesti, ja tm on yleens pvideo. Jos et tahdo tt tiedostoa, mutta se sopimaan tarpeisiisi.

57

Huomaa, ett voit mys konvertoida DVD-kuvan kovalevyllsi, sen sijaan ett konvertoisit sen suoraan DVD:lt. T ehdksesi tmn valitse kuvan sijainti "T iedosto"-valikosta. Sama otsikkojen lista nytetn, aivan kuin se olisi otettu fyysiselt DVD:lt. Kun tm on tehty, paina OK ja sinut viedn seuraavaan dialogiin.

KOODAUSPROSESSIN ASETUKSET
Seuraavan dialogin avulla voit mritell koodausprosessin parametrej:

Jos olet valinnut enemmn kuin yhden videon edellisess askeleessa, tm ikkuna nytetn kerran jokaiselle niist. Monikieliselle DVD:lle voit valita, mink kielen sisllytt. Valitse laatu ja videon koko, sek minne tallennat videon. Jos et ole varma, mink option tahdot valita, kyt vain ennakko-oletuksia. Huomaa, ett videon laatu on esitetty numeroina 1 (heikoin laatu, pienin tiedosto) - 62 (korkein laatu, suurin tiedosto).

58

Kun olet tyytyvinen asetuksiin, paina OK aloittaaksesi koodauksen. Silloin sinulle nytetn diaesitys videosta tilanteen nyttvn edistyspalkin kanssa, samalla kun odotat koodausprosessin pttymist. Nyt voit kytt VLC:t, tai mit tahansa muuta T heoraa tukevaa soitinta, nhdksesi kopiosi DVD:st, ilman ett sinun tytyy itse asiassa etsi ja asentaa DVD asemaan, kun tahdot katsoa elokuvasi.

HUOMIO RAJAUKSESTA
T hoggen voi poistaa reunat vasemmalla, oikealla, ylhll ja alhaalla koodatessaan DVD-tiedostoa, tm mahdollisuus lytyy Configure Cropping -nappulasta. On usein hyv idea poistaa noin 5% elokuvan leveydest ja korkeudesta. T m johtuu siit, ett DVD:t on valmistettu ikivanhoja analogitelevisioita varten, joten elokuvien ymprill on usein rajat. Vanhemmat DVD:t sisltvt usein hiriit ja hly elokuvan reunoissa, ja tm nkyy vain katsottaessa niit DVD:lt PC:ll. T yypillist DVD-resoluutiota 7 20x57 6 pikseli varten kannattaa kokeilla 8 pikselin poistamista vasemmalta, oikealta, alhaalta ja ylhlt, jolloin ruudun kooksi j 7 04x560 pikseli.

59

TEKSTITYKSET
19. TEKSTITYKSIEN PERUSTEET 20. JAKELU 21. TEKSTITYKSIEN LISMINEN 22. TEKSTITYKSIEN TOISTAMINEN 23. JULKAISEMINEN

60

19. TEKSTITYKSIEN
PERUSTEET
Useimmissa videoissa on ihmisi, jotka puhuvat tietyll kielell; jotta nist videoista saataisiin kytettvi ja ymmrrettvi globaalille yleislle, video tytyy tekstitt tai dubata. Tekstitykset on paljon helpompi tehd: nen dubbaus vaatii aikaa ja kokemusta ohjelmista, mutta tekstitykset voit tehd pelkll videosoittimella ja tekstieditorilla.

TEKSTITYKSIEN ETSIMINEN
Ennen tekstitysprojektin aloittamista kannattaa etsi netist olemassa olevia tekstitystiedostoja, varsinkin jos video on tunnettu tai kaupallinen ty. Esimerkiksi, jos liitt kohtauksen amerikkalaisesta dokumenttielokuvasta videoon, on olemassa resursseja, joista voit etsit tekstityksi tlle materiaalille. Kuitenkin on vaikea lyt valmiita tekstityksi muille kuin tunnetuille videoille tai elokuville, ja avoimen lisenssin tekstityksi on viel vaikeampi lyt. On muutamia seikkoja, joihin trm helposti etsiessn tekstityksi. Elokuvista on melkein aina monta erilaista versiota. Voidaan kuvitella, ett mik tahansa ylimrinen kohtaus, pidennetyt alkutekstit, tai formaatin muutos voi muuttaa tekstityksien ajastusta, mik yleens tekee tekstityksist hydyttmi. On siis trke etsi tietyn elokuvaversion neen sopivia tekstityksi. On olemassa vapaita ohjelmistotykaluja, kuten Sub Downloader (http://www.subdownloader.net/), joka helpottaa ongelmaa sovittamalla tekstitykset tiettyihin elokuvaversioihin. T oinen ongelma on tekstitystiedoston formaatti. On olemassa erilaisia formaatteja erilaisille videotyypeille ja erilaisille fyysisen median tyypeille (HD, DVD, Blu Ray jne.), mik vaikuttaa tekstityksien valintaan tietylle filmille. T ss on resursseja tekstityksien lytmiseen:

61

OpenSubtitles.org: http://www.opensubtitles.org/en T inyT M: http://tinytm.sourceforge.net/ DivX Subtitles: http://www.divxsubtitles.net/ AllSubs.org http://www.allsubs.org

TEKSTITYSTIEDOSTOJEN FORMAATIT
T ekstitystiedoston formaatti tarkentaa tiedoston formaatin (teksti tai kuva), joka sislt tekstitykset ja ajastustiedot. Jotkin tekstiin pohjautuvat formaatit mahdollistavat tyylitietojen tarkentamisen, kuten vrien tai tekstityksen sijainnin. T ss on joitain tekstitystiedostojen formaatteja: 1. Micro DVD (.sub) - tekstiin perustuva formaatti, jossa on videoruutuun perustuva ajoitus, ja ei tekstin tyyli. 2. Sub Rip (.srt) - tekstiin perustuva formaatti, jossa on videon kestoon perustuva ajoitus, eik tekstin tyyli. 3. VOB Sub (.sub, .idx) - kuvaan perustuva formaatti, kytetn yleens DVD:ss. 4. Sub Station Alpha / Advanced Sub Station (.ssa, .ass) - tekstiin perustuva formaatti, jossa on videon pituuden mukainen ajoitus, ja tekstin tyyli- ja metadatatietoattribuutit. 5. Sub Viewer (.sub) - tekstiin perustuva formaatti, jossa on videon pituuteen perustuva ajoitus, tekstin tyyli- ja metadatatietoattribuutit. Me keskitymme vain tekstitysformaattiin Sub Rip (.srt), jota tukevat useimmat videosoittimet ja tekstityseditorit. SRT -tiedostoja voi mys editoida tekstieditoreilla, tai kehittyneemmill ohjelmilla, kuten Jubler, GnomeSubtitle, Gaupol tai SubtitleEditor.

SRT-TIEDOSTOJEN EDITOINTI
SRT -tekstitystiedosto on vain tekstitiedosto, joka on formatoitu yksinkertaisella tavalla, jotta soitin voi lukea sen ja esitt tekstitykset silloin, kun ne pitisi toistaa videossa. SRT on hyvin yksinkertainen, laajalti kytetty tekstitysformaatti. Jos lydt olemassaolevan SRT tiedoston videolle, joka sinun tytyy tekstitt, on helppoa luoda tekstitykset muille kielille, kun tiedt kuinka SRT -tiedosto toimii. SRT -tiedosto on lista rivej, jotka nyttvt tlt:
1 00:03:05,260 --> 00:03:07,920 Hei maailma.

Ensimminen rivi on tekstityksen numero, joka alkaa numerosta 1 ja jatkuu niin pitklle kuin tarvitaan. Seuraava rivi on aika, jolloin tekstitys ilmestyy ja katoaa videossa, ja se on merkitty muotoon tunnit:minuutit:sekuntit,millisekuntit. Kolmas rivi ja sen jlkeen tulevat rivit ensimmiseen tyhjn riviin asti ovat varsinainen tekstitys. Yksi tyhj rivi tarvitaan merkitsemn tekstin loppumista. Voit list kuinka monta kolmoisrivi tahansa, niin monta kuin tarvitset videoosi. Edellisess esimerkiss se tarkoittaa vain, ett ensimminen tekstitys ilmestyy ajankohtana 3 minuuttia ja 5,26 sekuntia, katoaa kohdassa 3 minuuttia ja 7 ,92 sekuntia, ja tekstin on "Hei maailma". Siinp se.

62

UUDEN TEKSTITYKSEN LUOMINEN


Luodaksesi uuden tekstitystiedoston tahdot ehk kehittyneemmn tykalun, jolla on helppo liitt tekstitykset tiettyihin kohtiin videossa. Jubler, GnomeSubtitle, Gaupol ja SubtitleEditor ovat kaikki vapaita ohjelmistotykaluja ja tsekkaamisen arvoisia.

63

20. JAKELU
T ekstitysformaattien, kuten .SRT , kytt merkitsee, ett voit jaella tekstityksi monille eri kielille jakamatta eri versiota videostasi joka kielell. T arvitset vain erilliset .SRT -tekstitystiedostot jokaiselle vaaditulle kielelle, ja voit laittaa nuo tiedostot verkkoon. T m strategia on hyvin yleinen tekstitysten maailmassa. T ekstitykset ovat mukana erillisin tiedostoina, mik mahdollistaa tiedoston kytn, muuttamisen tai poistamisen ilman ett videotiedostoon itseens vaikutettaisiin mitenkn. T ekniikan heikkoutena on, ett tekstitysformaatista itsestn tulee ongelma. Soittimien tytyy hyvksy formaatti nyttkseen tekstitykset oikein. Ja kyttjien tytyy tiet hieman tekstitysten toiminnasta, jotta ne voivat soittaa tekstitystiedostot oikein. Jos jakelet .SRT -tiedostoja ladattavalla videolla, tarkasta, ett mukana on ohjeet tekstitysten lataamiseen ja toistamiseen. Jos jakelet videota verkossa, voit kytt HT ML5 ja JavaScript -koodia jaellaksesi eri tekstitystiedostoja verkkosivullasi. On mys mahdollista tutkia monien .SRT -tiedostojen laittamista videotiedoston sisn. T m antaa kyttjlle mahdollisuuden valita knnksist, jotka olet laittanut tarjolle (tai olla nyttmtt mitn tekstityksi) ilman tarvetta muihin tekstitystiedostoihin. T t tukeviin patenttivapaisiin videosilformaatteihin kuuluvat Matroska Multimedia Container (MKV) ja Ogg -silformaatit.

64

21. TEKSTITYKSIEN
LISMINEN
Jos tahdot videotiedostosi sisltvn tekstitystiedoston, jotta et joudu jakelemaan .srt-tiedostoa erikseen, joudut liittmn tekstitystiedoston videoon. Videon koodaustykalu ffmpeg2theora sislt muutaman komentorivioption, joilla voit liitt tekstitykset videoosi. ffmpeg2theora on tarjolla useimpiin kyttjrjestelmiin, kuten Mac OS X ja GNU/Linux. T ekstityksiin liittyy kolme trke komentoa: --subtitles osoittaa SRT -muotoiseen tekstitystiedostoon, --subtitles-language mritt tekstitysten kielen, --subtitles-encoding mrittelee tekstitystiedoston kirjoitusmerkit. Katsotaanpa ffmpe2theora -komennon optioiden kytt srttiedostojen liittmiseksi T heora-tiedostoon. subtitles-language - T m optio asettaa mritellyn kielen. Jokaisella kielell on standardikoodi, joka auttaa ihmisi kuvailemaan kielen, mik tahansa heidn kielens onkin. Esimerkiksi englanniksi saksan kieli on german, mutta suomeksi se on saksa. Hmmennyksen vlttmiseksi kansainvlinen ISO 639-1 -standardi mrittelee jokaisen kielen kahden kirjaimen koodilla. Saksan koodi on "de". subtitles-encoding - T m optio mrittelee tekstin koodauksen standardin, tm on vlttmtnt erilaisten kirjoitusjrjestelmien vuoksi. T ietokoneet kyttivt pitkn 7 -bittisi merkistj, joissa oli vain 127 kirjoitusmerkki, edustamaan kirjaimia ja muita symboleja. Esimerkiksi US-ASCII -merkistss on 94 tulostuvaa merkki ja 33 kontrollikoodia. Lukemattomia 8-bittisi merkistj, joissa on 256 kirjoitusmerkki, on ilmestynyt tmn jlkeen edustamaan eri aakkosia ja syllabisia kirjoitusjrjestelmi. Monet 16-bittiset kirjoitusjrjestelmt mahdollistavat kiinalaisiin merkkeihin perustuvat kirjoitusjrjestelmt. Kuitenkaan 7 tai 8 bitti ei ole tarpeeksi kaikkia yhden kirjoitusjrjestelmn merkkej varten, eik varsinkaan kaikille nykyisin kytss oleville kirjoitusjrjestelmille. Ihmiset loivat Unicode -merkistn tukemaan kaikkia kieli samaan aikaan. Unicoden UT F-8 koodaus on suunniteltu kytettvksi verkossa, eli jrjestelmien vlisess ulkoisessa viestinnss.

65

Kuitenkin suuri osa ihmisist kytt edelleenkin vanhoja merkistkoodauksia. Niden ongelmana on se, ett ne voivat menn pllekkin, ne kyttvt samoja koodeja tysin erilaisille merkeille. Yleens vrn koodauksen renderinnin vuoksi tuloksena on sotkua. Oletusarvoisesti tekstien oletetaan olevan Unicoden UT F-8 koodauksella. Jos ne eivt ole, se tytyy kertoa ffmpeg2theoralle. Jos kirjoitat englantia, kirjoitat luultavasti ASCII-merkistll, ISO-8859-1merkist (Latin-1), tai mahdollisesti Windowsin koodisivua 122. US-ASCII on suunniteltu UT F-8:n alaryhmksi, joten se toimii, mutta ongelmat alkavat, jos ASCII-laajennukai kytetn Unicode-ympristss.

TEKSTITYSTEN LIITTMISEN ESIMERKKIKOMENTOJA


T ss on muutamia esimerkkkej, joissa otetaan mp4-videotiedosto (input.mp4) ja ulos tulee ogg-videotiedosto (output.ogg), johon on liitetty tekstitykset: Jos sinulla on tekstitystiedosto englanniksi (englannin kielikoodi on "en"):

ffmpeg2theora input.mp4 --subtitles english-subtitles.srt --subtitleslanguage en -o output.ogv

Jos sinulla on espanjankielinen tekstitystiedosto, joka on koodattu latin1-merkistn mukaan:


ffmpeg2theora input.mp4 --subtitles spanish.srt --subtitles-language es --subtitles-encoding latin1 -o output.ogv

On olemassa muita tekstitysvaihtoehtoja ohjelmalle ffmpeg2theora, mutta nm ovat trkeimmt.

TEKSTITYKSIEN LISMINEN VIDEOON


Jos sinulla on T heora-video ilman sisllytettyj tekstityksi, on helppoa mys list niit, ilman tarvetta koodata video uudetaan. Koska jokainen tekstitysten kieli on tallennettu Ogg-tiedostoon erikseen, niit voidaan manipuloida erikseen. Ogg-tiedostoon sisisesti liitetyt tekstitykset koodataan Katestriimeiksi. Sellaiset striimit luodaan ffmpeg2theora-ohjelmalla, mutta ne voidaan mys luoda "raakana" SRT -tiedostosta. T ykalu kateenc tekee tmn. Ubuntussa kateenc on osa kate-tools -pakkausta. Asenna se tll komennolla:
sudo apt-get install libkate-tools

Seuraava komento luo englanninkieliset tekstitykset sisltvn striimin SRT -tiedostosta. Muista, englannin koodi on "en":
kateenc -t srt -o english-subtitles.ogg english.srt -c SUB -l en

Nyt sinulla on yksi tekstitysstriimi, jonka voit list T heora-videoosi:


oggz-merge -o video-with-subtitles.ogv original-video.ogv englishsubtitles.og

66

Ubuntussa oggz-merge on osa oggz-tykalupakettia, jonka asentamiseksi voit tehd tmn:

sudo apt-get install oggz-tools

Itse asiassa oggz-tykalut sallivat kaikkien videon eri raitojen voimakkaan manipulaation, joten voit list enemmn kieli audioraidalle ja niin edelleen.

67

22. TEKSTITYKSIEN
TOISTAMINEN
On monta helppoa tapaa toistaa tekstityksi Ogg T heora videossa.

VLC
Asenna ensin VLC verkkosivulta (http://videolan.org/vlc) jos et ole jo tehnyt sit. Nm ohjeet olettavat, ett sinulla on tiedosto tai DVD, jossa on tekstitykset, jotka tahdot nytt soittaessasi videota. On kolme tapaa, joilla voit kytt VLC:t toistamaan tekstityksi. 1. DVD:lt 2. Monikielisest tiedostosta (kuten Matroska) 3. Erilliselt tekstitystiedostolta, joka jaetaan videotiedoston kanssa.

TOISTA TEKSTITYKSET DVD-LEVYLT

68

T ehdksesi tmn laita DVD-levy DVD-soittimeesi. Avaa VLC-soitin ja valitse File > Open Disk.

Kirjoita DVD-soittimen kirjain. Se voi ilmesty automaattisesti. Windowsissa tm voi olla soitin D:, ja GNU/Linuxissa /media/dvd.

Klikkaa tmn jlkeen OK. DVD:n valikkosivun pitisi ilmesty. Klikkaa sitten videota, jota tahdot katsoa. T mn jlkeen video alkaa nopeasti ja klikkaa oikealla nappulalla videokuvaa. Valitse tekstitysraita, jonka tahdot katsoa.

69

T ekstityksien pitisi ilmesty ruudulle.

TOISTA TEKSTITYKSET MATROSKATIEDOSTOISTA

70

T mn tekemisen prosessi on tsmlleen sama kuin yll, paitsi ett prosessia aloitettaessa valitset File > Open File. Silloin net tmn ruudun.

Sinun pitisi klikata Browse -nappia valitaksesi videotiedoston, jonka haluat toistaa. Jos tm on Matroska-tiedosto, jonka pte on *.mkv, voit klikata OK selattuasi tt tiedostoa, sill siin on jo tekstitystiedot. T mn jlkeen valitse tekstityksen kieli klikkaamalla videoruutua ja valitse Subtitle Track > ja valitse kieli.

71

TOISTA ULKOISET TEKSTITYKSET


Jos tahdot toistaa ulkoisen tekstitystiedoston esimerkiksi SRT tiedostona, valitse File > Open File.

Open-laatikossa klikkaa Browse-nappia ja valitse videotiedostosi.

72

Laita rasti laatikkoon Use a subtitle file ja klikkaand Browse lytksesi ulkoisen tekstitystiedoston.

Valitse sitten tekstityksen kieli klikkaamalla oikealla hiiren napilla videoruutua ja valitsemalla Subtitle Track > ja valitse sitten tekstitysraita (ulkoiselle tiedostolle, kuten SRT -tiedostolle, on normaalisti vain yksi raita).

73

23. JULKAISEMINEN
Riippuen tavasta, jolla loit tekstitykset - liitit ne videoon tai teit erillisen .srt-tiedoston - sinulla on erilaisia tapoja julkaista ne verkossa videosi kanssa.

ULKOISTEN TEKSTITYSTIEDOSTOJEN PITMINEN VIDEON KANSSA VERKKOPALVELIMELLA


Oletamme, ett sinulla on yksi tai useampia tekstitystiedostoja (SRT formaatissa) ja video. HTML5 -videotgi ja Javascript Voit tarjota T heora -videon esikatselun .srt-tiedoston kanssa ohjelman jquery.srt avulla. Ensin, huomaa ett alla liitmme JQueryn, suositun GPL Javascript kirjaston (http://jquery.com/), ja esimerkin JavaScript-sovelluksesta, joka nytt SRT -tekstitykset sivulla. Se on saatavilla: http://v2v.cc/~j/jquery.srt/jquery.srt.js Yksinkertainen HT ML-dokumentti nytetn alla, siihen kuuluu modifikaatio JavaScript-tiedostojen liittmiseen ja linkki tekstitystiedostoosi. Vain yksi tekstitystiedosto voidaan linkitt kerrallaan, paitsi jos kehitt JavaScript-koodia pidemmlle. Se on pieni skripti, joka lataa .srt-tiedoston ja nytt sen divin sisll sivullasi, videon alla tai pll.
< sc rip t t yp e ="t e xt /ja va sc rip t " src ="jq u e ry.js"> < /sc rip t > < sc rip t t yp e ="t e xt /ja va sc rip t " src ="jq u e ry.srt .js"> < /sc rip t > < vid e o src ="h t t p ://e xa m p le .c o m /vid e o .o g v" id ="vid e o " c o n t ro ls> < /vid e o > < d iv c la ss="srt " d a t a -vid e o ="vid e o " d a t a srt ="h t t p ://e xa m p le .c o m /vid e o .srt " />

Voit katsoa tt Mozillan demoa, jos tahdot esimerkin tekstityksist monilla kielill: http://people.mozilla.com/~prouget/demos/srt/index2.xhtml T oinen esimerkki kytt monia tekstitystiedostoja ja tarjoaa kyttliittymn niiden valitsemiseen: http://www.annodex.net/~silvia/itext/.

TEKSTITETYN VIDEON TARJOAMINEN VERKKOPALVELIMELLA


Jos sinulla on Ogg-tiedostoja, joihin on liitetty tekstitykset, ja tahdot nytt ne selaimessasi, et voi kytt videotgi juuri nyt. Kuitenkaan kaikki selaimet eivt tue videotgi. Cortado, Java-liitnninen, joka voi nytt T heora-videoita, tukee mys liitettyj tekstityksi, ja se toimii kaikissa selaimissa, joihin on liitetty Java. Voit hankkia Cortadon uusimman version osoitteesta: http://theora.org/cortado/
<applet code="com.fluendo.player.Cortado.class" archive="cortado.jar"

74

width="512" height="288"> <param name="url" value="video.ogv"/> <param name="kateLanguage" value="en"> </applet>

Kyttksesi tekstityksi Cortadossa annat sille urlin videoon, jossa on tekstitykset, ja samalla tavalla annat parametrin tekstitystiedostolle kytettvksi. Helpoin tapa on valita kieli, jonka tahdot, kateLanguageparametrin avulla:
<param name="kateLanguage" value="en">

On mahdolilsta mys muuttaa tai poistaa tekstitys JavaScriptin avulla. Jos tahdot vaihtaa ranskankielisiin tekstityksiin, sinun tulee asettaa kateLanguage -optio skriptistsi kutsumalla:
document.applets[0].setParam("kateLanguage", "fr");

75

SUORATOISTO
24. MIT SUORATOISTO ON? 25. ICECAST 26. TSS 27. FFMPEG2THEORA-STREAMAUS 28. SUORATOISTO VLC-OHJELMALLA 29. THEORA-VIRTAUSTOISTON TALLENTAMINEN

76

24. MIT SUORATOISTO ON?


Suoratoistoa kytetn kuvailemaan nen tai videon reaaliaikaista lhetyst internetiss. Virtaustoistettu media sallii nen tai videon suoran lhetyksen internetin yli, jolloin internet muuttuu joukkoviestintvlineeksi. Sislt voi mys tallentaa virtaustoistettaviin tiedostomuotoihin, jolloin internetin kyttjt voivat katsoa jlkeenpin tallenteita tapahtumista.

ERILAISET VIRTAUSTOISTOTAVAT
On kolme tapaa siirt ni- ja videodataa internetin yli: lataaminen ja soittaminen, progressiivinen lataus ja todellinen streamaus.

Lataa ja soita
Lataa ja soita merkitsee sit, ett koko mediatiedosto on ladattava kovalevylle ennen sen soittamista. T st syyst lataa ja soita -mediaa ei voida kytt suoriin lhetyksiin, kuitenkin se on usein hyv tapa vlitt korkealaatuista mediasislt mill tahansa aallonleveydell. Esimerkiksi korkealaatuinen elokuva voidaan ladata mink tahansa internet-yhteyden yli. Elokuvaa ei kuitenkaan voi toistaa ennen kuin koko tiedosto on ladattu. Niinp elokuvan pitk latausaika aiheuttaa ongelmia. DVD-elokuvan (yleens noin 4.6 GB kokoinen) lataaminen modeemilla (56kbps) kestisi yli 8 piv! Useimmat ihmiset pitisivt tt aika hitaana! Lataa ja soita -media ei ole streamaavaa mediaa (enemmn tst myhemmin) mutta se on paljon suositumpaa kuin streamaus. T iedostonjakoverkot ovat lataa ja soita -mekanismeja, ja tm on erittin suosittua toimintaa internetiss. Koska laajakaistayhteydet ovat yleistymss monissa maissa, lataa ja soita -elokuvien jako verkoissa lisntyy.

Progressiivinen lataus

77

Progressiivinen lataus merkitsee median soittamista sen latautuessa kovalevylle. Progressiivinen lataus on kyttkelpoinen menetelm, mutta ei niin hydyllinen, kuin todellinen streamaus, koska se ei voi esimerkiksi tarjota monen bittitaajuuden koodausta (multiple bitrate encoding). T m menetelm on kuitenkin kyttkelpoisempi kuin lataa ja soita, sill tiedoston latauksen valmistumista ei tarvitse odottaa ennen kuin sen toistaminen voidaan aloittaa. On olemassa joitain rajoituksia, esimerkiksi jos tiedosto ei lataudu yht nopeasti kuin sit toistetaan, toistoon tulee tauko, kun toistettavaa mediaa ladataan eteenpin. T m voi olla rsyttv, mink vuoksi monet kyttvt mielummin todellista streamausta lhetysmenetelmn. Quicktime (Applen streamausteknologia) kutsuu progressiivista "Fast Startiksi". T m osoittaa yhden ongelman streamauksen opettelemisessa ja teknologioiden erittelyss, jokainen teknologian tuottaja on luonut oman sanastonsa. T ss kyttoppaassa kytetn kuitenkin yleisess kytss olevaa terminologiaa, mikli mahdollista.

Todellinen streamaus
T odellisen stremauksen avulla kyttj voi katsoa tai kuunnella mediaa, joka vlitetn internetiss reaaliajassa. T odellinen streamaus on ainoa streamaustapa, joka mahdollistaa suoran lhetyksen, ja se tukee mys kehittyneemp toiminnallisuutta kuin progressiivinen lataus, jolloin kyttj voi hallita mediakokemustaan pysyttmll toiston tai kelaamalla eteenpin tai taaksepin. T odellista streamausta on kutsuttu esimerkiksi verkkolhetykseksi, suoraksi lhetykseksi, verkkotelevisioksi ja nettiradioksi. Vallalla oleva termi on silti "streamaava media" (jota sanotaan yleens vain streamaukseksi"). Progressiivisen latauksen ja todellisen streamauksen vlinen ero ei aina ole ilmeinen. Jos kyttjll on hyvin nopea verkkoyhteys progressiivinen lataus voi nytt toimivan tsmlleen samalla tavalla kuin todellinen streamaus. Lataus ja soitto, progressiivinen lataus ja todellinen streamaus jakautuvat kahteen eri luokkaan: staattiseen tiedostostreamaukseen ja suoran lhetyksen streamaukseen.

Staattisen tiedoston streamaus


Ennalta nauhoitettujen mediatiedostojen siirto internetiss reaaliajassa. Kun viittaamme median verkkoarkistoihin, viittaamme staattisten tiedostojen streamaukseen. Suuri videotaiteen arkisto koodattuna streamattaviin tiedostoihin on esimerkki staattisten tiedostojen streamauksesta. T m sislt tunnetaan mys on-demand -sisltn tai arkistoituna sisltn. Sislt voidaan lhett lataa ja siirr, progressiivinen lataus, tai todellinen streamaus -prosesseilla.

Streamaus suorana lhetyksen

78

Suoran lhetyksen videon tai nen streamaus internetin yli. Vastaanottaja voi kokea tapahtuman reaaliajassa. T st on monia esimerkkej, esimerkiksi verkkoradiot ja esitysten katsominen suorana lhetyksen. Vain todellinen streamaus tukee suoraa lhetyst. T m kyttopas ksittelee lhinn suoran ja arkistoidun lhetyksen todellista streamausta.

KOODAUS
Staattisten tiedostojen streamaamiseksi verkossa tiedostojen tulee olla pakattuja ja koodattuja "streamausmuotoon". CD-levyjen muuttaminen MP3-tiedostoiksi tekee juui tmn koodausohjelmilla. T ss prosessissa CD:n nitallenne muutetaan koodausohjelmalla CD (Compact Disk) niformaatista "streamausniformaattiin" (MP3tiedostoksi). T m vaatii datan pakkaamista ja sen laadun heikentmist ja tiedostojen koon supistamista, ja datan muokkaamista "streamausmuotoon" (kuten MP3).

Pakkaus
On kaksi pakkaustapaa - tappioton ja tappiollinen pakkaus. Kun koodausprosessi pakkaa lhdetiedoston niin, ett se voidaan vlitt internetyhteyksien yli reaaliajassa, tm prosessi heikent nen ja kuvan laatua. Mit enemmn tiedostoa pakataan, sit pienemp kaistaa tarvitaan tiedoston soittamiseen, mutta sit enemmn laatu laskee. T ytyy saavuttaa kompromissi, jolla saavutetaan hyvksyttv ni- ja videokokemus, mutta datan mr lasketaan tarpeeksi, jotta vlitys internetin yli on mahdollista. Suoran lhetyksen vaatima koodaus on samanlainen, paitsi ett nen tai videon (tai molempien) sisntulo koodataan tiedoston sijasta. T ll prosessilla koodausohjelma vlitt koodatun datan jatkuvana virtana streamauspalvelimelle. Tappioton pakkaus T ss prosessissa datan sisltm informaatio pakataan pienempn tilaan, ilman ett dataa poistetaan. T mn prosessin voi visualisoida kuvittelemalla paperipussin, jonka sisll on esine. Kun pussissa oleva ilma poistetaan koko pussin koko supistuu, vaikka pussissa oleva esine ei kutistu. Tappiollinen pakkaus

79

Kutsutaan usein nkyvksi koodaukseksi, tm on prosessi, jossa tietoa "heitetn pois", jotta tiedostokokoa saadaan kutistettua. Pakkausalgoritmit ovat monimutkaisia ja yrittvt silytt mahdollisimman hyvn havaittavan laadun, vaikka hylkvt niin paljon dataa kuin mahdollista. T appiollinen pakkaus on tarkkaa tyt. T mn tekevt algoritmit ottavat huomioon kuinka aivot havaitsevat ni ja kuvia, ja sen jlkeen hylkvt ni- tai videotiedoston tietoa, vaikka sstvt alkuperisen lhdemateriaalin nen ja kuvan kokemuksen. T mn tehdkseen prosessit seuraavat psykoakustisia ja psykovisuaalisia mallinnusperiaatteita.

Kodekit
nt ja videota pakkaavat ja koodaavat ja tiedostomuodot luovat algoritmit tunnetaan "kodekkeina". Sana on tehty kahdesta yleisest termist: kompressoida ja dekompressoida. Koodausohjelmisto kytt kodekkia "kompressoimaan" striimin sislln verkon yli siirtmist varten, ja sislt toistava ohjelma kytt kodekkia "dekompressoimaan" sislln toistoa varten. Kodekki on matemaattista taikuutta ja streamauksen sydn ja sielu. T st syyst eri teknologioiden tuottajat taistelevat herruudesta. Jokaisella kodekilla on oma tapansa tehd asioita, riippuen siit mink kehittj uskoo olevan paras. Monilla kodekeilla on mys lisensseihin liittyvi ongelmia.

Bittinopeus
Pakkaus on prosessi, jolla datan mr vhennetn. Useamman bittinopeuden koodaus antaa palvelimen ja soittimen neuvotella parhaan laadun streamille (korkeimman kaistanleveyden) joka tulee yksittisest staattisesta tiedostosta tai suoran lhetyksen streamista. Niinp soittimeen lhetetn kyttjn verkkoyhteyden mahdollistaman parhaan mahdollisen laadun streamia. Useamman bittinopeuden koodaus luo vain yhden koodatun streamin. Bittinopeuksien valitseminen vaatii useamman eri seikan huomioimista. Nihin seikkoihin sisltyy: kohdeyleisn verkkoyhteydet, toivottava videon kuvakoko, liikkeen mr kuvissa, videon kontrastin taso, nauhoitetun nen tyyppi (taustahly, puhe, stereomusiikki), kameraliikkeen mr, kameran laatu ja kameran linssi.

SIIRTO
Staattisten ("arkistoitujen") tiedostojen streamaus saadaan aikaan normaalilla verkkopalvelimella. T m on usein paras tapa siirt sislt pieness mittakaavassa. T t menetelm ei voida kytt suoriin lhetyksiin eik se mahdollista todellisen striimauksen kehittyneit mahdollisuuksia, kuten useamman bittinopeuden koodausta. T m menetelm mahdollistaa mys katkojen ("puskuroinnin") synnyn, eik se voi tarjota yht monia samanaikaisia soitinkytkentj kuin todellinen streamaus.

80

Mahdollistaakseen suoran lhetyksen striimauksen ja saadakseen tyden toiminnallisuuden ja tehokkuuden vaaditaan sstreamausmediapelvelinta. T m palvelin on yleens tavallinen palvelinlaite, mutta siihen on asennettu tarpeelliset streamauspalvelinohjelmistot. On aika tavallista asentaa streamauspalvelin samalle koneelle kuin verkkopalvelin.

STREAMAUSPALVELIMET
Helppo tapa havainnollistaa streamauspalvelimen toiminta on ajatella radioasemaa. Radioasemassa on kolme osaa - studio, lhetin ja yleisn omistamat vastaanottimet.

Yll on yksinkertainen kaavio, joka osoittaa kuinka lhettv radioasema toimii. Radiostudio on nen lhde. T ss tilassa on yleens miksauspyti, cd-soittimia, minidisc-soittimia, vinyylisoittimia ja niin edelleen. Studiosta tuleva nisignaali lhetetn lhettimeen. T m lhetetn studiosta lhettimeen kaapelia (jota kutsutaan joskus "maalinjaksi") tai mikroaaltolinkki pitkin. Lhetin lhett nen FMmodulaatiolla, jotta radiovastaanottimet voivat vastaanottaa sen ja toistaa sen. Radio toimii nin, koska se pyrkii jakamaan studion nen mahdollisimman monille ihmisille. Jos ajattelemme radiostudiota ilman lhetint, asemalla olisi aika rajoittunut yleis! Kytnnss vain studioon mahtuvat ihmiset voisivat kuunnella. Joten lhetin toimii jakelukanavana, joka antaa useampien ihmisten vastaanottaa radiovastaanottimillaan, ja nin mahdollinen yleis on paljon suurempi. T m on melko hyv vertauskuva sille, miksi streamaus on olemassa ja miten se toimii. Jos nt soitetaan tietokoneella huoneessa niin yleis ei tule olemaan suuri... Joten streamausta kytetn jakelemaan ni usemmille ihmisille.

81

Esimerkki on ilmeinen... T ietokone korvaa radiostudion, streamauspalvelin korvaa lhettimen, ja kuuntelijat kytekytyvt tietokoneilla palvelimeen sen sijaan, ett kytkeytyisivt radiovastaanottimilla lhetettyyn signaaliin. T t esimerkki voidaan jatkaa pidemmlle. Suuremman radiolhettimen kytt on kuin suuremman kaistanleveyden hankkiminen streamauspalvelimelle molemmat antavat useampien ihmisten vastaanottaa nt.

82

25. ICECAST

Verkkomaailman audioon ja videoon liittyvt streamaukseksi kutsutut tekniikat. Streamaus on yksinkertaisimmillaan nen ja videon siirtmist internetiss reaaliajassa. Perinteisesti streamausta on kytetty suoraan nen lhettmiseen netiss, tai tapahtumien lhettmiseen internetiss, niin ett niit voi katsella kotoa. Streamauksesta puhutaan usein yleisradiolhetysten termeill, sill internetin suorat ni- ja videolhetykset ovat usein samankaltaisia yleisradion televisio- ja radiolhetysten kanssa. Niinp voit kuulla termin "internet-radio", jolla viitataan suoraan nilhetykseen netiss. Joskus nen tai videon suoraan lhetykseen viitataan "radiolhetyksin internetiss" tai "internet-lhetyksin". Nist ksitteist on apua yritettess ymmrt streamauksen tarkoitusperi, mutta niit ei pid ottaa liian kirjaimellisesti. On kuitenkin hydyllist ajatella nit malleja, kun Icecastin roolia pohditaan. T elevisio- ja radiolhetyksi varten on lhetin, joka lhett studiosta lhetetyn signaalin televisioosi tai radioosi.

Internet-lhetyksi (streamausta) varten korvaat lhettimen streamauspalvelimella, joka on itse asiassa ohjelmisto.

83

Icecast on tllainen ohjelma. Se mahdollistaa suoran ni- ja videolhetyksen netiss reaaliajassa. Huomaa, ett tm on vain osa yhtlst. T arvitset mys streamin koodaajan, joka voi lhett alkuperisen ni- tai videostreamin Icecastiin. Icecast jakelee tmn streamin, se ei luo sit - se on koodaajan tehtv. Icecast on hyvin kyps ja kestv teknologia. Se tukee monien streamaavan nen formaattien lhettmist (sislten MP3 ja Ogg Vorbis -formaatit) ja se tukee Ogg T heoran lhettmist streamaavana videona. Icecast toimii Linuxissa ja Windowsissa. Jos tahdot asentaa sen Linuxiin, sinulla tytyy olla jonkin verran kokemusta Linuxin kanssa, erityisesti tulee tuntea ohjelmien asentaminen komentorivilt, ja kyet editoimaan tekstiin perustuvia konfiguraatiotiedostoja. Windowsin asennusprojekti on suoraviivaisempi, mutta silti tytyy kyet editoimaan tekstipohjaisia konfiguraatiotiedostoja. Icecastin asentaminen ja kyttminen ei sovi kokemattomille kyttjille.

84

26. TSS
TSS (Theora Streaming Studio) on erinomainen koodaaja Ogg T heora -streamien lhettmiseen Icecast-serverille. T SS-kotisivut kannattaa lukea, sill niill on yleiskatsaus sen toimintoihin ja asennusohjelmia: http://gollum.artefacte.org/tss/

T SS toimii graafisen kyttliittymn avulla, joten ei ole tarpeen tehd mitn komentorivill. T SS voi lhett yhden tai useampia streameja eri asetuksilla samasta videolhteest. Videolhde voi olla digitaalinen video tai analoginen video videokaappauslaitteen kautta, jollainen voi olla verkkokamera, USB-videosisntulo tai video-in-liitnt. Pid mielesssi, ett nopea tietokone, jossa on ainakin kaksi gigaa RAMmuistia tarvitaan streamaamaan kahteen kohteeseen ilman freimien menetyksi tai audiosynkronisaation menetyst. T SS voi mys nytt ulos menevn streamin esikatselun, se voi samaan aikaan arkistoida streamit levykkeelle (mutta tm riippuu hieman siit, kuinka nopea tietokoneesi on). T SS hallinnoi komentorivin ohjelmia: 1. dvgrab - kaappaa videon suorasta lhteest, kuten kamerasta 2. ffmpeg2theora - muuntaa videotiedostot Ogg T heoraksi 3. oggfwd - lhett videot streamauspalvelimeen

85

T SS ottaa graafisessa kyttliittymsssi asettamasi konfiguraation ja luo asiaankuuluvan komentorivin kytten nit kolmea ohjelmaa, jotta et joudu asettamaan niit monimutkaissa komennoissa ksin. Voidaan aina kopioida kometorivi, jota T SS kytt, se printataan statusikkunaan, pieneen mustaa tilaan, joka nkyy Execute ja Stop nappuloiden alla. Vierit hiiren osoittimella ja valitse teksti. Voit sen jlkeen ajaa nm komennot suoraan komentorivilt, ssten joitain resursseja vlttmll graafisen jrjestelmn avaamisen. T SS:n pkehittj on Lluis Gmez i Bigord, nykyinen julkaisu (helmikuu 2009) on 0.2. Projektin status on aktiivinen.

TSS:N ASENNUS
T SS voidaan asentaa vain Linuxiin. Katsomme nyt T SS:n asennusta Ubuntussa. Ky ensin T SS-lataussivulla: http://gollum.artefacte.org/tss/# download Net osan, jossa on kaksi linkki. Yksi linkki on "Debian / Ubuntu
package". Tahdomme asentaa sen version. Napsauta tt linkki kytten FireFoxia, ja nemme tllaisen ikkunan ilmestyvn:

Optio on oletusarvoisesti juuri se, jota tahdomme kytt. Jos avaamme asennusohjelman GDebi-paketinasennusohjelmalla , silloin asennusohjelma lataa ja asentaa automaattisesti. T ehdn niin. Klikkaa ja se asentuu.

Asennus 64-bittiseen
Kun asennat T SS-ohjelmaa, voit nhd tllaisen virheen:

86

T m merkitsee, ett yritt asentaa koneen tietokoneelle, jonka "arkkitehtuuria" ohjelma ei salli. Voit kiert tmn, mutta sinun tytyy tehd se komentorivill. Ensinnkin, GDebin kytn sijasta joudut lataamaan lhdetiedostot (.tar.gz -tiedosto). Sitten joudut kirjoittamaan tmn komentorivill samasta hakemistosta, jossa asennusohjelma on:

sudo apt-get install dvgrab ffmpeg ffmpeg2theora libtheora-bin oggfwd libvte-dev

Edellinen komento voi kest hetken, sill on paljon ladattavaa ja asennettavaa. Kun prosessi on valmis, kirjoita nm komennot:
tar zxvf ts s -0.2.tar.gz

cd tss-0.2 ./autogen.sh

Huomaa: asennettavan tiedoston nimi on luultavasti erilainen kuin yll. Sen jlkeen aja seuraavat komennot:
make sudo make install

Kirjoita "T SS" komentorivill. Jos se ei toimi, kokeile tt:


sudo cp src/tss /usr/bin/

Kokeile sitten aloittaa T SS uudestaan komentorivilt:

87

TSS KYTSS
On kaksi erilaista ppaneelia, joiden tytyy sislt oikeat asetukset, jotta striimi voi lhett: lhde ja kohde -vlilehdet:

88

Source -vlilehdest voit valita videon sisntulon tyypin. Kun kytt minimaalista jrjestelm, on olemassa vaihtoehto kytt verkkokameraa video for linuxin (v4l) kautta. Voit valita mys digitaalisen videon sisntulon - tm on hydyllinen, jos tahdot lhett suoraa videota kdess pideltvst kamerasta. T SS tarjoaa mys mahdollisuuden streamata olemassaoleva (arkistoitua) videotiedosto tietokoneeltasi Icecast-palvelimelle. T oinen vlilehti on target1, tss mrittelemme streamien asetukset pstreamiamme varten. Alla on esimerkki:

Kaikki kentt kohdassa ffmpeg2theroa encoding settings pit tytt. On trke pit mieless, ett kaikella thn laittamamme tieto vaikuttaa suoraan streamien lopulliseen ulostulon bittinopeuteen. et voi vain laittaa ulostulon bittinopeutta, pikemminkin se riippuu ruudun koon, nen laadun ja muiden tekemiesi valintojen asetuksista. Muista mys, ett mit korkeampi tm bittinopeus on - sit enemmn kaistanleveytt tarvitaan sen lhettmiseen Icecast-palvelimelle, ja sit korkeammat ovat streamiisi kytkeytyvn yleisn kaistanleveysvaatimukset. Joten, jos osa katsojistamme on Kolumbiassa, jossa keskimrinen verkkoyhteys on vielkin noin 128kbps (kb/s tai kbit/s on tiedonsiirron nopeusyksikk, joka vastaa noin 1000 bitti sekunnissa). T m merkitsee, ett vaikka meill on laajakaistayhteys, joka riitt streamin lhettmiseen korkealla resoluutiolla ja korkeatasoisella pakkauksella, meidn tytyy varoa yli 128kbps bittinopeuden kytt, koska muuten ihmiset Kolumbiassa eivt ne sit.

89

Seuraavat kategoriat liittyvt T SS-enkoodauksen vaihtoehtoihin sek target1 ett target2 -kohteille: Frame size (ruudun koko): T ss mrittelemme videostriimin ulottuvuudet pikselein. 320 kertaa 240 on standardi. Alhaiselle kaistanleveydelle voidaan kytt ruudun kokoa 320 kertaa 180. Frame rate (ruutunopeus): T m asetus mrittelee, kuinka monta ruutua voimme lhett sekunnissa. Erilaiset tapahtumat vaativat erilaisia ruututaajuuksia. Konferenssin tapauksessa kohteet eivt liiku tai vaihda paikkaa kovin paljon, joten 12 fps (fps = frames per second, ruutua sekunnissa) -asetus voi olla sopia. Edellisess esimerkiss ptimme uhrata ruututaajuuden suuremman ruudun koon hyvksi. Valitsimme 25:3, mik merkitsee noin 8fps ruututaajuutta. Video Quality (videon laatu): T hn asetukseen voi laittaa arvoja vlilt 0-10. Oletusarvoinen videon enkoodauslaatu ffmpeg2theoralle on 5, suuremmat arvot merkitsevt parempaa laatua. Audio Quality (nen laatu): T hn asetukseen voi laittaa arvoja vlilt -2 - 10. Enkoodauslaatu nelle on oletusarvoisesti 1. Suuremmat arvot merkitsevt parempaa laatua. Audio Channels (nikanavat): Asettaa ulostulon nikanavien mrn. Valinnat ovat 0 (ei nt), 1 (mono) ja 2 (stereo). Audio samplerate (nen nytetaajuus): Esitetn Hertzein. T m laatikko asettaa nen ulostulon nytetaajuuden. Ulosmenevn streamin teknisi asetuksia ksittelevien laatikoiden alle voit kirjoittaa tiedot, jotka tahdot yleisn tietvn:

T m informaatio ffmpeg2theora metadata -laatikoissa on potentiaalisesti tarjolla yleisllesi. Riippuu heidn tavastaan katsella streamia (selaimella tai soittimella), nkevtk he tmn metadatan. Voit kirjoittaa thn mit tahansa tietoa, sill ei ole vli - jt huomiotta kategoriat (sijainti, pivmr jne.), joita et tahdo kytt. Seuraavaksi on laatikot icecast server settings ja icecast metadata .

90

Kohdassa icecast server settings meidn tytyy mritell streamauspalvelimen osoite (server), tmn serverin kyttm portti (port) , joka on yleens 8000, kyttmmme kanava (mountpoint ), ja salasana (password). Jos sinulta puuttuu psy Icecast-pelvelimelle, on olemassa muutamia ilmaisia projekteja, jotka pyrkivt auttamaan ihmisi vapaiden ohjelmistojen kytss. Katso estudiolivre.org tai GISS.tv. Icecast metadata -asetuksiin voit laittaa yleislle hydyllist tietoa streamistasi. T m tieto nytetn palvelimen verkkosivulla (jokaisella Icecast-palvelimella on oma verkkosivunsa). Vaikka niill on omat otsikkonsa, voit laittaa thn mit tahansa tietoa, sill ei ole vli. Viimeisess vlilehdess on otsikon esikatselu (preview ).

Jos rastitat kohdan enable preview window (esikatselu-ikkuna pll), net esikatselun suorasta lhetyksest enkoodatessasi sit. T m ei ole sama video kuin se, joka lhtee Icecast-palvelimelta, joten kannattaa aina katsoa sek esikatselua ett palvelimelta tulevaa streamia (monitoroi sisntulevaa streamia toisella tietokoneella).

91

Jos tahdot lhett yhden streamin, joudut katsomaan vain asetuksia vlilehdiss Source ja T arget1. Jos tahdot lhett kaksi streamia, joudut katsomaan asetuksia mys vlilehdess T arget2. Kun olet mritellyt kaikki tarvittavat tiedot jokaiselle ulosmenevlle streamille ja yhdistnyt oikean videolhteen (tai olet valinnut toimivan videotiedoston streamattavaksi), paina vain "Execute" ja streamauksen pitisi alkaa!

92

27. FFMPEG2THEORASTREAMAUS
T m menetelm keskittyy videon streamaukseen digitaaliselta videokameralta tai Firewire-kameralta GNU/Linuxia kytten. Videostreami on Ogg T heoraa, joten katsojasi voivat nhd sen kytten T heora-yhteensopivaa soitinta, kuten FireFox 3.5, tai Javasovelmaa, kuten Cortado. T t seurataksesi sinun tytyy osata kytt komentorivi ja sinulla tytyy olla psy sudo-komennon kyttn. Jos et tied mit nm asiat ovat, kannattaa lukea hyv kirja komentorivin kytst.

VALMISTAUTUMINEN
Huomaa: Firewire-kamera ei ole sama kuin digitaalinen videokamera. Kuitenkin tss tapauksessa ne toimivat samoin. Firewire on Applen nimi IEEE 1394 -standardille, muuta valmistajat kyttvt esimerkiksi nimi i.Link (Sony) tai Lynx (T exas Instruments) - mutta sill ei ole vli, kaikki ovat standardin IEEE 1394 mukaisia. T arvitset seuraavat: DV-kamera GNU/Linux-kone, jossa on Firewire-sisntulot Firewire-kaapeli Internet-yhteys Psy "theora-yhteensopivalle" Icecast2-palvelimelle (tarvitset palvelimen IP-osoitteen, kytettvn port in, ja salasanan)

ASETUKSET
Seuraavaksi asennetaan tarvittavat ohjelmat. Meidn tytyy asentaa seuraavat ohjelmat: dvgrab ffmpeg2theora oggfwd Ubuntussa voit ajaa tmn komentorivin:
sudo apt-get install dvgrab ffmpeg2theora oggfwd

Edellisen komennon pitisi nky yhdell rivill. Sinulta kysytn salasanaa, kirjoita tm ja asennusprosessi alkaa. Nyt sinulla on kaikki mit tarvitset aloittamiseen. Ensin meidn tytyy yhdist digitaalinen videokamera tai Firewire-kamera tietokoneeseen. Sinun tytyy kytke Firewire-kameraan Firewire-kaapeli, ja toinen kaapeli tietokoneesi Firewire-sisntuloon. Knn nyt kamera plle. Seuraavaksi sinun tytyy kirjoittaa seuraava komentorivi, joka tarjoaa streamauspalvelimen yksityskohdat Icecast2-palvelimelle. Komento on:

93

sudo dvgrab --format raw - | ffmpeg2theora -a 0 -v 5 -f dv -x 320 -y 240 -o /dev/stdout - | oggfwd icecastserver 8000 pwd /theora.ogv

Muista, ett komennon tytyy olla kokonaan yhdell rivill (edellinen esimerkki ei ole). Korvaa mys alla olevat yksityiskohdat tiedoilla, joita sinulla on Icecast-palvelimesta: icecastserver 8000 pwd icecastserver korvataan streamauspalvelimen nimell tai IPosoitteella . 8000 on portin numero ja on yleens sama. Salasanaksi kirjoita palvelimesi salasana. Lopulta voit korvata kohdan /theora.ogv asennuspisteellsi, tmn riippuu Icecast-palvelimesi asetuksista, mutta voi olla mit tahansa, kunhan se alkaa eteenpin kallistuvalla kenoviivalla (/) ja loppuu .ogg tai .ogv. Nyt sinun pitisi voida streamata! T arkastaaksesi yhteyden, kokeile sit ohjelmilla VLC tai Firefox 3.5.

94

28. SUORATOISTO VLCOHJELMALLA


VLC voi mys suoratoistaa T heora-tiedostoja Icecast2 streamauspalvelimelle. T m toimii VLC versiosta 0.9.4 ylspin Ubuntussa , ja mys VLC:n aiemmilla versioilla Windowsissa (tosin prosessi on erilainen VLC:n aiemmissa versioissa). On mahdollista streamata videotiedostoja koneeltasi, elv verkkokameran kuvaa tai ksin pidelty kameraa. Jos sinulla on sylimikro, jossa on sisnrakennettu kamera, voit streamata mys sit kytten. Jos kytt Ubuntua, on parempi pivitt Ubuntun versio Intrepidiin (8.10) tai Jauntyyn (9.04), koska molemmissa on VLC:n versio, jolla on helppo streamata. Jos et tahdo pivitt kyttjrjestelm, joudut asentamaan VLC:n viimeisimmn version lhdetiedostosta - ole varovainen, VLC:n pivittminen lhdetiedostoista on vaikeaa.

SUORATOISTOPALVELIMEN VAATIMUKSET
T utkimme striimausta Icecast-palvelimelle. Sinulla tytyy olla yhteys joko Icecast-palvelimelle tai johonkin, joka voi luoda sinulle kyttjtilin ja tarjota psytiedot. Sinun tytyy tiet seuraavat seikat Icecastpalvelimesta: Verkkonimi tai IP-osoite Portti (Oletusarvo on 8000 ) Salasana Kyttjnimi (T m ei vlttmtt ole tarpeen riippuen Icecastin asetuksista.) Mountpoint (T m ei vlttmtt ole tarpeen riippuen Icecastin asetuksista.)

STREAMATTAVAN VIDEOTIEDOSTON VALINTA


Katsotaanpa streamausta kytten kannettavaan koneeseen sisnrakennettua kameraa. Prosessi on hyvin samanlainen kuin kytettess ulkoista kameraa tai arkistoituja videotiedostoja. Ensin sinun tytyy avata VLC . Valitse nyt Streaming valikosta Media :

95

T m avaa paneelin, josta voit valita videostreamin lhteen.

Valitsemme viimeisen vlilehden - Capture Device, tss voisit kuitenkin valita toisen vlilehden streamataksesi videota levykkeelt (esimerkiksi DVD:lt), arkistoiduista tiedostoista, tai vlitt sisntulevan videostreamin. Kaappauslaitteen ikkuna nytt tlle:

96

Jos kaikki toimii hyvin, sinun ei ehk tarvitse muuttaa mitn asetuksia tss ikkunassa. Sen sijaan napsauta vain Stream-nappulaa.

STREAMIN ASETUKSET
Streamin asetuksien Outputs-kohdassa on osio Icecastin konfiguroimiseen.

Sinun tytyy vain rastia laatikko ja tytt yksityiskohdat. T ss on muutama asia muistettavaksi: 1. Mountpoint alkaa aina merkill "/". 2. Osoite ei ala "http://". 3. Yleens et saa kyttjnime Icecastiin. T ss tapauksessa kyttjnimi on "source". 4. Portti on melkein aina 8000. 5. Muoto kohdalle Login:pass on aivan kuin otsikko vihjaa - login, jota seuraa ":", sitten pass. Kaikki ilman vlilyntej. Esimerkiksi striimi Icecast2:n oletusarvoiseen asennukseen (oletusarvoinen salasana on aina "letmein") olisi:
source:letmein

97

Kun kirjoitat tiedot, net tekstin muuttuvan kohdassa 'Generated stream output field' ikkunan pohjalla.

Kokenut kyttj voisi kirjoittaa tmn tiedon suoraan kyttmtt tarjottuja kentti, mutta on paljon helpompaa tytt laatikot, kuten vaaditaan.

Nyt sinun tytyy vain painaa 'Stream' ja suoran lhetyksen streami lhtee Icecast2 -palvelimelle. Kuitenkaan VLC ei tarjoa kunnon virheilmoituksia, joten se voi istua aloillaan nytten sille, ett streamaa onnessaan, vaikka todellisuudessa mitn ei tapahdu. VLC voi jopa nytt "Streaming" statuspalkissa, mutta tm ei merkitse mitn!

Ainoa tapa saada selville toimiiko se, on katsoa Icecast-palvelimesi statussivua, tai kytt videosoitinta toistamaan streami suoraan palvelimelta.

98

29. THEORAVIRTAUSTOISTON TALLENTAMINEN


Jos kytt GNU/Linuxia, on helppoa tallentaa Ogg T heora -striimi. T m johtuu siit, ett T heora kytt HT T P:t virtaustoistoon, joten voit kytt wget -ohjelmaa, joka on yleens mukana Linux-distroissa. Kytt wget -komentoa virtaustoiston kaappaamiseen nin:
wget http://streamingserver:8000/streamname

Esimerkiksi, jos palvelin on osoitteessa icecast.streamingsuitcase.com ja virtaustoistotiedoston nimi on theora.ogg , voit kytt seuraavaa komentoa arkistointiin:
wget http://icecast.streaminguitcase.com:8000/theora.ogg

T m on hyv, mutta jos wget puskuroituu, se lopettaa arkistoinnin. Voit kuitenkin kokeilla tt:
while true; do wget http://icecast.streaminguitcase.com:8000/theora.ogg;done

T oinen etu wget-komennon kytst arkistointiin on, ett se lis tiedostonimet. Jos arkistoit striimin yll mainitun esimerkin mukaan, tiedosto tallennetaan nimell theora.ogg . Jos pysytt wget komennon ja aloitat sen uudelleen, seuraavan tiedoston nimi on theora.ogg.1. T m merkitsee, ettet ylikirjoita edellist arkistointitiedostoa.

VIDEON OSIEN EKSTRAKTOIMINEN


Videoita, jotka eivt ole suorana lhetyksen, on joskus mahdollista ekstraktoida osittain. T m toimii vain, jos palvelimen yllpitjll on oggz-chop asennettuna. Se sallii hakemisen palvelinpuolelta. Jos se on installoitu, voit tarkentaa "sisn" ja "ulos" -kohdat. joten jos tahdot vain ladata videon 23 sekunnin kohdalta 42 sekunnin kohdalle, list ? t=23/42 URLin loppuun:
wget http://example.org/theora.ogv?t=23.0/42.0

Firefox 3.5 -selaimella voit mys avata URLin selaimessa, ja tallentaa sen napsautamalla hiiren oikealla napilla Save Video As...

99

EDITOINTI
30. EDITOINNIN PERUSTEET 31. PITIVI

100

30. EDITOINNIN PERUSTEET


Ogg Theora on loistava jakeluformaatti, mutta sit voidaan mys editoida. Jos sinulla on GNU/Linux-kone, jossa on tarpeeksi muistia ja laskentatehoa, voit tutkia editointiohjelmia, kuten PiTiVi (http://www.pitivi.org/), Kdenlive (http://www.kdenlive.org/) ja Cinelerra (http://cinelerra.org/). T ss vaiheessa PiT ivi on paras vaihtoehto T heora-tiedostojen yksinkertaiseen editointiin. Kdenlive kaatuu usein, kun tiedostot viedn T heoraan (ja ulostuleva tiedosto on vrin formatoitu) ja Cinelerraa on vaikea sek asentaa ett kytt. Jos kytt Ubuntua, PiT iVi on viel parempi vaihtoehto, sill asennus on hyvin yksikertaista. Lisksi PiT iVi on rakennettu GStreamer multimediakehyksen ymprille (jota Ubuntu kytt), joten voit tuoda ja editoida miltei mit tahansa GStreamerin tukemaa mediatiedostoa (joita on paljon), ja vied sen T heoraan. PiTiVi toimii kuin useimmat editointiohjelmat: se purkaa videotiedostot prosessissa, jossa videodata tuodaan editointiohjelmaan joten voit katsella ja selata kaikkia kuvia ja ni, jrjest ne uudelleen, ja tehd kaikenlaisia juttuja. Kun lopetat, pakkaat editoidun materiaalin viemll tuloksen. T ll pakkaamisen ja purkamisen prosessilla on kuitenkin hintansa, sill menett hieman laatua jokaisella pakkauksella tai purkamisella, jonka teet. T mn vuoksi editointiprosessia kutsutaan tappiolliseksi editoinniksi.

101

31. PITIVI
PiTiVi on videoeditori GNU/Linux -kyttjrjestelmn. Se tukee Ogg T heora -videon tuomista ja viemist. Juuri nyt se tukee peruseditointia, videoleikkeiden leikkaamista, aikajanalle jrjestmist ja nitasojen stmist. PiT iVill on oma dokumentaationsa, jota tahdot ehk lukea. Se lytyy osoitteestahttp://www.pitivi.org/wiki/Manual# Proposed Erittin hyv PDF-muodossa oleva manuaali on mys saatavilla osoitteesta http://jeff.ecchi.ca/blog/? p=897

ASENTAMINEN
PiT iVi toimii vain GNU/Linux -kyttjrjestelmss. Jos sinulla on Ubuntu Jaunty (9.04), voit asentaa erittin kyttkelpoisen version PiT iVist komentorivilt (ptteest) komennolla:
sudo apt-get install pitivi

Sinulta kysytn salasanaa, sen kirjoitettuasi asennus tapahtuu automaattisesti. Kun asennus on valmis, voit avata PiT iVin Sovellukset-valikosta (listattu kohdassa ni & Video).

Voit mys katsoa linkist http://pitivi.org/wiki/Downloadsohjeita uudempien versioiden asennukseen. PiT iVi kehitetn juuri nyt aktiivisesti, uusia versioita tulee snnllisesti.

VIDEON TUOMINEN
Kun olet avannut PiT iVin, voit painaa plus (+) nppint kyttliittymss, jotta voit T uoda leikkeit.

102

T uodut viedoleikkeet on listty Clip Libraryyn. Voit kytt kaikkia formaatteja, joita GStreamer tukee. Jos et tied mit tm tarkoittaa, helpoin tapa tiet mitk tiedostot toimivat PiT iVill on soittaa niit T otemissa (lytyy ni ja Video -sovellusvalikosta ja on nimetty "Elokuvasoittimeksi"). Jos tiedosto toimii Elokuvasoittimessa, sit voidaan kytt mys PiT iVin videoleikkeen. Voit jatkaa leikkeiden lismist Clip Libraryyn (digitaalisen kellon videon on luonut Riccardo Iaconelli). Niit voi list niin paljon kuin haluat.

VIDEOLEIKKEIDEN LISMINEN
Kun olet tuonut videoleikkeet, joita tahdot kytt, voit vied ne Clip Libraryst alla olevalle aikajanalle.

103

Jos list monta videoleikett aikajanalle, ne nkyvt hieman erilaisissa vreiss ja tiedostonimet nkyvill:

Jos et ne tllaisia yksityiskohtia, kyt zoomaustykaluja lhentksesi ja loitontaaksesi aikajanaa:

104

TOISTO
Kun videoleike on aikajanalla, et ne yksittisi kuvaruutuja, mutta voit vet liukusdint eteenpin ja taaksepin nhdksesi videon.

Kun toistat tllaista videota, voit nhd toiston sijainnin (ajan) punaisella viivalla, joka on aikajanalla:

LIIKKUVAT VIDEOLEIKKEET
Voit siirt videoleikkeit ympriins vetmll niit pitkin aikajanaa.

LEIKKEIDEN LEIKKAUS
Valitse saksi-ikoni leikataksesi leikkeen kahtia:

105

Siirr sitten kursoria ympri aikajanaa. Net oranssin viivan ilmestyvn, se nytt leikkauksen potentiaalisen sijainnin:

Kun oranssi viiva on oikeassa paikassa, klikkaa aikajanaa ja valittu videoleike leikataan kahtia siin pisteess.

VIDEOLEIKKEIDEN POISTAMINEN
Poistaaksesi videoleikkeen klikkaa sit kursorilla, jotta se valitaan, ja paina sitten roskakori-ikonia:

VIENTI OGG THEORAAN


Kun projektisi on valmis vietvksi, voit klikata Piirr Projekti -nappia:

Net nyt renderintiasetusten ikkunan:

106

Klikkaa Valitse tiedosto ja valitse paikka, johon tahdot tallentaa viedyn tiedoston. Voit mys muokata koodausasetuksia painamalla Muokkaa, kun asetukset sopivat tarpeisiisi, paina T allenna ja hae kahvia.

107

ESIKATSELU
32. ESIKATSELUN KYTT 33. ESIKATSELUKUVIEN LUOMINEN 34. DIANYTKSEN LUOMINEN 35. ESIKATSELUN LUOMINEN

108

32. ESIKATSELUN KYTT


Jos tahdot leikki Ogg-tiedostoillasi, sinun ei tarvitse avata kokonaista editointiohjelmaa. Joukko hydyllisi ohjelmia on olemassa yksinkertaisten asioiden tekemiseen Ogg-tiedostojen kanssa komentorivilt. Ogg Video Tools on tykalulaatikko T heoravideotiedostoja varten, se sislt joukon ktevi komentorivin tykaluja T heora-tiedostojen manipulointia varten. Kyt niit leikkaamiseen ja liittmiseen tai esikatselukuvien tekemiseen, ilman ett tytyy keskitty monimutkaiseen editointiprosessiin.

OGG VIDEO TOOLSIN ASENTAMINEN


Useimmat GNU/Linux -distrot tarjoavat Ogg Video T oolsin ohjelmavarastoissaan (esim. Fedora, openSuSE). Jos tykaluja ei ole saatavilla suosikkidistroosi, tai jos tahdot pivitt se uusimpaan versioon, jatka kohtaan asentaminen lhdekoodista alempana. T m ptee mys BSD ja Mac OS -kyttjille. Windowsin kyttjt voivat ladata ZIP-tiedoston, joka sislt ajettavat komentorivin tykalut, osoitteesta: http://sourceforge.net/projects/oggvideotools/files/.

Lhdekoodista asentaminen
Ky sivulla http://sourceforge.net/projects/oggvideotools ja klkkaa Download Now saadaksesi kopion lhdekoodista. Ennen kuin jatkat asentamista, katso ett kaikki vaadittavat kehityspaketit on asennettu. Ogg Video T ools riippuu seuraavista muista paketeista: theora ja theora-dev vorbis ja vorbis-dev ogg ja ogg-dev GD-lib ja sen kehitysosat SDL ja SDL-dev (jos tahdot kompiloida oggScrollin) Ogg Video T ools kompiloituu onnistuneesti vaikka nm kaikki kirjastot puuttuisivat, mutta silloin vain osa editointitykaluista kompiloidaan. Muut tykalut eivt toimi asennuksen jlkeen. Kun olet varmistanut vaadittavien pakettien lsnolon, avaa terminaali ja kirjoita seuraava komento (ilman alun dollarimerkki):
$ tar xzvf oggvideotools*.tar.gz $ cd oggvideotools* $ ./configure $ make $ su <type root password> $ make install

Jossa ./configure -komennon kolmannella rivill pitisi antaa tmn tapainen ulostulo:
[ ... ]

109

checking for bzero... yes checking for memset... yes configure: creating ./config.status Creating the following tools: oggJoin oggSplit oggCut oggCat oggDump oggSlideshow oggThumb oggResize oggSilence oggScroll

110

33. ESIKATSELUKUVIEN
LUOMINEN
Paketissa Ogg Video T ools (http://sourceforge.net/projects/oggvideotools) on oggT humb -tykalu, joka tekee T heora-videotiedostoista esikatselukuvia. Esimerkkikomento:
$ oggThumb -t1,2,3,4 -s320x240 my_theora_video.ogv

T ss luomme nelj esikatselukuvaa videotiedostosta "my_theora_video.ogv", ne on otettu videon kestetty 1, 2, 3 ja 4 sekuntia. T ss esimerkiss esikatselukuvat tallennetaan seuraaviin tiedostonimiin:
my_theora_video_0.jpg my_theora_video_1.jpg my_theora_video_2.jpg my_theora_video_3.jpg

ESIKATSELUKUVIEN SARJAN LUOMINEN


Jos sinun tytyy tehd esikatselukuvia mrtyin vliajoin koko videosta, tietmtt videon pituutta etukteen, kyt seuraavaa shelliskripti homman hoitamiseen:
#!/bin/sh length=$(oggLength "$1") timestring="0" div=$(($2*1000)) for((i=1; i<$2; i++)) do value=$(echo "scale=3; $i*$length/$div" | bc -q 2>/dev/null) timestring="$timestring,$value" done oggThumb "$3" -t$timestring "$1"

Skripti kutsutaan komennolla:


$ ./mkThumb my_theora_video.ogv 15

T m skriptikutsu ottaa 15 kuvaa videon alusta loppuun, yht pitkilt etisyyksilt. Kuvat tulevat ulos tiedostoina, edell kuvattjen nimemiskytntjen mukaan. Korvaa my_theora_video.ogv kyttmsi videon nimell. Esikatselukuvien mr annetaan viimeisess argumentissa. Muuta sit sopimaan tarpeisiisi.

MRTYN KOKOISET ESIKATSELUKUVAT


Voit pyyt tietyn kokoisia esikatselukuvia lismll option -s komentoriviin:
$ oggThumb -t1,2,3,4 -s320x240 my_theora_video.ogv

T ss me luomme esikatselukuvia, joiden koko on 320x240. Voit asettaa korkeuden tai leveyden arvoksi 0, jolloin arvo lasketaan automaattisesti:
$ oggThumb -t1,2,3,4 -s120x0 my_theora_video.ogv

111

T ss videon korkeus on asetettu vastaamaan leveytt 120. oggT humb laskee korkeuden niin, ett se silytt kuvan koon suhteen.

Kehittyneemmt toiminnot
Kyt aina optiota -f option -t sijasta valitaksesi esikatselukuvan aikasijainnin kuvaruudun numeron mukaan sekuntien mrn sijasta. T oinen maininnan arvoinen optio on -o png, joka luo esikatselukuvia PNG-kuvina, joilla on korkeampi laatu kuin oletusarvoisesti tehdyill JPG-kuvilla. oggT humb-komennon koko dokumentaatio lytyy kirjoittamalla:
$ man oggThumb

komentorivill. Huomaa, ett Windows-versiossa on joukko HT MLtiedostoja, jotka ovat verkkoselaimessasi luettavassa kyttoppaassa.

112

34. DIANYTKSEN
LUOMINEN
Ogg Video T ools tarjoaa komentorivin tykalun, jota kutsutaan oggSlideshow ksi. Sill voi luoda diaesityksi kuvasarjasta JPG- tai PNGmuodossa ja kytt erilaisia efektej kuvien vaihtoa ja esityst varten. Rakenne: oggSlideshow [ Vaihtoehdot] kuva1 kuva2 kuva3 Jokainen kuva luetaan tiedostojrjestelmst ja sen kokoa muutetaan sopimaan videon ruutukokoon, jolle voidaan antaa -s -vaihtoehto. Jos kuvasuhde ei sovi videoruutuun, mustat reunat listn. Seuraavia tehosteita tuetaan kuvien siirtymiss: plain: Kuvat seuraavat toisiaan. crossfade: Ensimminen kuva hipyy asteittain, seuraava ilmestyy aste asteelta. Ristihivytyksen kesto on 1 sekunti. blurring: Kuva eptarkennetaan ennen kuin se katoaa. Seuraava kuva nkyy eptarkkana, mutta tarkkenee vhitellen.

Ers erikoistehoste on Ken Burns -efekti, joka on nimetty kuuluisan dokumentaristin mukaan. T m efekti lhent kuvan lpi esityksen aikana. T mn tehosteen siirtym on asetettu ristihivytykseksi. On mys vaihtoehtoja bittinopeuden asettamiseksi, yhden kuvan esitysajan asettamiseksi, sek ulostulotiedoston nimen mrittelemiseksi. Nm on esitetty alla:

KOMENTORIVIN VAIHTOEHDOT:
-s Asettaa videoruudun koon. Oletuskoko on480x320. Esimerkki: -s 320x240 -f Asettaa videon ruutunopeuden, joka annetaan ruutuina sekunnissa. Oletusarvoinen ruutunopeus on 24 ruutua sekunnissa. Esimerkki: -f 16 -o

113

Asettaa ulostulotiedoston nimen. Oletusarvoinen nimi on slideshow.ogv. Esimerkki: -o myShow.ogv -l Asettaa kuvan esitysajan. Jos sinulla on 10 kuvaa ja asetat 10 sekunnin ajan, videon kokonaispituus on 1:40 (eli 100 sekuntia). Esimerkki: -l 10 -d Asettaa videon datanopeuden, joka mitataan bittein sekunnissa. T m on tarkoitettu ylemmksi sietokynnykseksi. Lopullinen T heora-tiedosto voi olla odotettua pienempi. Esimerkki: -d 1024000 -t Asettaa kuvan siirtymn tehostetyypin, kuten yll on kuvattu. T uetut tyypit ovat: kb Ken Burns -tehoste (oletus) cf kuvan ristihivytys siirtymn p tavallinen kuvaesitys b eptarkka siirtym Esimerkki: -t p -e Mahdollistaa ruudun koon muuttamisen. Jos kuva ei sovi videoruudun kuvasuhteeseen, se voidaan "uudelleenkehyst" lismll mustat reunat. T m vaihtoehto on kyttkelpoinen vain Ken Burns -efektin kanssa (vaihtoehto -t kb). Muiden siirtymtehosteiden kanssa kuvat uudelleenkehystetn automaattisesti mys ilman -e vaihtoehtoa. Esimerkki: -t kb -e

NEN LISMINEN DIAESITYKSEEN

114

oggSlideshow voi tehd vain mykki videotiedostoja. nen lisminen jlkikteen vaatii kyttmn vain muutamia muita tykaluja. Olettakaamme, ett loit diaesityksen kytten kaikkia kuvia hakemistostasti joitainKuvia, kuten tss komentorivin esimerkiss nytetn:
$ oggSlideshow -s 320x240 -f 24 -o diaesitys.ogv -d 512000 joitainKuvia/*.jpg

Ennen kuin list nen, joudut ensin luomaan niraidan, jolla on sama pituus kuin diaesityksell. Diaesityksen pituus tulostetaan diaesityksen luomisprosessin lopussa. Vaihtoehtoisesti sen voi nhd kyttmll seuraavaa komentoa:
$ oggLength diaesitys.ogv

T m palauttaa videon pituuden millisekunteina. T t tietoa kytten voimme leikata Ogg/Vorbis nistreamin saman pituiseksi. T ss esimerkiss pituus on 5,6 sekuntia:
$ oggCut -l 5600 aaniRaitani.ogg muutettuAaniRaitani.ogg

Molempien streamien liittmiseksi yhteen mediatiedostoon ( newSlideshow.ogm ), kytmme komentoa oggJoin:


$ oggJoin uusiDiaesitys.ogv muokattuAaniRaitani.ogg diaesitys.ogv

Nyt olet valmis!

ALOITUSKUVAN LISMINEN
Diaesityksen ensimmisen kuvan tytyy usein olla otsikkokuva, joka kertoo joitain tietoja diaesityksest. Luo lyhyt ja yksinkertainen diaesitys, jota voit kytt otsikkona, kytten vain yht kuvaa:
$ oggSlideshow -s 320x240 -f 24 -tp -o aloitusKuva.ogv -l 10 -d 512000 \ aloitusKuva.jpg

T ss diaesityksen tyyppin on plain (-tp), jolloin kuva nkyy sellaisena kuin se on. Kesto on 10 sekuntia (oletusarvo on 8 sekuntia). Liitmme kuvan diaesityksemme diaesitys.ogv alkuun kytten komentoa oggCat:
$ oggCat kokoDiaEsitys.ogv aloitusKuva.ogv diaesitys.ogv

T ietenkin voimme mys list niraidan, kuten aiemmin on kuvailtu:

oggJoin uusiDiaEsitys.ogv muokattuAaniRaitani.ogg kokoDiaEsitys.ogv

SKRIPTI KAIKKEA VARTEN


Seuraava pteskripti yhdist kaiken tss luvussa esitellyn, se luo diaesityksen, jossa on alkutekstit ja net.
#!/bin/sh #

115

# kytt: ./diaesitys ~/kuvahakemistoni/ nitiedosto.oga ulostulotiedosto.ogm # # M uutettavat muuttujat # # videon ruutukoko SIZE="640x360" # # diaesitys-streamin datanopeus bittein sekunnissa DATARATE="1024000" # # yhden kuvan esitysaika sekunteina PR_TIM E="10" # # ruutunopeus kuvina FRAM ERATE="24" # # uudelleenkehyst kuva # Tm lis mustat kehykset kuvaan, jotta kuvasuhde pysyy ennallaan. # Ken Burns -efektill tm ei ole vlttmtns, mutta liukumat voivat olla # tasaisempia. #REFRAM E="-e" REFRAM E="" # # uudelleensmplys # Tm vaihtoehto mrittelee, kuinka gdlib lataa kuvan. # Koska gdlibin koonmuuttamismekanismi on todella hyv, sit kytetn # tuomaan se arvoon, joka on lhell videon ruutukokoa (yleens vhn isompi). # Et yleens ne suurta eroa, mikli muutat tt arvoa. Pid se ennallaan. # (oletusarvo on 1.2). RESAM PLE="1.2" # # diaesityksen tyyppi # kb - Ken Burns -efekti (liukuu ja lhent) # p - tavallinen (kuva vain nkyy, ei ristiinhivytyst kuvien vlill) # cf - ristiinhivytys (kuvien nytt, ristiinhivytys kuvien vlill) TYPE="kb" # # # Tilapinen tiedostonimi TM P_VIDEO FILE="slideshow_tmp.ogv" TM P_AUDIO FILE="audio_tmp.oga" # diaesityksen luominen oggSlideshow -s $SIZE -d $DATARATE -l $PR_TIM E -f $FRAM ERATE \ $REFRAM E -r $RESAM PLE -t $TYPE -o $TM P_VIDEO FILE $1/*.jpg # mik tmn pituus on LENG THVIDEO =`oggLength $TM P_VIDEO FILE` # # leikkaa nitiedostoa LENG THAUDIO =`oggLength $2` # # onko nitiedosto liian lyhyt? if [ $LENG THVIDEO -gt $LENG THAUDIO ] then echo "varoitus diaesitys ($LENG THVIDEO ) on pidempi kuin nitiedostosi ($LENG THAUDIO )" exit -1 fi # nitiedoston leikkaus oggCut -l$LENG THVIDEO -i$2 -o$TM P_AUDIO FILE # # Liit ni- ja videotiedosto oggJoin $3 $TM P_VIDEO FILE $TM P_AUDIO FILE # # Poista vanhat tiedostot rm -f $TM P_VIDEO FILE $TM P_AUDIO FILE

116

35. ESIKATSELUN LUOMINEN


Kun video laitetaan verkkoon on usein hyv laittaa lyhyt esikatselu videosta pverkkosivulle. Se voidaan linkitt alkuperiseen videoon. Kyt komentorivin tykalua oggResize paketista Ogg Video T ools (http://sourceforge.net/projects/oggvideotools) luodaksesi sellaisen esikatselun. T yypillinen oggResize -komento nytt seuraavalta:
$ oggResize -s256x144 -d64000 -f1 -p24 bigBuckBunny.ogv bigbuckbunnyPreview.ogv

T ss luomme T heora -videotiedoston bigbuckbunnyPreview.ogv alkuperisest bigBuckBunny.ogv -tiedostosta ja skaalaamme sen pieneen 256x144 pikselin kuvakokoon. Optio -p saa oggResize-komennon sisltmn vain joka 24:nnen kuvan alkuperisest, lyhent keston 1/24:n alkuperisen pituudesta, luoden yleens nopeasti eteenpin kelaavan version videosta. Koska ei ole paljonkaan jrke kelata audiota nopeasti eteenpin, net on poistettu. T ss olemme mys lisnneet option -f1, mik st luodun videon kuvataajuutta yhteen kuvaruutuun sekunnissa. T m est videon nopean kelaamisen eteenpin, sit on helpompi katsoa, ja se nytt samalta kuin animoitu GIF-kuva.

LIS SOITTONAPPULA
FEnsin tarvitsemme PNG-kuvan nappulasta, jossa on lpinkyv maski, jonka avulla se voidaan laittaa videosislln plle. Lpinkyv maskia sanotaan alfakanavaksi, nykyisin useimmat kuvanksittelyohjelmat antavat luoda yhden. Kokeile esimerkiksi vapaata kuvaeditoria GIMP. Optiot -A ja -a antavat sinun laittaa kuvan ulostulovideon plle ennen kuin video skaalataan uudestaan vastaavasti kokoon, jonka -s antaa.
$ oggResize -s256x144 -d64000 -f1 -p24 -A Play-256x144.png bigBuckBunny.ogv \ bigbuckbunnyPreview.ogv

Siinp se! Nyt sinulla on hieno esikatselu videosta bigBuckBunny.ogv. Sen pll oleva soittonappi kutsuu ihmisi klikkailemaan itsen.

117

EDITOINTI KOMENTORIVILT
36. KOMENTORIVIN KYTT EDITOINTIIN 37. VHN TEORIAA 38. TIEDOSTON JAKAMINEN 39. OGG-TIEDOSTON LEIKKAUS 40. STREAMIEN LIITTMINEN 41. OGG-TIEDOSTOJEN LIITOSTAMINEN 42. OGGRESIZE 43. OGG-TIEDOSTOJEN ANALYSOIMINEN

118

36. KOMENTORIVIN KYTT


EDITOINTIIN
Komentorivi on tekstiin perustuva menetelm hytyohjelmien kutsumiseen ptteen komentotulkilta. Useimmissa Linuxkyttjrjestelmiss on ohjelma, jota kutsutaan ptteeksi. Useimmiten tm pte on Bourne-Again Shell, "bash", joka on alkuperisen Bourne Shellin, "sh", seuraaja, mutta monia erilaisia ptteit on kytss. Jokaisen kyttjn tulisi tiet, kuinka voi kytt yksinkertaisia tekstikomentoja, kuten "df -h", joka on levytilan kyttraportti ihmiselle ymmrrettviss yksikiss (megatavuina levyn sektoreiden sijaan). Komentorivin perusteet ja monia edistyneempi asioita on dokumentoitu FLOSS Manualsin kirjassa Komentorivin perusteet, joka on saatavilla osoitteessa http://fi.flossmanuals.net/KomentorivinPerusteet/Introduction. T uo kirja on hyv lukea ennen kuin kokeilee mitn tss luvussa kuvailtuja asioita. Kirjan avulla on helppo ymmrt komentorivin perusteita, jolloin on mahdollista astua kehittyneemmn kytn kynnyksen yli. Kehittyneempi komentorivin kytt Linuxissa merkitsee kahta asiaa: kaikkien komentoon sisltyvien vaihtoehtojen kytt (jotka mankomento listaa - kokeile komentoa "man man"), ja muutamaa rivi pidempien ohjelmien kirjoittamista kytten muitakin kuin yksinkertaisimpia komentoja. Monet videoeditointitykalut toimivat sek koko ruudun graafisena kyttliittymn ett komentoriviversiona. Graafinen kyttliittym kuitenkin kytt usein komentorivi tehtvien suorittamiseen. Esimerkkin tst ovat Ubuntun ja Debianin kyttmt paketinhallintaohjelmat. Koko ruudun graafinen kyttliittym on Synaptic, ja tekstiin perustuva kyttliittym on Aptitude. Hyvin kirjoitettu kyttliittym voi tehd komentojen kytst paljon helpompaa kuin komentorivin kytst, mutta komentorivin kytt antaa paljon suuremmat mahdollisuudet komentojen kehittyneempn kyttn. Lisksi komentorivin komennot voi tallentaa tekstitiedostoihin, jolloin niist tulee ajettavia ohjelmia, kunhan tekstitiedostoista tekee suoritettavia chmod-komennon avulla.

TAPPIOTON VIDEOEDITOINTI
Videoeditointi on hyvin kallis hanke tietokoneesi laskentatehon ja muistinkytn suhteen. T m johtuu siit, ett monimutkaiset videoeditointitykalut joutuvat antamaan sinulle mahdollisuuden tyskennell videon jokaisen ruudun ja nen jokaisen smplen parissa. Jokaisen yksittisen ruudun ksittely ei kuitenkaan ole aina tarpeen. Joissain tapauksissa ihmiset tahtovat vain erottaa ni- tai kuvastreamin tiedostosta, tai yhdist ni- ja kuvatiedostot yhteen streamiin, tai he eivt vlit videon leikkauksesta yhden ruudun tarkkuudella.

119

T llin video- ja nistreameja ei tarvitse koodata uudelleen, mik tekee videon ksittelyst paljon vhemmn tietokoneen resursseja vaativaa. Se merkitsee mys, ett editointitykalut ovat hyvin nopeita. T t editointiprosessia kutsutaan tappiottomaksi, sill uudelleenkoodausta ei vaadita. Videon uudelleenkoodaus aiheuttaa aina videon laadun heikkenemisen ja videon editointi ilman uudelleenkoodausta on tten tappiotonta. Koodatut paketit, jotka ovat joko videota tai nt, eivt joudu toimenpiteiden kohteiksi. Ne pidetn sellaisina kuin ne ovat, joten ne koodataan samalla laadulla, joka niill oli ennen editointiprosessia.

TYKALUT
On kaksi pasiallista tykalupakkia tappiottomaan videoeditointiin: Ogg Video Tools ja Oggz Tools. Molemmat ovat komentorivitykalujen kokoelmia. Ogg Video T ools ja Oggz T ools toimivat Linuxissa, OSX:ss ja Windowsissa. Oggz lytyy tlt: http://www.xiph.org/oggz/ Ogg T ools lytyy tlt: http://sourceforge.net/projects/oggvideotools Joissain tapauksissa nm kaksi tykalupakkia omaavat samanlaisen toiminnallisuuden. Oggz T ools on suuntautunut kehittji varten ja Ogg Video T ools on suuntautunut loppukyttji varten. Ogg Video T ools tarjoaa tykaluja ogg-videotiedostojen luomista ja ksittely varten, mutta Oggz T ools tarjoaa joukon muita tykaluja, varsinkin oggtiedostojen analysointia varten. Ogg Video T ools voi ksitell videostreameja, jotka on luotu T heorakoodaajalla ja nistreameja, jotka on luotu Vorbis-koodaajalla. Oggz voi ksitell muita stream-formaatteja, kuten FLAC, Speex, CELT jne. Ogg Video Tools komentorivitykaluihin sisltyy:

oggSplit: jakaa useamman streamin ogg-tiedoston useampaan tiedostoon, joista jokaisessa on yksi streami. oggJoin: yhdist Ogg-ni (vorbis) ja Ogg-video (theora) tiedostot yhteen Ogg-tiedostoon. oggCut : luo uuden Ogg-tiedoston alkuperisen Ogg-tiedoston aliosana. oggCat : liitt kaksi tai useampia Ogg-tiedstoja. oggResize: muuttaa T heora tai Vorbis -streameja useammilla tavoilla. oggDump: tulsotaa kasan paketteja tai sivuja annetun Oggtiedoston sislt. oggLength: palauttaa annetun Ogg-tiedoston pituuden. oggSilence: luo vorbis-nitiedoston, jolla on annettu pituus, ja joka on tynn hiljaisuutta. Oggz Tools -komentorivitykalut sisltvt:

120

oggz-chop: erottaa osan Ogg-tiedostosta annettujen alku- ja loppuaikojen vlist. oggz-merge: yhdist Ogg-tiedostot yhteen, lomittaen tiedostot esitysaikajrjestykseen. oggz-sort : jrjest Ogg-tiedoston sivut esitysajan mukaan. oggz-rip: erottaa yhden tai useamman loogisen bittistreamin Ogg-tiedostosta. oggz-info: nytt tiedon Ogg-tiedoston kyttmist koodekeista. oggz-comment : listaa tai muokkaa kommentteja Ogg-streamin otsikkojen sisll. oggz-validate: tarkastaa Ogg-tiedoston yleisten ongelmien varalta. oggz-dump: tulostaa vedoksen pakettistreameista annetun Oggtiedoston sisll

121

37. VHN TEORIAA


T heora-videon editointi kytten komentorivin tykaluja, kuten Oggz T ools tai Ogg Video T ools, ei vaadi tietoa T heoran toiminnan tarkoista yksityiskohdista. Kuitenkin nm komentorivin tykalut prosessoivat T heoran tiedostoja hyvin matalalla tasolla. Joitain sivuvaikutuksia ilmenee, nit sivuvaikutuksia ei voida selit ilman T heora-formaatin yksityiskohtien ksittely. Jos uskot, ett voit el pienten editoinnin aiheuttamien eptarkkuuksien kanssa, voit hyvin jtt tmn luvun vliin.

THEORA-VIDEON ANATOMIA
Videotiedosto sislt normaalisti videostriimin ja audiostriimin. Molempien striimien varastointi yhteen tiedostoon vaatii silytysformaattia (container format). Silytysformaatti T heoravideota varten on Ogg, joka pit sislln T heora-videostriimin ja yhden tai useampia Vorbis-audiostriimej. Audio ja videostriimit tallennetaan vlikkin. T m merkitsee, ett jokainen striimi on segmentoitu muutamaan datablokkiin, jotka ovat lhes samaa kokoa. Nit blokkeja kutsutaan sivuiksi (page). Jokaisessa sivussa on aikaleima, joka antaa informaatiota sivun sijoituksesta striimin sisll. Video- ja audiostriimit ovat toistensa lomassa siten, ett molempien striimien sivut on liitetty yhteen nousevassa jrjestyksess aikaleimojensa mukaan.

DEMULTIPLEKSAUS
T eknisesti on helppoa jakaa videotiedosto video- ja audiostriimeihin. T m johtuu siit seikasta, ett kaksi striimi voidaan erottaa kermll video- ja audiosivut erillisiin tiedostoihin. Videotiedoston striimeihin jakavaa prosessia kutsutaan demultipleksaukseksi. Kaikki tarpeellinen toiston vaatima tieto on kertty striimien sisn, ilman ett Ogg-sili lis mitn tietoa. Jokainen tiedostoista itsessn on standardeihin sopiva Ogg-siltty striimi ja sit voi lukea mik tahansa T heora/Vorbis-yhteensopiva video- tai audiosoitin.

SIVUN AIKALEIMAT
Kuten aiemmin on mainittu, striimit tallennetaan jaettuna useiksi sivuiksi. Sivulla on otsikko, joka pit metadataa, joka kuvaa tmn osan video/audiostriimista. Otsikkoon sisltyy ajastusinformaatio, ainutlaatuinen striimintunnistusnumero, sivun numero ja jotain muuta tietoa.

122

Ogg-standardien mukaan ajastustieto jokaiselle sivulle annetaan jyvsijainnilla, 64-bittisell arvolla, joka on otsikossa. Kuinka jyvsijainti liittyy yhteen todellisen aikasijainnin kanssa on striimin mrittelem, se voi olla esimerkiksi mr millisekunteja videon alusta. T st syyst Ogg-tiedostoja ksittelevn ohjelman pit sislt jyvsijainnin tulkitsija, jotta se voi ksitell tiedostoa oikein. T mn tulkitsijan pit olla tietoinen koodeksita ja striimispesifist informaatiosta, jotta se voi tuottaa ajastustietoa, jota voidaan vertailla eri striimien vlill. Ogg-standardi tarkentaa ett kaikki sivut Ogg-tiedostossa tytyy tallentaa nousevassa aikajrjestyksess, vaikka se ei mrittele jyvsijaintien tulkintaa. Joten mik tahansa tykalu, joka leikkaa tai yhdist striimej tarvitsee toimivia jyvsijaintitulkkeja jokaista sislletty striimi varten, jotta sivut voidaan lomittaa oikein.

KOODEKKIDATAN KOTELOIMINEN
Sivut ovat miltei samaa kokoa oletusasetuksena (noin 4096 tavua). Kuitenkin audio- ja videopaketit, jotka tietty koodekki luo, eivt yleens sovi tsmlleen sivulle. Audiopaketit ovat yleens paljon pienempi. Videopaketit voivat olla monen kokoisia, pienempi tai suurempia, riippuen eri tekijist. Video- ja audiokoodekkien tuottama data koteloidaan ensin Oggpaketiksi. nm paketit sijoitetaan sitten Ogg-sivuille. Paketti voidaan tarpeen mukaan joko jakaa useammalle sivulle, tai yhdist muiden pakettien kanssa, jotta muuten osittain tyhj paketti tyttyy.

Theoran videodatan koteloiminen


Koodaajan kehittm T heoran videodata sislt kahdenlaisia Oggpaketteja: niin sanottuja avainkuvaruutuja (kutsutaan usein I-Frameksi), jotka ovat kokonaisia kuvia, ja P-Frameja, jotka kantavat ainoastaan viimeisimmn ja nykyisen kuvan eroja. Jotta annettu kuvaruutu voidaan nytt annettuna aikana, dekooderin tytyy tiet edellinen avainkuvaruutu ja sen tytyy dekoodata kaikki kuvaruudut (mukaanlukien avainkuvaruutu) annetun kuvaruudun tosiasialliseen aikasijaintiin asti. Jotta videota voi dekoodata, dekooderi tarvitsee tietoa striimist itsestn, esimerkiksi videon kuvaruutujen koosta. T m informaatio on sijoitettu otsikkopaketteihin striimin alkuun.

Vorbis-audiodatan koteloiminen
Enkooderin luoma Vorbis-audiodata kantaa tietyn mrn audionytteit. Nyte on audiodatan yksikk. Nytteiden mr Oggpaketissa on mrtty ja se voi vaihdella vain kahden mahdollisen koon vlill, kuten striimin otsikossa on mritelty. Videodatan tapaan audiodatapaketit ovat mys riippuvaisia toisistaan. Jotta yksi audiopaketti voidaan dekoodata, edellist pakettia tarvitaan. Audion dekoodaaja riippuu striimin parametreist, kuten nytetaajuudesta, bittitaajuudesta, jne. nm on tallennettu striimin otsikon paketteihin striimin alussa.

123

OGG-KEHIKKO
Kuten aiemmin sanottiin, videostriimi ei voi alkaa satunnaisesta ajankohdasta, sill siin on avainkuvaruutuja (I-Frame) ja deltakuvaruutuja (P-Frame). Lisksi audio on tallennettu paketeihin, joille on annettu ajoitusjyvt. Jotta synkronisaatio ja oikea aloituskohta on varmistettu, Oggkehikkosivut kantavat tietoa jokaisen striimin aloituspaikasta. Dekoodaaja, joka lukee Ogg-kehikon tietoa, voi sitten etsi oikean audio- ja videokohdan ja alkaa soittamaan tst kohdasta.

124

38. TIEDOSTON JAKAMINEN


Videotiedoston jakamista sen osastriimeihin kutsutaan usein demultipleksaukseksi. Komentorivin tykalu oggSplit Ogg Video T ools paketista tekee demultipleksauksen. Komento: oggSplit alkuperinenTiedosto.ogv T m komento uuttaa tiedoston alkuperinenTiedosto.ogv eri striimit erillisiin tiedostoihin. Se kytt seuraavaa nimemisjrjestelm luoduille tiedostoille: <koodekinNimi>_<ID>.<pte> KoodekinNimi on theora , vorbis tai unknown, riippuen striimin koodekin tyypist. Jokaisella striimill on erillinen tunnusnumero (ID), jonka asettaa koodaaja. T m ID on 32-bittinen numero, joka on yksilllinen joka striimiss yhden Ogg-tiedoston sisll. Koska voi olla enemmn kuin yksi ni- tai videostriimi tiedoston sisll (eli useita eri audiostriimej eri kielille), tt ID:t tarvitaan erottamaan ne toisistaan. Pte asetetaan sopimaan striimin sisltn.ogv on kytss videotiedostoille, oga nitiedostoille ja tuntemattomat striimit saavat ptteen ogg. Esimerkki:
# oggSplit myFile.ogv # ls theora_a1bb23c1.ogv

vorbis_a316522.oga

125

39. OGG-TIEDOSTON
LEIKKAUS
Video- ja audiostriimeist muodostuvan Ogg-tiedoston leikkaaminen osiin ajan mukaan, silytten samalla synkroniteetin ulostulon tiedostojen striimien vlill, on hieman hankalaa. T mn vuoksi sen tekemiseen on monta eri tapaa, tm luku antaa sinulle kuvan mahdollisuuksista ja niiden hyvist ja huonoista puolista. Videotiedostojen editointiin kytetyt tykalut voidaan jakaa tappiottomiin ja tappiollisiin tykaluihin. T appiottomat tykalut ksittelevt vain Ogg-striimin (ogg-sivut ja ogg-paketit). Niinp datan laatu silyy. T appiollisten tykalujen tytyy ensin dekoodata data mahdollistaakseen editoinnin ja sitten koodata ne uudestan, mik johtaa laadun menetykseen. T llainen editointi tarjoaa suurempaa joustavuutta (esimerkiksi se sallii kuvien asettamisen toistensa plle) laadun kustannuksella. T mn lisksi dekoodaus ja koodaus -prosessit vaativat paljon enemmn aikaa kuin pelkk Ogg-striimin pakettien ksittely. T m kappale ksittelee vain tykaluja, jotka leikkaavat videotiedostoja tappiotta.

KOMENTO OGGCUT
Komentorivin tykalu oggCut on tykalu, joka voi leikata Oggtiedostoja kuva kuvalta. Kyt sit nin:
oggCut -s <StartTime> -e <EndTime> originalFile.ogv createdFile.ogv

jossa <StartTime> ja <EndTime> annetaan millisekunteina. Vaihtoehtoisesti voit leikata kytten aloitusaikaa ja pituutta optiolla s:
oggCut -s <StartTime> -l <Length> originalFile.ogv createdFile.ogv

Mys tss <Length> mitataan millisekunteina. Kun oggCut ajetaan, se etsii ensimmist Ogg T heora -pakettia, jossa aikaleima on myhemmin tai samaan aikaan -s optiolla annetun ajan kanssa. Jos tm paketti lytyy, ohjelma etsii seuraavan avainkuvaruudun ja luo uuden tiedoston, jossa tuo avainruutu on ensimminen ruutu. Kun ohjelma lyt paketin, jossa aikaleima on suurempi kuin loppuaika, se sulkee uuden tiedoston ja lopettaa. Aloitusaika ei luultavasti ole avainkuvaruudun sijainti, luodusta tiedostosta tulee luultavasti oletettua pienempi.

Videon ja audion synkronisointiongelmat oggCutilla

126

Koska oggCut toimii vain pakettien rajoilla, ja koska Vorbis ja T heora striimipaketit eivt ole synkronisia, audio- ja videopaketit alkavat yleens eri aikaan. Kun oggCut luo uuden tiedoston, joka alkaa aikaan t , seuraava audiopaketti tulee luultavasti alkamaan hetkell t+x, jossa x on aikavli avainruudun videon ja seuraavan audiopaketin vlill. Kun nm kaksi striimi kirjoitetaan uuteen tiedostoon, aikavliin liittyv informaatio hukataan. Niinp soittimen tytyy olettaa, ett molemmat tiedostot alkavat ajasta 0. Niinp audiostriimi on aina hieman etuajassa. Kuitenkin, koska audioblokki on aika lyhyt, ero on yleens vain muutama millisekunti ja sit ei juurikaan huomaa.

KOMENTO OGGZ-CHOP
Ohjelma oggz-chop paketista oggz-tools leikkaa T heora-videoita mist tahansa pyydetyst kohdasta. Jos vlttmtnt, se leikkaa eiavainkuvaruutujen kohdalta tai jopa keskelt ruudun esitysaikaa. T eknisesti tmn kaltainen hienojyvinen leikkaus ei ole mahdollista T heora-videotekniikalla. Se saavutetaan tempulla: sen sijaan ett video todella leikattaisiin pyydetyst kohdasta, se leikataan lhimmst sijainnista, jolloin tuloksena oleva videotiedosto on pidempi kuin pyydetn. Sitten niinsanottu Ogg-kehyksen otsikko listn videoon, ja se ohjaa soittimen soittamaan vain todellisuudessa pyydetyn osan videosta. Ylimriset videoruudut, joita ei voitu leikata videosta, ovat edelleenkin paikallaan, ne on vain piilotettu toiston aikana. T mn toimintatavan huonot puolet ovat selkeit: toisaalta levytilaa hukataan tallentamalla turhaa tietoa, toisaalta leikattu uusi tiedosto toistuu oikein vain soittimissa, jotka ymmrtvt Ogg-kehikon tietoja. T oinen vhemmn selke ongelma on, ett tll tavalla tehtyj tiedostoja ei voi liitt ilman, ett piilotettu osa ilmestyy esiin. T m johtuu siit, ett Ogg-kehys voi piilottaa vain kuvaruutuja videon alussa ja lopussa. Kahden videon yhdistminen tll tavalla jtt ktkettyj ruutuja videon keskelle - tt Ogg-kehys ei tue. Kun nyt ymmrrt oggz-chopin kyttn liityvt ilmit, voimme kokeilla sen kytt:
oggz-chop -s <StartTime> -e <EndTime> originalFile.ogv createdFile.ogv

T ss <StartTime> ja <EndTime> on spesifioitu muodossa <Hour>:<Minute>:<Second>. <Second> voi sislt murto-osan, joten olet vapaa spesifioimaan sen mill tahansa resoluutiolla. Meidn tytyy mainita toinen vaihtoehto: voit ajaa oggz-chopin lipulla k pakottaaksesi sen jttmn pois kaiken Ogg-kehyksen tiedon. T ll tavalla leikkauksen jyvllisyys on rajotettu avainkuvaruutuihin ja voit olla varma, ett luotu tiedosto toistuu oikein jopa vanhemmissa soittimissa, jotka eivt tue kehyst.

127

40. STREAMIEN LIITTMINEN


Ogg Video T ools tarjoaa komentorivin tykalun oggJoin kahden tai useamman streamin limittmiseksi yhteen T heora-videotiedostoon. Se voi tulkita sivun jyvn sijainnin ja limitt streamit, mikli ne sisltvt T heora-videota tai Vorbis-nt. T t prosessia kutsutaan mys multipleksaukseksi.

Synopsi: oggJoin uusiTiedosto.ogv streami1.ogv streami2.oga [ streami3.oga [...] ] Huomaa: Videostreamin (.ogv) tytyy olla ensimmisen. Vaikka oggJoin sallii streamien yhdistmisen mihin tahansa jrjestykseen, T heora-standardi vaatii, ett videostreami on ensimminen streami. Esitettyn oikein: T heoran otsikon tytyy olla ensimminen otsikko multipleksatussa tiedostossa, jotta soittimet voivat erottaa pelkstn nt sisltvt tiedostot videotiedostoista. T m saavutetaan asettamalla videostreami ensimmiseksi streamiksi listalla, kuten synopsissa nytetn.

128

41. OGG-TIEDOSTOJEN
LIITOSTAMINEN
Liittksesi kaksi tai useampia Ogg-tiedostoja, joilla on audio- ja videostriimit, yhteen videotiedostoon ilman uutta koodausta on helppoa, mutta se voi johtaa samoihin synkronisointiongelmiin kuin oggCutin kytt. Komentorivin tykalu oggCat luo uuden Ogg-tiedoston joukosta muita Ogg-tiedostoja.

Komento:
oggCat outputFile.ogv inputfile1.ogv inputfile2.ogv [ inputfile3.ogv [ .. ] ]

Kaikkien striimien parametrien tytyy sopia yhteen, jotta voit luoda Ogg-tiedoston. Jos yksi tai useampi sytttiedoston parametri ei sovi yhteen, se tiedosto jtetn huomiotta, mutta ulostulotiedoston luomisen prosessi jatkuu. Ulostulotiedosto on toimiva Ogg-tiedosto. Se ei vain ole se Ogg-tiedosto, jota haluttiin.

PROSESSI
oggCat lukee ensin tiedoston niin kuin se on. Kuitenkaan se ei ksittele tuntemattomia striimej eik integroi niit ulostulotiedostoon. Lytkseen vastaavan striimin seuraavista Ogg-tiedostoista, oggCat luo parametritaulukon, jossa on kaikki tarpeellinen tieto ensimmisen tiedoston striimeist (inputfile1.ogv), jolloin ensimminen tiedosto toimii "referenssin". Seuraavissa tiedostoissa (inputfile2.ogv inputfile3.ogv ...) olevat striimit on testattu viitetaulukon parametrej vastaan, joten ne eivt voi olla samassa jrjestyksess viitetiedoston kanssa. Esimerkki:
Ensimmisess O gg-tiedostossa on yksi Theora ja yksi Vorbis -striimi. Theora-striimin videolla on 320x240 pikselin kuvakoko ja Vorbisaudiostriimill on 32 kHz nytetaajuus. Seuraava tiedosto sislt kolme striimi: kaksi Theora-striimi ja yhden Vorbis-striimin. oggCat-komento voi yhdist ne niin kauan kuin on ainakin yksi Theora-striimi, jossa on yhteensopivat parametris (320x240 pikselin kuvakoko) ja audiostriimin parametrit sopivat mys yhteen. Toisessa Theora-striimiss voi olla mit tahansa parametrej.

Jos yhdenkn striimin parametrit eivt ole yhteensopivat, oggCat tulostaa rivin, joka ehdottaa kuinka tiedosto voidaisiin koodata uudestaan:
vorbis parameter compare: data rate not matching 32000 != 64000 You may try to reencode with the datarate of the other file Please try to resample with the following command oggResize -D 32000 <file see below>

129

CAT-KOMENNON KYTT
T oinen tapa yhdist kaksi videota on yhden tiedoston liittminen toisen tiedoston pern komentorivitykalulla cat . T m metodi laukaisee soittimen aloittamaan uuden dekoodaussession seuraavaa striimi varten. Ogg-standardi sallii striimin avaamisen toisen striimin loppumisen jlkeen, mutta useimmat soittimet eivt toteuta tt dekooderin session avauksen menetelm. Niinp metodi tulisi aina testata soittimilla, joita voidaan kytt tmn session jlkeen.

OGGCAT JA OGGZ-CHOP
Kun tiedosto on luotu oggz-chop -komennon avulla, yhdistminen ei ole mahdollista, sill oggCat toimii eri tavalla. T m johtuu siit, ett tiedostot, joissa on kehikko, ja eri aikamittaukset, jotka on mritelty tss kehikossa joka striimille (kuten on tapaus useimpien oggz-chopilla luotujen tiedostojen suhteen) ei voida liitt yhteen jatkuvaan striimiin. T mn kytksen aiheuttaa se tosiseikka, ett kaksi ogg-striimi voisi menn pllekkin. Esitetyt kuvaruudut olisivat esittmttmien pll, koska niit tarvitaan vain ensimmisen videoruudun dekoodaukseen. T m ei ole mahdollista yhdess Ogg-striimiss.

OGGCATIN SYNKRONISOINTIONGELMAT
Yhden Ogg-tiedoston eri striimit eivt vlttmtt ole (tsmlleen) samanpituisia. Yhdistmisprosessin aikana seuraava Ogg-tiedosto yhdistmislistalla laitetaan suoraan vastaavien edellisen tiedoston striimien pern ilman mitn aikavli. Niinp seuraavan tiedoston synkronisointi krsii ensimmisen tiedoston eptarkasta striimin pttymisest.

130

42. OGGRESIZE
Komentorivin tykalu oggResize voi muuttaa ogg-tiedoston (ogg, oga tai ogv) leveytt ja korkeutta eri tavoilla. Kuitenkin se ksittelee vain Ogg T heora ja Vorbis -striimej. oggResizen etu muihin tykaluihin verrattuna on, ett se muokkaa vain striimit, joita tytyy muuttaa. Striimit, jotka eivt tarvitse muunnosta, jvt vaille vaikutuksia. oggResize voi muuttaa videoruudun kokoa , videon tai audion datataajuutta tai videon kuvataajuutta tai nen nytetaajuutta . Se voi mys list kommentteja mihin tahansa striimiin ja voi sislt PNG-kuvia,joissa on alfa-kanava, joten ne renderidn videoon milloin tahansa ennen tai jlkeen koon muuttamisen.

Komento:
o g g R e s i z e [ o p ti o t] i n p u tf i l e .o g v o u tp u tf i l e .o g v

Mahdolliset optiot ovat: -s asettaa videoruudun koon. Koko annetaan muodossa <levets>x<korkeus>. Oletuskoko on 480x320. Oletuksena videoruudun suhteet pidetn samoina, joten jos uuden videoruudun koko ei sovi suhteisiin, oggResize lis mustat rajay yls, alas, oikealle ja vasemmalle, jotta se sopii uusiin kokosuhteisiin. jos tahdot venytt videoruudut uuteen kokoon, kyt -t -optiota. Esimerkki: -s 320x240 -d asettaa bittinopeuden bittein sekunneissa videokoodaajaa (theora) varten. T mn on tarkoitus olla ylempi sietokynnys. T iedosto voi siis olla oletettua pienempi. Jos sit ei ole asetettu, alkuperisen striimin bittinopeutta kytetn. Esimerkki: -d 1024000 -D asettaa bittinopeuden bittein sekunnissa audiokoodaajaa (vorbis) varten. Jos sit ei ole asetettu, alkuperisen striimin bittinopeutta kytetn. Esimerkki: -D 64000 -f asettaa videon ruutunopeuden numeraattorilla ja denominaattorilla, ja on ruutuja sekunnissa. Jos vain yht numeroa kytetn, denominaattori on 1. Jos tt ei aseteta, alkuperisen videon ruutunopeutta kytetn. Esimerkki: -f 25:2 -F asettaa audiodatan nytetaajuuden Hertzein. Jos nytetaajuus ei sovi alkuperiseen tiedostoon, uudelleensmplyst kytetn.

131

Esimerkki: -F 32000 -t jos tm optio on asetettu, kuvaa venytetn ulostulokokoon. T ss tapauksessa ulos tulevan videon kuvasuhde ei vlttmtt vastaa alkuperisen videon ruudun kuvasuhdetta. T m optio auttaa poistamaan mustat reunat, jotka ilmestyvt, jos alkuperisen videon ja uuden videon kuvasuhteet eivt sovi yhteen. Esimerkki: -t -c lis kommentteja videon (theora) striimiin. Kommentit ovat muodossa 'tyyppi=arvo'. Useampi kuin yksi kommentti voidaan liitt yhteen puolipisteell. Suositellaan, ett heittomerkkej (') kytetn, sill komentorivi voi kytt puolipistett jakomerkkin. Esimerkki: -c 'AUTHOR=yorn;DATE=03.07.09' -C lis kommentteja audion (vorbis) striimiin. Kommentit ovat muodossa 'tyyppi=arvo'. Useampi kuin yksi kommentti voidaan yhdist puolipisteell. On suositeltavaa, ett heittomerkkej (') kytetn, sill komentorivi voi pit puolipistett vlimerkkin. Esimerkki: -C 'AUTHOR=yorn;DATE=03.07.09' -q asettaa laadun. Arvot voivat olla vlilt 1 (paras laatu, hieman eptarkkuutta) ja 6 (huonoin laatu). Oletusarvo on 2. Esimerkki: -q1 -p luo esikatselufilmin. T lle optiolle annettu numero valitsee vliajan valittujen ruutujen vlill, esimerkiksi -p24 merkitsee, ett joka 24:s ruutu on valittu, nytetty. Uudelleen luotu video toistuu siis 24 kertaa nopeammin. T m optio voidaan yhdist -f -optioon, joka kontrolloi ruutunopeutta. Molemmilla optiolla voidaan luoda miellyttvi videoesikatseluita. Jos -p on kytss, audiostriimi jtetn huomiotta. Esimerkki: -p 24 -a lis kuvan videoruutuun ennen sen koon muuttamista. Kuvan ei tarvitse sopia videoruutuun. Se sijoitetaan aina videoruudun vasempaan ylkulmaan. Esimerkki: <picture1.png>[,<startTime>[,<endTime>[,s]]] Oletusarvoinen aloitusaika on 0. Oletusarvoinen lopetusaika on -1. Oletusarvoisesti s ei aseteta. T ss tapauksessa kuva ei hivy pimeyteen. Jos s on asetettu, kuva hipyy pimeyteen. On mahdollista asettaa enemmn kuin yksi kuva videoruutuun. Kyt kaksoispistett (:) yhdistksesi ilmaukset. Jos aikajanat ovat pllekkin, kuvat asetetaan toistensa plle, jolloin viimeinen kuva on etualan taso. Esimerkki: -a etwas.png,2,7,s:etwasneues.png,5,10 -A lis kuvan videoruutuun sen koon muuttamisen jlkeen. Syntaksi on sama kuin ilmaisussa -a -option kanssa.

132

ESIMERKKEJ
Videoruudun koon ja bittinopeuden muutos:
oggResize -s320x240 -d512000 orig.ogv new.ogv

T m komento muuttaa videotiedoston orig.ogv uudeksi videotiedostoksi new.ogv. Uuden videon ruutukoko on asetettu 320x240 pikseliin ja bittinopeus on asetettu 512 kByte/s. Jos alkuperisen tiedoston parametrit sopivat uusiin parametreihin, videostriimi on vain kopioitu, ilman datan muuttamista. Jos videon ruutukoko on muuttunut, se on muutettu uuteen kokoon sopivien algoritmien avulla. Jos tiedostossa orig.ogv oli audiostriimi, se on kopioitu uuteen tiedostoon. Audion bittinopeuden, nytenopeuden ja kanavien mrn muuttaminen:
oggResize -D64000 -F16000 -N1 orig.ogv new.ogv

T m komento muuttaa vain nistriimin tiedostosta orig.ogv nytenopeuteen, joka on 16kHz, bittinopeuteen, joka on 64 kBytes/s, ja yksikanavaiseksi. Kuten videon kanssa, nistriimi koodataan uudelleen, jos annetut parametrit eivt sovi niihin, jotka ovat vorbis-nistriimiss. Videostriimi kopioidaan sellaisena kuin se on. T m on hyvin nopea tapa koodata ainoastaan audiostriimi uudelleen, ilman muita proseduureja, kuten ogg-tiedoston striimien jakamista ja uudelleen liittmist. Videoruudun koon muuttaminen, nen bittinopeuden muuttaminen, kahden kuvan lisminen videon plle tietyksi ajanjaksoksi:
oggResize -s300x200 -D32000 -d1024000 -A etwas.png,2,7,s:etwasneues.png,5,10 \ orig.ogv new.ogv

T m komentorivi muuttaa ni- ja videostriimin, kuten kuvattu yll aiemmin mainituissa esimerkeiss. Lisksi se lis kuvan PNG-muodossa ja alfa-kanavan etwas.png videoon kohdasta 2 sekuntia kohtaan 7 sekuntia, pehmell sisn- ja uloshivytyksell, ja kuva etwasneues.png on sijoitettu videoruudun plle sekunnista 5 sekuntiin 10 ilman mitn feidausta.

133

43. OGG-TIEDOSTOJEN
ANALYSOIMINEN
On olemassa joukko tykaluja, joilla voi analysoida Ogg-tiedostoja. Nm ovat paketeissa Vorbis tools, oggz tools ja Ogg Video Tools. Aivan kuin editoinnin tykalut, nm tykalut voivat sislt pllekkisi toimintoja, tss keskitymme kuitenkin tarjolla olevien tykalujen normaaliin kyttn ja kyttalueisiin. T ss keskustellaan seuraavista tykaluista: Paketista Vorbis tools: ogginfo Paketista oggz tools: oggz-info oggz-comment oggz-validate oggz-sort oggz-dump oggz-sort Paketista Ogg Video Tools: oggDump oggLength

TIETOA OGG-TIEDOSTOSTA
Jos tahdot saada tietoa tiedoston sisll saatavilla olevista striimeist ja niden striimien luonteesta, kyt ogginfo tai oggz-info. $ oggz-info big_buck_bunny_480p_stereo-small.ogv Content-Duration: 00:09:56.384 T heora: serialno 000002057 3 9546 packets in 67 97 pages, 1.4 packets/page, 1.037 % Ogg overhead Video-Framerate: 16.000 fps Video-Width: 320 Video-Height: 240 Vorbis: serialno 0000003594 18641 packets in 57 6 pages, 32.4 packets/page, 1.412% Ogg overhead Audio-Samplerate: 16000 Hz Audio-Channels: 2 Printattu ulostulo on tss lista Ogg-tiedostossa saatavilla olevista striimeist ja striimien parametreist (esimerkiksi T heorassa videon kuvan koko ja kuvataajuus ja kanavanumero, Vorbisissa nytetaajuus ja kanavanumero). ogginfo jopa printtaa viel yksityiskohtaisempaa tietoa, kuten versiotiedot ja kaiken tiedon, jota on saatavilla videon ja audion otsikkotpaketeista, kuten kuvan ja nen otsikkopaketeista, esimerkiksi kuvan kokosuhde tai vriavaruudet. oggz-info voi kertoa sinulle enemmn Ogg-tiedostosta. Varsinkin -a optio kertoo sinulle viel yksityiskohtaisempaaa tietoa tiedostostasi. Kuitenkin tm tieto on pasiassa tilastollista.

134

Lukeaksesi tai editoidaksesi kommenttikentti, jotka tulevat jokaisen striimin mukana Ogg-tiedostossa. T t varten oggz-tykalut tarjovat oggz-comment komentorivitykalun. Esimerkki kommenttien printtaamisesta.
$ oggz-comment -l big_buck_bunny_480p_stereo-small.ogg Theora: serialno 0000020573 Vendor: Xiph.O rg libTheora I 20081020 3 2 1 ENCO DER: oggvideotools-0.8-win32 Vorbis: serialno 0000003594 Vendor: Xiph.O rg libVorbis I 20090514 ENCO DER: oggvideotools-0.8

Listksesi kommentin, lis "T ag=Value" -pari komentorivin loppuun.


$ oggz-comment big_buck_bunny_480p_stereo-small.ogg -o bigbuck_comment.ogv \ "LICENCE=Creative Commons CC-BY-SA" $ oggz-comment -l bigbuck_comment.ogv Theora: serialno 0000020573 Vendor: Xiph.O rg libTheora I 20081020 3 2 1 ENCO DER: oggvideotools-0.8-win32 LICENCE: Creative Commons CC-BY-SA Vorbis: serialno 0000003594 Vendor: Xiph.O rg libVorbis I 20090514 ENCO DER: oggVideoTools 0.8 LICENCE: Creative Commons CC-BY-SA

Voit list kommentin vain yhteen tarjolla olevaan striimiin tai poistaa kommentteja. Ole hyv ja katso apusivuja nist kehittyneemmist vaihtoehdoista.

OGG-TIEDOSTON YKSITYISKOHTAINEN ANALYYSI


Kehittjien on usein hydyllist katsoa streamia itsen ja analysoida, onko Ogg-tiedosto yhteensopiva Ogg-standardin kanssa. T iedoston validoimiseksi voit kytt komentorivitykalua oggzvalidate:
$ oggz-validate input.ogv input.ogv: Error: serialno 1101839243: Terminal header page has non-zero granulepos serialno 1101839243: Terminal header page contains non-header segment

Varsin yleinen ongelma on, ett oggz-validate voi raportoida huonosti jrjesteltyj Ogg-tiedostoja. Nm toimivat yleens, mutta voivat aiheuttaa ongelmia, kuten ajoittaista pyshtely, tai list muistin kytt. T ykalu oggz-sort voi auttaa korjaamaan nm jrjestysongelmat:
$ oggz-sort -o output.ogv input.ogv

Paljon tarkempi kuva saadaan tykaluilla oggz-dump ja oggDump. Molemmat nist tykaluista kirjoittavat yksityiskohtaista ulostulotietoa konsoliin. oggz-dump voi tuoda pakettien ulostulon kaikista tai joistain erityisist striimeist annetun Ogg-tiedoston sisll.
$ oggz-dump myfile.ogv [ ... ] 0b40: 6f13 abc9 f3ac 9dc2 cec5 9c62 0e70 1fab 0b50: f891 01a8 0633 430e 308a 6f8c 86c3 131a

o..........b.p.. .....3C.0.o.....

135

0b60: 3ab6 840d edab e79f fe24 a4 00:00:32.104: serialno 0938763527, calc. 269 bytes 0000: 3eb7 e92b 50b4 0028 a93c 8bc4 0010: 1d58 0000 0080 5f03 db01 ee92 0020: d73f 2562 feeb de81 94fe 75fb 0030: 18c0 b830 619f b6c5 cf0d 00f3 [ ... ]

:.. .....$. gpos 513664, packetno 1022: 0039 2482 b7ff b5f5 0948 48dd decf bbbd >..+P..(.<...9 H .X...._.....$.H. .?% b......u..... ...0a.... ......

Komennon oggDump avulla voit ptt, jos tahdot nhd sivut tai pakettitiedot Ogg-tiedostosta asettamalla -p (paketti) tai -g (sivu) option. Edelleenkin voit spesifioida striimin detaljitason kyttmll -l (detail) asetusta. Detaljit voidaan asettaa arvosta 1 (ei yksityiskohtia) arvoon 5 (eniten yksityiskohtia):
$ oggDump -l3 -g myVideo.ogv [ ... ] O gg Page: header length = 42 and body length = 3600 Header Information: O gg Version : 0 Serial No : 0x37f46507 Packet Type : fresh packet Page Type : normal page Last Page : normal page G ranule Position : 0(0x0) Page Number : 1 Checksum : 0x5ced317c Table Segments : 15 Segments: 67 ff ff ff ff ff ff ff ff ff ff ff ff ff b6 Header Hex dump: 4f 67 67 53 00 00 00 00 00 00 00 00 00 00 07 65 f4 37 01 00 00 00 7c 31 [ ... ]

VINKKEJ JA TEMPPUJA
T m osuus listaa joitain hydyllisi tapoja, joilla voi kytt useita yll kuvattuja tykaluja.

Striimin ajallinen kesto


Videon ajallisen pituuden saamiseksi selville voit kytt komentoa oggz-info tai ogginfo, mutta tss tapauksessa joudut hankkimaan informaation skriptill ulostulon kautta. oggLength antaa sinulle toisen tavan saada pituus ulos suoraan, jotta voit kytt sit helpommin. Luo Ogg Vorbis -tiedosto, joka on tynn hiljaisuutta, ja sopii tsmlleen videoon
$ oggSilence -l`oggLength videoFile.ogv` -o audioSilence.oga

nileikkeen luominen videon osasta


Nm kaksi komentoa tallentavat lyhyen viiden sekunnin nileikkeen kohdasta, joka alkaa videon kestetty 40 sekuntia.
$ oggz-rip -c vorbis video.ogv -o temp.ogg $ oggz-chop -s 40 -e 45 -o soundbyte.ogg temp.og

Listn tekstitykset striimin sisn

136

Oletko tehnyt saksankielisen tekstityksen englanninkieliseen videoon, jonka lysit netist?


$ kateenc -t srt -l de -c SUB -o subtitles.ogg subtitles.srt $ oggz-merge -o video-with-german-subtitles.ogv original-video.ogv subtitles.ogg

Kaikkien striimin pakettien saaminen hyvin pakattuna

$ oggz-dump video.ogv | grep packetno | less

00:00:00.437 : serialno 000002057 3, calc. gpos 0|7 , packetno 10: 414 bytes 00:00:00.500: serialno 000002057 3, calc. gpos 0|8, packetno 11: 692 bytes 00:00:00.562: serialno 000002057 3, calc. gpos 0|9, packetno 12: 600 bytes 00:00:00.625: serialno 000002057 3, granulepos 0|10, packetno 13: 859 bytes 00:00:00.687 : serialno 000002057 3, calc. gpos 0|11, packetno 14: 7 00 bytes 00:00:00.7 50: serialno 000002057 3, calc. gpos 0|12, packetno 15: 1.154 kB 00:00:00.812: serialno 000002057 3, calc. gpos 0|13, packetno 16: 87 8 bytes 00:00:00.87 5: serialno 000002057 3, granulepos 0|14, packetno 17 : 1.342 kB 00:00:00.000: serialno 0000003594, calc. gpos 0, packetno 3: 118 bytes 00:00:00.032: serialno 0000003594, calc. gpos 512, packetno 4: 115 bytes 00:00:00.064: serialno 0000003594, calc. gpos 1024, packetno 5: 127 bytes

137

TEKIJT
44. LISENSSI

138

44. LISENSSI
Kaikki kappaleet ovat kirjoittajien tekijnoikeuden alaisia. Jos muuten ei sanota, kaikki luvut tss kyttoppaassa on lisensoitu GNU General Public License version 2 mukaisesti. T m dokumentaatio on vapaata dokumentaatiota: voit jakaa sit eteenpin ja/tai muokata sit Free Software Foundationin GNU General Public License mukaisesti; joko lisenssin version 2, tai (tahtoessasi) mink tahansa myhemmn version. Dokumentaatiota jaellaan siin toivossa, ett se on kyttkelpoisa, mutta ILMAN MIT N T AKUUT A; ilman edes MYYT VYYDEN tai T IET T YYN KYT T N SOPIVUUDEN oletettua takuuta. Katso listietoja GNU General Public Licensest. T mn dokumentaation mukana olisi pitnyt tulla kopio GNU General Public Licensest, mikli sit ei tullut kirjoita osoitteeseen Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

SUOMENKIELISEN VERSION KNTJT JA KIRJOITTAJAT


OGG T HEORA Muokkaukset: OGG T HEORA Muokkaukset: TomiToivio - Tomi Toivio 2012 , 2011 T ST KYT T OPPAAST A Muokkaukset: TomiToivio - Tomi Toivio 2012 T ST KYT T OPPAAST A Muokkaukset: MIT VIDEO ON? Muokkaukset: MIT VIDEO ON? Muokkaukset: TomiToivio - Tomi Toivio 2012 MIT T HEORA ON?

139

Muokkaukset: MIT T HEORA ON? Muokkaukset: TomiToivio - Tomi Toivio 2012 MIK ON KOODEKKI? Muokkaukset: TomiToivio - Tomi Toivio 2011, 2012 KOODEKIT Muokkaukset: SILT Muokkaukset: SILT Muokkaukset: TomiToivio - Tomi Toivio 2012 KUINKA T HEORAA T OIST ET AAN Muokkaukset: T HEORAN T OIST AMINEN Muokkaukset: TomiToivio - Tomi Toivio 2011, 2012 VLC Muokkaukset: T OIST O VLC:LL Muokkaukset: TomiToivio - Tomi Toivio 2011, 2012 MIRO Muokkaukset: TomiToivio - Tomi Toivio 2012 MIRO Muokkaukset: T HEORA VERKOSSA Muokkaukset: TomiToivio - Tomi Toivio 2011, 2012 T HEORAN KYT T VERKOSSA

140

Muokkaukset: TomiToivio - Tomi Toivio 2011 HT ML5 Muokkaukset: TomiToivio - Tomi Toivio 2012 HT ML5 Muokkaukset: T HEORA SIVUILLASI Muokkaukset: T HEORA SIVUILLASI Muokkaukset: TomiToivio - Tomi Toivio 2012 HOT ELLEJA T HEORALLE Muokkaukset: HOT ELLEJA T HEORALLE Muokkaukset: TomiToivio - Tomi Toivio 2012 ENKOODAUKSEN PERUST EET Muokkaukset: JOHDANT O ENKOODAUKSEEN Muokkaukset: TomiToivio - Tomi Toivio 2011, 2012 FIREFOGG Muokkaukset: TomiToivio - Tomi Toivio 2012 FIREFOGG Muokkaukset: ENKOODAUS VLC:LL Muokkaukset: TomiToivio - Tomi Toivio 2011, 2012 VLC Muokkaukset:

141

ENKOODAUS FFMPEG2T HEORALLA Muokkaukset: TomiToivio - Tomi Toivio 2011, 2012 FFMPEG2T heora Muokkaukset: T HOGGEN Muokkaukset: TomiToivio - Tomi Toivio 2012 T HOGGEN Muokkaukset: T EKST IT YKSIEN PERUST EET Muokkaukset: TomiToivio - Tomi Toivio 2011, 2012 JOHDANT O T EKST IT YKSIIN Muokkaukset: JAKELU Muokkaukset: TomiToivio - Tomi Toivio 2012 JAKELU Muokkaukset: T EKST IT YKSIEN LIIT T MINEN Muokkaukset: T EKST IT YKSIEN LIIT T MINEN Muokkaukset: TomiToivio - Tomi Toivio 2012 T EKST IT YKSIEN T OIST AMINEN Muokkaukset: T EKST IT YKSIEN T OIST AMINEN Muokkaukset: TomiToivio - Tomi Toivio 2012 JULKAISEMINEN Muokkaukset:

142

JULKAISEMINEN Muokkaukset: TomiToivio - Tomi Toivio 2012 SUORAT OIST ON PERUST EET Muokkaukset: TomiToivio - Tomi Toivio 2011, 2012 MIT ON SUORAT OIST O Muokkaukset: ICECAST Muokkaukset: ICECAST Muokkaukset: TomiToivio - Tomi Toivio 2012 T SS Muokkaukset: T SS Muokkaukset: TomiToivio - Tomi Toivio 2012 FFMPEG2T HEORA-ST REAMAUS Muokkaukset: TomiToivio - Tomi Toivio 2011, 2012 FFMPEG2T HEORA Muokkaukset: VLC-ST REAMAUS Muokkaukset: TomiToivio - Tomi Toivio 2011, 2012 VLC Muokkaukset: VIRT AUST OIST ON T ALLENT AMINEN Muokkaukset: TomiToivio - Tomi Toivio 2012 VIRT AUST OIST ON T ALLENT AMINEN

143

Muokkaukset: JOHDANT O EDIT OIT IIN Muokkaukset: TomiToivio - Tomi Toivio 2011, 2012 EDIT OINNIN PERUST EET Muokkaukset: PIT IVI Muokkaukset: PIT IVI Muokkaukset: TomiToivio - Tomi Toivio 2012 ESIKAT SELUN KYT T Muokkaukset: TomiToivio - Tomi Toivio 2011, 2012 ESIKAT SELUN KYT T Muokkaukset: TomiToivio - Tomi Toivio 2011 T EE ESIKAT SELUKUVIA Muokkaukset: T EE ESIKAT SELUKUVIA Muokkaukset: TomiToivio - Tomi Toivio 2012 T EE DIAESIT YS Muokkaukset: TomiToivio - Tomi Toivio 2012 T EE DIAESIT YS Muokkaukset: T EE ESIKAT SELUVIDEO Muokkaukset: T EE ESIKAT SELUVIDEO Muokkaukset: TomiToivio - Tomi Toivio 2012 T HEORA JA KOMENT ORIVI

144

Muokkaukset: TomiToivio - Tomi Toivio 2011, 2012 KOMENT ORIVIN KYT T Muokkaukset: T HEORAN T EORIA Muokkaukset: TomiToivio - Tomi Toivio 2012 T HEORAN T EORIA Muokkaukset: T IEDOST ON JAKAMINEN Muokkaukset: TomiToivio - Tomi Toivio 2012 T IEDOST ON JAKAMINEN Muokkaukset: T IEDOST ON LEIKKAAMINEN Muokkaukset: T IEDOST ON LEIKKAAMINEN Muokkaukset: TomiToivio - Tomi Toivio 2012 T IEDOST OJEN LIIT T MINEN Muokkaukset: TomiToivio - Tomi Toivio 2012 T IEDOST OJEN LIIT T MINEN Muokkaukset: T IEDOST OJEN YHDIST MINEN Muokkaukset: T IEDOST OJEN YHDIST MINEN Muokkaukset: TomiToivio - Tomi Toivio 2012 KOON MUUT T AMINEN Muokkaukset: KOON MUUT T AMINEN

145

Muokkaukset: TomiToivio - Tomi Toivio 2012 OGGIN ANALYSOIMINEN Muokkaukset: OGGIN ANALYSOIMINEN Muokkaukset: TomiToivio - Tomi Toivio 2012 T EKIJT Muokkaukset: T EKIJT Muokkaukset: TomiToivio - Tomi Toivio 2012

TST KYTTOPPAASTA T omi T oivio 2009, 2010 OGGIN ANALYSOIMINEN T omi T oivio 2009, 2010 VIRTAUSTOISTON TALLENTAMINEN T omi T oivio 2009, 2010 Modifications: T omi T oivio 2009 TIEDOSTOJEN YHDISTMINEN T omi T oivio 2009, 2010 KOODEKIT T omi T oivio 2009, 2010 Modifications: T WikiGuest 2009 SILT T omi T oivio 2009, 2010, 2011 JAKELU T omi T oivio 2009, 2010 TEE ESIKATSELUVIDEO T omi T oivio 2009, 2010

146

TEE DIAESITYS T omi T oivio 2009, 2010 TEE ESIKATSELUKUVIA T omi T oivio 2009, 2010 TEKIJT adam hyde 2006, 2007 Modifications: T omi T oivio 2009, 2010 TIEDOSTON LEIKKAAMINEN T omi T oivio 2009, 2010 JOHDANTO T omi T oivio 2009, 2010 TEKSTITYKSIEN LIITTMINEN T omi T oivio 2009, 2010 JOHDANTO T omi T oivio 2009, 2010 Modifications: T omi T oivio 2009 FFMPEG2Theora T omi T oivio 2009, 2010 Modifications: T omi T oivio 2009 FFMPEG2THEORA T omi T oivio 2009, 2010 Modifications: T omi T oivio 2009 FIREFOGG T omi T oivio 2009, 2010 Modifications: T omi T oivio 2009 HTML5 T omi T oivio 2009, 2010 Modifications: T omi T oivio 2009

147

HOTELLEJA THEORALLE T omi T oivio 2009, 2010 Modifications: T omi T oivio 2009 ICECAST T omi T oivio 2009, 2010 JOHDANTO adam hyde 2006, 2007 Modifications: T omi T oivio 2009, 2010 T WikiGuest 2009 T omi T oivio 2009 TIEDOSTOJEN LIITTMINEN T omi T oivio 2009, 2010 JOHDANTO T omi T oivio 2009, 2010 MIRO T omi T oivio 2009, 2010 Modifications: T omi T oivio 2009 THEORA SIVUILLASI T omi T oivio 2009, 2010 Modifications: T omi T oivio 2009 KOON MUUTTAMINEN T omi T oivio 2009, 2010 JOHDANTO T omi T oivio 2009, 2010 Modifications: T omi T oivio 2009 PITIVI T omi T oivio 2009, 2010 KUINKA THEORAA TOISTETAAN T omi T oivio 2009, 2010 TEKSTITYKSIEN TOISTAMINEN T omi T oivio 2009, 2010

148

JULKAISEMINEN T omi T oivio 2009, 2010 Modifications: T omi T oivio 2009 TIEDOSTON JAKAMINEN T omi T oivio 2009, 2010 JOHDANTO T omi T oivio 2009, 2010 Modifications: T omi T oivio 2009 TSS T omi T oivio 2009, 2010 Modifications: T omi T oivio 2009 THEORAN TEORIA T omi T oivio 2009, 2010 THOGGEN T omi T oivio 2009, 2010 Modifications: T omi T oivio 2009 VLC T omi T oivio 2009, 2010 Modifications: T omi T oivio 2009 VLC T omi T oivio 2009, 2010 Modifications: T omi T oivio 2009 VLC T omi T oivio 2009, 2010 MIT ON SUORATOISTO T omi T oivio 2009, 2010 Modifications: T omi T oivio 2009 MIT THEORA ON? T omi T oivio 2009, 2010 Modifications: T omi T oivio 2009

149

MIT VIDEO ON? T omi T oivio 2009, 2010 JOHDANTO T omi T oivio 2009, 2010

ENGLANNINKIELISEN VERSION TEKIJT


ABOUT THIS MANUAL adam hyde 2009 Modifications: David Khling 2009 William Merriam 2009 ACCESSIBILITY T WikiGuest 2009 Modifications: adam hyde 2009 Silvia Pfeiffer 2009 ANALYSING OGG Mark Hancock 2009 Modifications: adam hyde 2009 Jan Gerber 2009 ogg k 2009 Jrn Seger 2009 STREAM RIPPING adam hyde 2007 , 2009 Modifications: Alan T oner 2009 Edward Cherlin 2009 Holmes Wilson 2009 Jan Gerber 2009 ogg k 2009 T homas Middleton 2008 Jrn Seger 2009 CAT FILES adam hyde 2009 Modifications: Robert Valliant 2009 Jrn Seger 2009

150

CODECS T WikiGuest 2008 Modifications: adam hyde 2009 Holmes Wilson 2009 Jaap Hoetmer 2009 Jan Gerber 2009 ogg k 2009 Robert Valliant 2009 susanne lang 2009 Jrn Seger 2009 CONTAINERS T WikiGuest 2008 Modifications: adam hyde 2009 Holmes Wilson 2009 Jan Gerber 2009 ogg k 2009 susanne lang 2009 Jrn Seger 2009 DISTRIBUTION adam hyde 2007 , 2009 Modifications: Holmes Wilson 2009 ogg k 2009 susanne lang 2009 T homas Middleton 2008 CREATE PREVIEW Jrn Seger 2009 Modifications: adam hyde 2009 Alan T oner 2009 David Khling 2009 CREATE SLIDESHOWS Jrn Seger 2009 Modifications: adam hyde 2009 Alan T oner 2009 David Khling 2009 Edward Cherlin 2009 CREATE THUMBNAILS Jrn Seger 2009 Modifications: adam hyde 2009 Alan T oner 2009 David Khling 2009 Mark Hancock 2009

151

CREDITS adam hyde 2006, 2007 , 2009 CUT A FILE adam hyde 2009 Modifications: David Khling 2009 Edward Cherlin 2009 Robert Valliant 2009 INTRODUCTION adam hyde 2007 , 2009 Modifications: Alan T oner 2009 Edward Cherlin 2009 Holmes Wilson 2009 Jan Gerber 2009 salsa man 2009 susanne lang 2009 T homas Middleton 2008 Jrn Seger 2009 EMBEDDING SUBTITLES adam hyde 2009 Modifications: Edward Cherlin 2009 Holmes Wilson 2009 Jan Gerber 2009 susanne lang 2009 INTRODUCTION T WikiGuest 2008 Modifications: adam hyde 2009 David Khling 2009 Jan Gerber 2009 jay maechtlen 2009 Jrn Seger 2009 FFMPEG2THEORA T WikiGuest 2008 Modifications: adam hyde 2009 David Khling 2009 Edward Cherlin 2009 Holmes Wilson 2009 Jan Gerber 2009 ogg k 2009 Jrn Seger 2009

152

FFMPEG2THEORA adam hyde 2007 , 2009 Modifications: Alan T oner 2009 Holmes Wilson 2009 Jan Gerber 2009 T homas Middleton 2008 Jrn Seger 2009 FIREFOGG maxigas maxigas 2007 Modifications: adam hyde 2009 David Khling 2009 Jan Gerber 2009 Peter W 2009 T homas Middleton 2008 Jrn Seger 2009 GLOSSARY adam hyde 2006, 2009 Modifications: Edward Cherlin 2009 Holmes Wilson 2009 Jan Gerber 2009 ogg k 2009 T homas Middleton 2008 HTML5 Jrn Seger 2009 Modifications: adam hyde 2009 Ali Gunduz 2009 Andrew Nicholson 2009 Jan Gerber 2009 Michael Dale 2009 ogg k 2009 Robert Valliant 2009 Silvia Pfeiffer 2009 HOSTING SITES T WikiGuest 2008 Modifications: adam hyde 2009 Andrew Nicholson 2009 Holmes Wilson 2009 Jan Gerber 2009 ICECAST adam hyde 2006, 2007 , 2008 Modifications: Zita Joyce 2008

153

INTERESTING EXTRAS T WikiGuest 2009 Modifications: adam hyde 2009 Jan Gerber 2009 Silvia Pfeiffer 2009 INTRODUCTION adam hyde 2006, 2007 , 2009 Modifications: Brylie Oxley 2009 David Khling 2009 Edward Cherlin 2009 Holmes Wilson 2009 Jan Gerber 2009 Maik Merten 2009 ogg k 2009 susanne lang 2009 T homas Middleton 2008 JOIN FILES adam hyde 2009 Modifications: David Khling 2009 Robert Valliant 2009 INTRODUCTION T WikiGuest 2008 Modifications: adam hyde 2009 David Khling 2009 Edward Cherlin 2009 Holmes Wilson 2009 ogg k 2009 Robert Valliant 2009 Jrn Seger 2009 MIRO Jrn Seger 2008 Modifications: adam hyde 2009 Holmes Wilson 2009 T WikiGuest 2008 T hom Hastings 2009

154

HOSTING THEORA YOURSELF T WikiGuest 2008 Modifications: adam hyde 2009 Chris Double 2009 Holmes Wilson 2009 Jan Gerber 2009 susanne lang 2009 RESIZING Jan Gerber 2009 Modifications: adam hyde 2009 Robert Valliant 2009 Jrn Seger 2009 INTRODUCTION T WikiGuest 2008 Modifications: adam hyde 2009 Jan Gerber 2009 ogg k 2009 susanne lang 2009 Jrn Seger 2009 PITIVI adam hyde 2006, 2009 Modifications: Edward Cherlin 2009 Holmes Wilson 2009 Jan Gerber 2009 T homas Middleton 2008 HOW TO PLAY THEORA T WikiGuest 2008 Modifications: adam hyde 2009 Gergely Mt 2009 Holmes Wilson 2009 Jan Gerber 2009 ogg k 2009 Robert Valliant 2009 Stjepan Rajko 2009 susanne lang 2009 PLAYING SUBTITLES adam hyde 2009 Modifications: Edward Cherlin 2009 Holmes Wilson 2009 susanne lang 2009

155

PUBLISHING adam hyde 2007 , 2009 Modifications: another sam 2009 Edward Cherlin 2009 Holmes Wilson 2009 Jan Gerber 2009 Mark Grandi 2009 susanne lang 2009 T homas Middleton 2008 SPLIT A FILE adam hyde 2009 Modifications: David Khling 2009 ogg k 2009 Robert Valliant 2009 Jrn Seger 2009 INTRODUCTION ogg k 2009 Modifications: adam hyde 2009 Edward Cherlin 2009 Holmes Wilson 2009 susanne lang 2009 TSS T WikiGuest 2008 Modifications: adam hyde 2009 Alan T oner 2009 alejo duque 2009 Holmes Wilson 2009 THEORA THEORY Jrn Seger 2008, 2009 Modifications: adam hyde 2008, 2009 Alan T oner 2009 David Khling 2009 Robert Valliant 2009 THOGGEN adam hyde 2007 , 2009 Modifications: David Khling 2009 Edward Cherlin 2009 Jan Gerber 2009 ogg k 2009 Jrn Seger 2009

156

VLC T WikiGuest 2008 Modifications: adam hyde 2009 David Khling 2009 Dennis J 2009 Mark Hancock 2009 Jrn Seger 2009 VLC T WikiGuest 2008 Modifications: adam hyde 2009 Holmes Wilson 2009 Jan Gerber 2009 VLC adam hyde 2007 , 2009 Modifications: Alan T oner 2009 Edward Cherlin 2009 jay maechtlen 2009 T homas Middleton 2008 Jrn Seger 2009 WHAT IS STREAMING? T WikiGuest 2008 Modifications: adam hyde 2009 Alan T oner 2009 Jrn Seger 2009 WHAT IS THEORA? T WikiGuest 2008 Modifications: adam hyde 2009 Edward Cherlin 2009 Holmes Wilson 2009 jay maechtlen 2009 Joshua Gay 2009 Lachlan Musicman 2009 susanne lang 2009 WHAT IS VIDEO? T WikiGuest 2008 Modifications: adam hyde 2009 Brylie Oxley 2009 Edward Cherlin 2009 Holmes Wilson 2009 Lachlan Musicman 2009 susanne lang 2009

157

INTRODUCTION Mark Hancock 2009 Modifications: adam hyde 2009 Alan T oner 2009 David Khling 2009 susanne lang 2009 Jrn Seger 2009

Vapaat kytt o ppaat vapaille o hjelmille

G NU G ENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, M A 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the G NU G eneral Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This G eneral Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the G NU Lesser G eneral Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. O ur G eneral Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.

158

Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. G NU G ENERAL PUBLIC LICENSE TERM S AND CO NDITIO NS FO R CO PYING , DISTRIBUTIO N AND M O DIFICATIO N 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this G eneral Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program

159

with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.

160

If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. M any people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the G eneral Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. O ur decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PRO G RAM IS LICENSED FREE O F CHARG E, THERE IS NO WARRANTY FO R THE PRO G RAM , TO THE EXTENT PERM ITTED BY APPLICABLE LAW. EXCEPT WHEN O THERWISE STATED IN WRITING THE CO PYRIG HT HO LDERS AND/O R O THER PARTIES PRO VIDE THE PRO G RAM "AS IS" WITHO UT WARRANTY O F ANY KIND, EITHER EXPRESSED O R IM PLIED, INCLUDING , BUT NO T LIM ITED TO , THE IM PLIED WARRANTIES O F M ERCHANTABILITY AND FITNESS FO R A PARTICULAR PURPO SE. THE ENTIRE RISK AS TO THE Q UALITY AND PERFO RM ANCE O F THE PRO G RAM IS WITH YO U. SHO ULD THE PRO G RAM PRO VE DEFECTIVE, YO U ASSUM E THE CO ST O F ALL NECESSARY SERVICING , REPAIR O R CO RRECTIO N. 12. IN NO EVENT UNLESS REQ UIRED BY APPLICABLE LAW O R AG REED TO IN WRITING WILL ANY CO PYRIG HT HO LDER, O R ANY O THER PARTY WHO M AY M O DIFY AND/O R

161

REDISTRIBUTE THE PRO G RAM AS PERM ITTED ABO VE, BE LIABLE TO YO U FO R DAM AG ES, INCLUDING ANY G ENERAL, SPECIAL, INCIDENTAL O R CO NSEQ UENTIAL DAM AG ES ARISING O UT O F THE USE O R INABILITY TO USE THE PRO G RAM (INCLUDING BUT NO T LIM ITED TO LO SS O F DATA O R DATA BEING RENDERED INACCURATE O R LO SSES SUSTAINED BY YO U O R THIRD PARTIES O R A FAILURE O F THE PRO G RAM TO O PERATE WITH ANY O THER PRO G RAM S), EVEN IF SUCH HO LDER O R O THER PARTY HAS BEEN ADVISED O F THE PO SSIBILITY O F SUCH DAM AG ES. END O F TERM S AND CO NDITIO NS

162

You might also like