OGG Theora

Internetin nopean kasvun tärkeimpiä taustavaikuttajia on ollut puolueeton suunnittelumalli. Avoimet standardit, vapaat ohjelmistot ja läpinäkyvät teknologiat ovat vahvistaneet verkon kehitystä. Verkon avoimen ympäristön seurauksena sisällönkehittäjät voivat helposti luoda verkkosivuja, ohjelmistojen kehittäjät voivat rakentaa olemassaolevien projektien päälle ja laajentaa toimintamahdollisuuksia verkossa, ja käyttäjät voivat selata verkkoa, lähettää sähköpostia ja käyttää monenlaisia sovelluksia.

Verkkovideon tuotannon ja esittämisen perustekniikat eivät kuitenkaan ole vapaita tai läpinäkyviä. Jos esimerkiksi ohjelmistokehittäjät tekevät uuden videosoittimen, he joutuvat maksamaan tekijänoikeusmaksuja yrityksille, jotka pitävät hallussaan tiettyjä patentteja, jos tahtovat jakaa videota laillisesti. Nämä patentit (kuten useimmat ohjelmistopatentit) lukitsevat äärimmäisen perustavanlaatuisia ideoita. Esimerkiksi: yksi yhtiö on patentoinut idean tallentaa kuvan osia vasemmalta oikealle, ylhäältä alas! Yhdessä tuhannet videotekniikoita koskevat patentit estävät uudet tavat jaella mediaa ja tehdä siitä interaktiivista.

Patentin kuormittama video

Niille, jotka ovat huolestuneita yksitysten etujen vallasta julkisessa elämässä, tämä on ilmeinen ongelma: kuinka pieni joukko yhtiöitä voi hallita ohjelmistojen kehittämiseen tarvittavia perusideoita? Se luo myös hyvin konkreettisia ongelmia: maailmanlaajuinen vapaiden ohjelmistojen liike ei voi liittää monien videoformaattien tukea tuotteisiinsa. Ja koska patentit tekevät omien videosoittimien levittämisestä kallista ohjelmistojen kehittäjille, kehittäjät ovat riippuvaisia muutamista Microsoftin, Applen ja Adoben tuotteista. Verkossa yli 98% videosta jaellaan Flashia käyttäen.

Ongelmia ei ole vain ohjelmistokehityksen maailmassa - jos luot tai julkaiset videon verkossa, patenttien kuormittamat teknologiat vaikuttavat sinuun suoraan. Patenttien omistajilla on valta ottaa maksuja sisällöntuottajilta ja MPEG LA, joka edustaa suositun MPEG-videoteknologian patenttien omistajia, ottaa lisenssimaksuja televisioyhtiöiltä, DVD-jakelijoilta, ja muilta. Tällä hetkellä he eivät vaadi rahaa verkkolähetyksistä, mutta uudet tekijänoikeusmaksuehdot voivat jossain vaiheessa uhata verkkovideon riippumattomia julkaisijoita.

Parempi tapa

Nyt meillä on kuitenkin verkkovideoteknologia, jota kuka tahansa on vapaa käyttämään, tutkimaan, parantamaan ja jakelemaan ilman lupaa tai maksua. Tätä teknologiaa kutsutaan Ogg Theoraksi (tai vain "Theoraksi"). Jotkin osat Theorasta on parentoitu, mutta patenttien omistajat ovat antaneet pysyvän, peruuttamattoman, tekijänoikeusmaksuvapaan patenttilisenssin kaikille. Theora välttää tarkkaan kaikkia patentteja, jotka ovat perinteisillä patenttien hallitsijoilla. Esimerkiksi kiertääkseen naurettavaa yllä mainittua kuvien tallennukseen liittyvää patenttia, Theora tallentaa videokuvatietoa alhaalta ylös eikä ylhäältä alas!

On tärkeää ymmärtää, että Theora on merkittävä osa internetin vapautta. Mozilla, Opera ja Google ymmärtävät tämän, ja ovat julistaneet tukevansa Theora-videota tulevissa tai nykyisissä selainversioissaan. Tämä merkitsee, että miljoonat käyttäjät kykenevät katsomaan Theora-videota käyttäen selaintaan, ilman ylimääräisiä ohjelmistoja. Vapaiden ohjelmistojen yhteisön työ, Mozillan, Wikipedian ja muiden tukemana, on tuonut Theoran samalle laatutasolle kuin uusimman teknologian videotekniikat.

On myös muita tärkeitä projekteja, joilla on samanlaiset päämäärät, kuten Dirac, jonka kehitystä BBC johtaa. Mutta jännittävintä Theorassa on, että se on täällä nyt, sitä tukevat suositut työkalut, ja se on valmis laajamittaiseen käyttöön. Opettelemalla Theoraa ja käyttämällä sitä omissa projekteissasi voit tehdä verkosta jännittävämmän ja vapaamman.

 

Tästä käyttöoppaasta

 

Tämä käyttöopas kirjoitettiin viiden päivän kirjapyrähdyksen aikana Berliinin Maailmankulttuurin talossa (elokuun 10-15 2009). 

ogg_booksprint_1_en 

Paikalla olivat:

Jan Gerber

Homes Wilson

Susanne Lang

David Kühling

Jörn Seger

Ja monet auttoivat verkossa. Kiitokset myös Leslie Hawthornille ja Googlelle pyrähdyksen tukemisesta, ja Berliinin kesäleirille. Tämä kirja on jatkuvat prosessi... Ole hyvä ja parantele sitä!

1. Rekisteröidy

Rekisteröidy at FLOSS Manualsiin:
http://fi.flossmanuals.net/register

2. Kirjoita!

Valitse käyttöopas http://fi.flossmanuals.net/bin/view/TheoraCookbook/WebHome  ja luku jota tahdot muokata.

Jos tahdot kysyä meiltä kysymyksiä käyttöoppaiden kirjoittamisesta, liity alla mainitulle irc-kanavalle ja kysy meiltä! Odotamme osallistumistasi innokkaasti!

Lisää tietoa FLOSS Manualsista löydät omasta käyttöoppaastamme:
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

Mitä on digitaalinen video?

Video on sarja kuvia, jotka näkyvät liikkuvana kuvana. Ensimmäiset "videot" (elokuvat) olivat kirjaimellisesti sarja valokuvia, jotka oli valaistu yksi kerrallaan tarpeeksi nopesti, jotta ihmisen silmä näki liikkeen. Digitaalista videota voidaan ajatella kuvien sarjana, mutta yleensä todellisuus on monimutkaisempi.

Videota voidaan varastoida sarjana kuvia, aivan kuin filminauha tekee, mutta tämä on jonkin verran tuhlaavaista. Loppujen lopuksi liikkuvan kuvan osat eivät usein muutu ruudusta toiseen, tai sitten ne muuttuvat hyvin vähän. Näissä tapauksissa on helpompaa kuvata pelkkää muutosta.

Itse asiassa, näin videoformaatit yleensä toimivat. Maailmassa, jossa on rajoittunut määrä levytilaa ja verkkoyhteyksiä tämän kaltaiset yksinkertaiset ideat voivat antaa sinun tallentaa satoja videoita tietokoneellesi (kourallisen sijasta) tai ladata videon minuuteissa (tuntien sijasta).

Edellisen tekniikan lisäksi videoformaatit voivat käyttää muita pakkausmekanismeja, kuten samanväristen alueiden kuvaamista sen sijaan, että jokainen piste kuvattaisiin yksitellen (samanlaisia temppuja voidaan käyttää kuvien kuvailuun), tai ne kuvailevat tarkasti tiettyjä kuvan osia, joissa on paljon yksityiskohtia tai liikettä tapahtuu (esimerkiksi osa, johon luultavasti tuijotat) ja keskittyy vähemmän tylsiin juttuihin reunoilla. Nämä videopakkauksen ideat eivät ole uusia, mutta ne kehittyvät nopeasti.

Mikä Theora on?

Theora on videoteknologia videon luomiseen, leikkaamiseen, käsittelyyn ja toistamiseen. Tämän tyyppisestä teknologiasta puhutaan usein videoformaattina tai kodekkina (yhdistelmä sanoista koodaaja-dekoodaaja). Theora on vapaa videoformaatti, joten kuka tahansa voi vapaasti käyttää, tutkia, parannella ja jaella sitä ilman lupaa. Jotkin osat Theorasta ovat patentoituja, mutta noiden patenttien omistajat ovat antaneet pysyvän ja peruuttamattoman tekijänoikeusmaksuttoman lisenssin kaikille.

Koska Theoran jakelua ja parantelua eivät rajoita patentit, se voidaan sisällyttää vapaisiin ohjelmistoihin. GNU/Linux pohjaisten käyttöjärjestelmien jakeluversiot, kuten Ubuntu, Debian GNU/Linux tai Fedora sisältävät Theoran valmmiiksi asennettuna. Ja vapaat verkkoselaimet, kuten Firefox ja Chrome tukevat Theoraa. Jos ajattelemme verkkoselainten käyttötilastoja heinäkuulta 29, noin 25% netin käyttäjistä käyttää Firefoxia ja 2,5% käyttää Chromea. Tämä merkitsee, että joka päivä valtava joukko ihmisiä käyttää Theora-ohjelmien toistamiseen kykeneviä ohjelmistoja. 

Historia

Theora perustuu vanhempaan teknologiaan nimeltä VP3, joka oli alunperin yksityisomisteinen ja patentoitu videoformaatti, jonka oli kehittänyt On2 Technologies -yhtiö. Syyskuussa 2001 On2 lahjoitti VP3:n Xiph.org Foundationille vapaan ohjelmistolisenssin alaisuudessa. On2 antoi myös peruuttamattoman, tekijänoikeusmaksuttoman lisenssiluovutuksen, jossa luopui kaikista patenttivaatimuksista, joita sillä voisi olla ohjelmasta ja sen johdannaisista. Näin kuka tahansa voi rakentaa VP3-teknologian varaan ja käyttää sitä mihin tahansa tarkoitukseen. Vuonna 2002 On2  sopi Xiph.Org Foundationin kanssa, että VP3:sta tulisi perusta uudelle Theoraksi kutsutulle videoformaatille. On2 julisti Theoran olevan VP3:n seuraaja.

Xiph.Org Foundation on voittoa tuottamaton järjestö, joka keskittyy vapaiden multimediaformaattien ja -ohjelmien tuotantoon ja levittämiseen laajemmalle yleisölle. Theoran kehityksen lisäksi se on luonut vapaan äänikodekin nimeltä Vorbis, sekä suuren joukon käyttökelpoisia työkaluja ja osia, jotka tekevät vapaista multimediaohjelmista helppokäyttöisempiä.

Muutaman vuoden beta-testauksen jälkeen Theora julkaisi marraskuussa 2008 ensimmäisen vakaan version 1.0. Millä tahansa Theoran versiolla enkoodatut versiot ovat tämän pisteen jälkeen yhteensopivia minkä tahansa tulevan soittimen kanssa. Laajaa Theoran kehittäjien yhteisöä tukevat Redhatin kaltaiset yhtiöt ja kansalaisjärjestöt, kuten Wikimedia Foundation.  

Verkko

Theoran tuki verkkoselaimissa luo erityisen tilaisuuden. Juuri nyt lähes kaikki verkkovideo vaatii Flashia, yhden yhtiön omistamaa tuotetta. Mutta nyt 25% käyttäjistä voi toistaa Theora-videoita selaimessaan asentamatta lisäohjelmistoja, joten on mahdollista haastaa Flashin valta-asema verkkovideon jakelutyökaluna. Lisäksi W3C:n (World Wide Web Consortium) uusi HTML5-standardi tuo uuden jännittävän ulottuvuuden - verkon ja videon yhdistämisen monilla tavoilla, jotka sopivat Theoralle.

Patentit ja tekijänoikeudet

Patenttien maailma on monimutkainen ja jättää Theoran kilpailijoille paljon tilaa levittää pelkoa, epävarmuutta ja epäilyksiä sen käyttökelpoisuudesta todella vapaana formaattina. Olemukseltaan Theora on vapaa. Se on vapaa käytettäväksi, muutettavaksi, uudelleenjaettavaksi, toteutettavaksi, myytäväksi tai mitä tahansa sillä tahdotkin tehdä. Mutta on myös tärkeää, että vapaiden ohjelmistojen tukijat ymmärtävät esille nousevat kysymykset.

 

 

Yksi yleinen pelko on, että Theora kohtaa huomaamattomia patentteja - patentteja, joita kukaan ei ole vielä huomannut, mutta joita Theoran tekijät eivät saaneet käyttää. On kuitenkin totta, että kaikki nykyaikaiset ohjelmat voivat törmätä salattuihin patentteihin - kaikki Microsoft Wordista Linuxin ytimeen. Kuitenkin miljoonat ihmiset ja kokonaiset teollisuudenalat käyttävät vieläkin näitä työkaluja. Toisin sanottuna salatut patentit ovat ongelma koko ohjelmistoteollisuudelle, mikä ei tarkoita, että ohjelmistoteollisuuden pitäisi lopettaa ohjelmien kehittäminen.

On myös tärkeää havaita, että pahimmakin tapauksessa tuntemattoman patentin ilmestyessä Theora voi luultavasti kiertää sen. Tällaista tapahtuu koko ajan. Mozilla Foundationin ja Wikipedian kaltaiset organisaatiot ovat tutkineet tätä kysymystä ja ovat tulleet samaan lopputulokseen.

Xiph.orgin tuottamat ohjelmat ovat myös tekijänoikeuden alaisia, mutta ne on tarjottu vapaiden ohjelmistolisenssien alla. Xiph.org tarjoaa koodia, jotta jokainen voi lisätä sen mihin tahansa ohjelmaan. Xiph.org tarjoaa myös joukkoa työkaluja, jotka toimivat Theora-tiedostojen kanssa. Tämä merkitsee, että voit tutkia, muuttaa, uudelleenjaella ja myydä kaiken, mitä teet Theoralla tai millä tahansa sen sisältävillä työkaluilla.

Muut vapaat videoformaatit

On hyvä huomata, että on myös toinen projekti, joka luo tekijänoikeusmaksutonta, kehittynyttä videonpakkausformaattia. Sitä kutsutaan Diraciksi. Sen loi alunperin BBC:n tutkimusosasto. Dirac yrittää tulevaisuudessa toimia kaikissa sovelluksissa Internet-streamauksesta korkean tarkkuuden televisioon asti ja laajeta toimimaan uusien laitteiden kanssa. Ogg Theora toimii silti erittäin hyvin verkon streaming-videojakelussa, vaikka Diracista tulee luultavasti parempi vaihtoehto korkean tarkkuuden videoiden jakeluun.

Koodekit

Koodekki on matemaattinen kaava, joka kutistaa video- tai audiotiedoston kokoa. Theora on videokoodekki.

Kun koodekki kutistaa videotiedoston kokoa, sen sanotaan myös tiivistävän tiedostoa. On kaksi tiivistystapaa, jotka ovat mielenkiintoisia tässä yhteydessä - tappioton ja tappiollinen tiivistys.

  1. Tappioton tiivistys - Tämä on datan tiedon tiivistäminen pienempään kokoon ilman datan poistoa. Visualisoidaksesi tämän prosessin kuvittele paperipussi, jonka sisällä on esine. Kun poistat ilman pussista luomalla tyhjiön, pussissa oleva esine ei kutistu, vaikka pussin koko kutistuu.
  2. Tappiollinen tiivistys - Kutsutaan joskus "havaittavaksi koodaukseksi", tämä merkitsee datan "heittämistä pois" tiedostojen koon pienentämiseksi. Pakkausalgoritmit ovat monimutkaisia ja yrittävät säilyttää havaintokokemuksen laadun mahdollisimman pitkälle, vaikka hylkäävät niin paljon dataa kuin on tarpeen. Tappiollinen tiivistys on hyvin hienoa taidetta. Algoritmit, jotka mahdollistavat tämän, ottavat huomioon kuinka aivot havaitsevat ääntä ja kuvaa ja poistavat tietoa äänestä ja videosta, vaikka säilyttävät alkuperäistä lähdemateriaalia muistuttavan ääni- ja kuvakokemuksen. Tehdäkseen tämän prosessi seuraa psykoakustisen ja psykovisuaalisen mallinnuksen periaatteita.

Laatu

Digitaalisen videon laatua määrittää koodatun informaation määrä (bittinopeus) ja käytetyn videopakkauksen tyyppi (koodekki). Vaikka joitain koodekkeja voidaan pitää Theoraa kehittyneempinä, laadussa havaittava ero ei ole merkittävä.

Bittinopeus ja laatu

Koska digitaalinen video esittää liikkuvan kuvan informaationa, on loogista, että mitä enemmän informaatiota videossa on, sitä laadukkaampaa liikkuva kuva on. Bittinopeus on kirjaimellisesti bittien määrä sekunnissa videota (ja/tai audiota), jota käytetään koodaukseen. Koodekin suurempi bittinopeus merkitsee suurempaa laatua. Annetulle kestolle suurempi bittinopeus merkitsee myös suurempaa tiedostoa.

On siis monta syytä, miksi matalampi bittinopeus on hyvä asia. Videon täytyy ehkä mahtua tietylle tallennusmedialle, kuten DVD:lle. Tai tahdot ehkä toimittaa videon tarpeeksi nopeasti yleisöllesi (jonka keskimääräinen nettiyhteys on nopeusrajoitteinen) katsottavaksi latauksen aikana.

Erilaiset videotyypit voivat vaatia erilaisia bittinopeuksia saavuttaakseen saman havaittavan laadun. Video, jossa on paljon leikkauksia ja jatkuvasti vaihtuvia kamerakulmia, vaatii enemmän tietoa kuvaukseensa, kuin video jossa on paljon liikkumattomia kuvia. Toimintaelokuva vaatii siis suuremman bittinopeuden kuin Ken Burnsin dokumentti.

Jotkin koodekit sallivat muuttuvan bittinopeuden. Tämä merkitsee, että bittinopeus voi muuttua ajan myötä vastauksena vaadittuun yksityiskohtaisuuteen. Tässä tapauksessa videokoodekki käyttäisi enemmän bittejä nauhoittaakseen 10 sekuntia nopeita leikkauksia ja liikkuvia kamerakulmia, kuin se vaatisi koodatakseen 10 sekuntia melko liikkumatonta kuvaa.

Koodekit ja laatu

Koodekit pienentävät mediatiedoston tarpeellista bittinopeutta kuvailemalla median ovelilla, tehokkailla tavoilla. Videokoodekit kuvaavat muutoksia yhdestä kuvaruudusta seuraavaan, sen sijaan että kuvaisivat jokaista kuvaruutua erikseen. Audokoodekit jättävät huomiotta taajuudet, joita ihmiskorva ei kuule. Aivan kuin yksinkertaiset tekniikat voivat kutistaa suuresti tiedoston bittinopeutta ja kokoa, vielä kehittyneemmät tekniikat voivat kutistaa sitä vielä enemmän. Tämän vuoksi joitain koodekkeja pidetään toisiin verrattuna ylivertaisina.

Kun koodekit käyttävät monimutkaisia matemaattisia tekniikoita videon koodaamiseen, tarvitset voimakkaan mikrosirun avataksesi koodauksen nopeasti toistoa varten. Tämän vuoksi on usein parasta käyttää yksinkertaisempaa koodekkia. Viimeisimmän teknologian mukaisia temppuja käyttävä koodekki voi olla käyttökelvoton vanhemmalla tietokoneella. Ja joskus on vain parempi käyttää yksinkertaisempaa ja vanhempaa videokoodekkia (kuten DVD-levyt tekevät), koska sen toistoon tarvittava laitteisto on halvempi.

Theora ja laatu

Viimeaikaisen Theora-yhteisön työn ansiosta Theora on saavuttanut saman laatutason kuin muut modernit koodekit, kuten h.264 (Applen, Youtuben ja muiden käyttämä patenttien kuormittama koodekki). Tämä voi olla kiistanalainen asia, ja on joitain syitä pitää h.264-koodekkia teknisesti ylivertaisena Theoraan verrattuna. Parasta on tutustua asiaan itse ja muodostaa oma mielipide.

Näillä sivuilla on vertailuja Theoran ja h.264:n välillä:

http://people.xiph.org/~greg/video/ytcompare/comparison.html

http://people.xiph.org/~maikmerten/youtube/

Säilöt 

Säilö tai kääre on tiedostoformaatti, joka määrittelee miten erilaiset tietovirrat voidaan varastoida yhdessä tai lähettää yhdessä verkon yli. Se sallii audio- ja videodatan tallentamisen yhteen tiedostoon ja toiston synkronisoidusti. Se sallii myös datasta etsimisen, kertomalla toisto-ohjelmalle missä audio- ja videodata on tiettyinä ajan pisteinä.

Audion ja videon lisäksi säilöt voivat tarjota metadataa sisältämästään datasta, esimerkiksi kuvaruutujen koosta, kuvataajuudesta, onko ääni monoa vai stereota, näytetaajuudesta, ja myös tietoa datan koodaamiseen käytetyistä koodekeista.

Kun toistat digitaalisen elokuvan, jossa on ääntä, soittimesi lukee säilöä, ja dekoodaa videon ja audion käyttäen eri koodekkeja. Theora on yleensä varastoitu tai virtauslähetetty yhdessä Vorbis-äänen kanssa Ogg-säilössä, mutta se voidaan varastoida myös muihin säilöihin. matroska (.mkv) on toinen formaatti, jota ihmiset käyttävät Theora-videoon. 

Ero säilön ja koodekin välillä.

Kolmen kirjaimen loppupääte tiedostonimen lopussa viittaa säilöön, ei koodekkiin. Tämä hämmentää usein ihmisiä. Kun tiedosto loppuu .mp4 tai .avi, päätteet viittaavat säilöihin, jotka voivat sisältää monia erilaisia audio- ja videostriimien yhdistelmiä. Monet säilöt eivät toimi tietyillä koodekeilla, ja tietyt koodekit toimivat parhaiten tietyillä säilöillä. Mutta et voi sanoa varmasti mitä koodekkeja videotiedosto vaatii katsomalla tiedostopäätettä.

Theoran toistaminen

Toistaaksesi Ogg Theora -videoita tarvitset videosoittimen, joka tukee Ogg Theoran toistoa. Usein joidenkin videotyyppien toisto vaatii outojen ohjelmien asentamista, mikä voi olla hyvin turhauttavaa ja ajanhukkaa. Onneksi monet videosoittimet voivat toistaa Ogg Theoraa ilman tarvetta asentaa mitään muuta. Kaksi helpointa soitinta ovat huomattavia, koska ne toimivat samoin kaikissa tärkeimmissä käyttöjärjestelmissä (Linux, Mac OS/X, Windows).

VLC on vapaa videosoitin, joa toistaa monenlaisia videotiedostoja, myös Theoraa. Voit hankkia sen verkosta: http://www.videolan.org/vlc

Miro on toinen Ogg Theora -videota tukeva videosoitin (http://getmiro.com).

Jos sinulla ei ole kumpaakaan etkä tahdo asentaa niitä, voit myös käyttää Firefox-selaimen versiota 3.5 ja myöhempiä (http://getfirefox.com) Theoran katseluun.

Peukalosääntönä: jos video on työpöydälläsi, käytä VLC tai Miro -videosoitinta. Jos video on verkossa, käytä Firefox 3.5 tai myöhempi. 

 

Theoran integrointi

Jos tahdot käyttää Theoraa soittimella, joka tuli Mac OSX:n tai Windowsin mukana, kuten Windows Media Player tai QuickTime Player, sinun tulee asentaa komponentteja tai filttereitä, jotka parantavat Theoran toimivuutta. Tämä ei päde, jos käytät Linuxia, koska Theoraa tuetaan useimmissa Linux-jakeluissa ja sitä voi toistaa Totemilla ja muilla GStreameriin perustuvilla ohjelmilla.

Windowsissa ja Mac OSX:ssä voit lisätä täyden toiminnallisuuden ja Theora-tuen kaikkiin QuickTime-pohjaisiin sovelluksiin, kuten QuickTime-soittimeen itseensä, mutta myös iTunesiin ja iMovieen. Täytyy vain asentaa Xiph QuickTime Component (XiphQt), joka voidaan ladata Xiph.Orgin verkkosivulta:  http://xiph.org/quicktime/download.html

Toinen hyödyllinen suodatin Windows-käyttäjälle on DirectShow Filter. Se on myös tarjolla Xiph.Org Foundationista ja lisää koodauksen ja dekoodauksen tuen Ogg Vorbisiin, Speexiin, Theoraan ja FLACiin mihin tahansa DirectShow -sovellukseen, kuten Windows Media Playeriin. Voit myös ladata suodattimet Xiph.Org -verkkosivulta: http://xiph.org/dshow/

VLC

VLC (lyhenne sanoista VideoLAN Client) on erinomainen työkalu video- ja audiotiedostojen toistoon. Se on vapaa ohjelmisto, se soittaa suuren määrän formaatteja, joihin sisältyy Theora, ja se toimii monilla erilaisilla alustoilla. Jos käytät Window, Mac OS/X tai Linux (esimerkiksi Ubuntu) -käyttöjärjestelmää, VLC on sinulle mainio vaihtoehto. VLC toimii samoin jokaisessa käyttöjärjestelmässä, joten jos tiedät kuinka sitä käytetään Windowsissa, osaat käyttää sitä myös Ubuntussa. VLC:n joustavuus ja luotettavuus tekevät siitä yhden suosituimmista vapaiden ohjelmistojen videotyökaluista. 

Asennus

VLC on työpöytäsovellus, joka sinun täytyy ladata ja asentaa. Asennuksen askeleet riippuvat käyttämästäsi 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 myös hyvä opas VLC:n asentamisesta ja käytöstä. 

Videon toisto

  1. Käynnistä VLC. Näet tällaisen ikkunan:

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

    ScreenHunter_02_May._07_17.24
  3. Etsi Theora-tiedosto, jonka tahdot avata. Valitse se ja klikkaa Toista.

    ScreenHunter_03_May._07_17.29
  4. Video ilmestyy tällaiseen ikkunaan ja VLC alkaa toistaa sitä. 

    ScreenHunter_04_May._07_17.42

Toiston perusohjaimet

Miro

Miro (jota kutsuttiin aiemmin nimellä Democracy TV) on työkalu videon etsimiseen, lataamiseen ja katselemiseen monista verkkolähteistä. Se on vapaa ohjelmisto, jonka on tehnyt kansalaisjärjestö Participatory Culture Foundation: http://participatoryculture.org/.

Miro soittaa suuren joukon erilaisia formaatteja, joihin kuuluu Theora, ja se toimii monilla erilaisilla alustoilla (käyttöjärjestelmät, kuten Windows, OS/X ja GNU/Linux). Videon toistamisen lisäksi Mirolla on mahdollista etsiä ja ladata videoita erityisesti formatoiduilta videolistoilta, jotka tunnetaan podcasteina tai vodcasteina.

Voit käyttää Miroa toistamaan videon työpöydälläsi, tai lataamaan ja katsomaan videon URLista, joka osoittaa suoraan videotiedostoon, tai jopa suositulta videosivulta, kuten YouTube. Voit myös käyttää Miroa Bittorrent-tiedostojen lataamiseen ja katseluun (tiedostojen pääte on .torrent).

Asennus

Miro on työpöytäsovellus, joka sinun täytyy ladata ja asentaa. Asentamisen askeleet riippuvat käyttämästäsi alustasta (GNU/Linux, Mac OS/X tai Windows).

Tällä sivulla on latauslinkit Miroon ja ohjeet eri alustoille:

http://getmiro.com

 

Videon toisto

  1. Käynnistä Miro. Kun olet napsautellut läpi muutaman viestin, jotka näkyvät Miron toimiessa ensimmäistä kertaa, näet tällaisen ikkunan:

    ScreenHunter_05_May._07_17.55

  2. Mene Miron hakemistossa kohtaan Video > Avaa.

    ScreenHunter_06_May._07_17.56

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

  4. Videon pitäisi alkaa toistua Miron ikkunassa.

    ScreenHunter_08_May._07_18.00

 

Theoran käyttö verkossa

Täytyy harkita muutamaa asiaa ennen videon laittamista verkkoon.

Huomaa, että katsojilla täytyy 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 näe videota verkossa, ja siksi sinun täytyy harkita toista strategiaa, kuten videon levittämistä CD:llä, DVD:llä tai USB-muistitikuilla.

Jos yleisölläsi 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 lähinnä nämä:

  1. Voit määritellä videon esittämisen kontekstin.
  2. Yleisölle on käytännöllistä vain napsauttaa nähdäkseen videon.
  3. Sivujen vierailijoille on näppärää napsauttaa videota ja katsoa siitä pieni osa yleiskuvan saamiseksi, sen sijaan että lataisivat koko tiedoston saadakseen esivaikutelman työstäsi.
  4. Yleisölle on helppoa näyttää työtäsi muille, esimerkiksi lähettämällä linkki videoon, jonka he tahtovat näyttää kavereilleen.

Edut videon tarjoamisessa ladattavaksi ovat:

  1. Yleisösi voi jakaa sen tiedostonjakoverkoissa (jotkut pitävät tätä haittapuolena)
  2. He voivat toistaa sen miten tahansa monta kertaa tahtovat kuluttamatta ylimääräistä kaistanleveyttä.
  3. He voivat muokata sitä.
  4. He voivat näyttää sen ilman verkkoyhteyttä (esimerkiksi elokuvanäytöksissä).
  5. Voit tarjota korkealaatuisemman videon kuin voisit tarjota verkkosivullasi selaimen tai kaisanleveyden rajoitusten vuoksi. 

Voit tarjota myös 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 pienemmässä koossa ja huonommalla laadulla) ja toinen video ihmisille ladattavaksi paremmalla laadulla ja suuremmalla resoluutiolla.

Jos tahdot jakaa videosi verkkosivullasi sinulla on muutama vaihtoehto. Ensinnäkin voit käyttää hienoa HTML5 -videotägiä, ja jos tämä ei ole mahdollista jokaiselle katsojalle, voit myös tarjota vaihtoehtoa: Cortado-soitinta. Jos sinulla ei ole pääsyä tarvittavaan palvelininfrastruktuuriin, voit edelleenkin käyttää yhtä monista tarjolla olevista videopalveluista, jotka tarjoavat ilmaista tilaa Theora-videoille (et tahdo ladata videotasi YouTuben kaltaisille sivuille, sillä videon laatu heikkenisi, ja menettäisit joitain oikeuksistasi materiaaliin).

Toinen strategia on tarjota video ladattavaksi Bittorrentilla. Bittorrent on käyttäjien välinen tiedostonjako-protokolla, joka jakaa kaistanleveyden tiedostoa samaan aikaan lataavien tietokoneiden välillä. Tällöin siirtö muuttuu sitä nopeammaksi mitä useammat ihmiset lataavat tiedostoa. Bittorrent on luultavasti taloudellisin tapa siirtää isoja tiedostoja internetissä.  

HTML5-video

Jos luot videon, tahdot ehkä näyttää sen verkkosivulla. Koodi, jolla verkkosivu luodaan, perustuu sääntöihin, joita kutsutaan HTML:ksi, ja näistä säännöistä on tullut juuri uusi versio, jota kutsutaan HTML5:ksi.

HTML5 sisältää uuden ominaisuuden: videotägin. "Tägi" on muutama rivi HTML-koodia, joka käskee selainta näyttämään jotain tai tekemään jotain. HTML5 videotägi sallii yksinkertaisen videoiden integraation samaan tapaan kuin kuvia liitetään verkkosivulle.

Videota voidaan myös näyttää hyvin käyttökelpoisten ohjaimien kanssa. Ohjaimilla videon voi toistaa, pysäyttää, äänenvoimakkuutta voi vaihtaa, ja videon aikajanaa voi vierittää.

Firefox_video_tag_en 

Perussyntaksi

Tässä on perusesimerkki videon sisällyttämisestä sivulle HTML5-koodin avulla:

 

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

 

Edellinen esimerkki liittää videotiedoston 'video.ogv' verkkosivulle. Tämän esimerkin tiedoston pitäisi olla samassa hakemistossa kuin HTML-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 myös määritellä toisella palvelimella olevan tiedoston:

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

Parametrit

Lisäparametrien lisääminen antaa lisää hallintaa videon suhteen.

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

Tässä esimerkissä videon korkeus (height) ja leveys (width) on määritelty. Jos et tahdo kuvan näyttävän vääristyneeltä, on tärkeää asettaa korkeus- ja leveysulottuvuudet oikein. autoplay merkitsee, että video soitetaan automaattisesti sivun latauduttua. controls merkitsee, että videon toistamiseen ja pysäyttämiseen liittyvät ohjaimet ovat näkyvillä.

On mahdollista liittää tekstiä tai muuta HTML-sisältöä videotägiin vaihtoehtoisena sisältönä, joka näytetään, jos selain ei tue videotägiä.

Omien ohjaintesi tai soittimen kuoren käyttö

Jos osaat hieman JavaScriptiä, voit hallita helposti videon toistoa. Sen sijaan, että käyttäisit selaimen tarjoamia ohjaimia, voit luoda oman käyttöliittymän ja ohjailla videoelementtejä JavaScriptin avulla. On kaksi asiaa, jotka sinun täytyy muistaa tätä metodia käyttäessäsi:

  1. Älä unohda pudottaa controls-attribuuttia
  2. Video tarvitsee id-parametrin, kuten tässä:
    <video src="video.ogv" id="omavideo"></video>

Joitain JavaScript-funktioita:

video = document.getElementById("omavideo");
//toista video
video.play();
//pysäytä video
video.pause();
//mene 10 sekunnin kohdalle videossa
video.currentTime = 10;

Jos sinulla on monta videotägiä yhdellä verkkosivulla, sinun tulee antaa jokaiselle yksilöllinen id, jotta JavaScript tietää, mihin videoon ohjaimet viittaavat.

Videotägien tarjoamien funktioiden ja tapahtumien koko lista löytyy HTML5-spesifikaatiosta sivulla http://www.whatwg.org/specs/web-apps/current-work/#video

Manuaaliset vaihtoehdot

Edellisessä yksinkertaisessa esimerkissä videoelementti näyttää tekstin videoelementin sisällä, jos selain ei tue sitä.

Tekstin sijasta on mahdollista käyttää Cortadoa vaihtoehtona, jos selain tukee Javaa. Cortado on avoimen lähdekoodin useamman alustan ja selaimen Ogg Theora -soitin, joka on kirjoitettu Javalla. Hieno asia on, että käyttäjän ei tarvitse ladata mitään ylimääräisiä Java-paketteja, koska sovelma käyttää selaimen sisäistä Javaa. Cortadon kotisivu löytyy täältä:

http://www.theora.org/cortado/

Esikäännetty sovelman versio on myös saatavilla tästä osoitteesta:

http://www.theora.org/cortado.jar

Voit ladata jar-tiedoston tai voit viitata siihen suoraan. Seuraavassa esimerkissä Cortado liitetään sivulle (kaikkia parametrejä ei vaadita, mutta tämä lista antaa kuvan mahdollisista vaihtoehdoista):

    <applet code="com.fluendo.player.Cortado.class"
            archive="http://www.theora.org/cortado.jar" 	    width="352" 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>

Jos tahdot ladata jar-tiedoston vaihtoehtona, varmista että laitat sen (cortado.jar) ja edellisen HTML-sivun samaan hakemistoon. Vaihda sitten seuraava rivi sisältämään viite (linkki) omaan OGG-striimiisi (suoraan lähetykseen tai esinauhoitettuun):

<param name="url" value="http://palvelimeni.fi/theora.ogv"/>

Jos nyt avaat verkkosivun selaimessasi, se soittaa videon. 

Käyttääksesi Cortadoa vaihtoehtona, aseta Cortado-tägi HTML5-videotägin sisään - 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. Nämä kirjastot mahdollistavat yksinkertaisen sivulle liittämisen, vaikka säilyttävät vaihtoehtoiset soittimet ja toistomenetelmät eri selaimissa.

Mv_Embed

Mv_embed -kirjastoa on helppo käyttää. Yksi JavaScript-tiedosto mahdollistaa HTML5-videotägin käytön ja ominaisuuksien uudelleenkirjoittamisen soittimelle, joka toimii monissa selaimissa ja lisäosissa. Lisätietoa 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

ITheora on PHP-skripti, joka mahdollistaa ogg/theora/vorbis-videon (ja audion) toistamisen. Se on helposti asennettava ja käytettävä. Itheoran sivulla on dokumentaatiota soittimen ja kuorien käytöstä.

Tuki selaimissa

Juuri nyt Firefox 3.5 on ainoa julkaistu selain, joka tukee Theoraa. Opera ja Google Chrome tarjoavat Theora-tuen beta-versioissaan. Safari tukee videotägiä, mutta tukee koodekkeja vain QuickTimen kautta - tämä merkitsee, että se ei tue Theoraa. XiphQT (http://xiph.org/quicktime) lisää Theora-tuen QuickTimeen ja Safariin.

Videot omalla sivustolla 

Voit laittaa Ogg Theora -videot omalle verkkopalvelimelle, aivan kuin kuvat tai HTML-tiedostot.

Mime-tyypit

Jotta videot toimivat niillä täytyy olla oikea mime-tyyppi.

Mime-tyyppi merkitsee tapaa erilaisten internetissä välitettyjen tiedostotyyppien tunnistamiseen. Tämä informaatio välitetään yleensä datan mukana. Lisätieto identifioi millaista informaatiota välitetään ja se ei yleensä ole ihmisten luettavisa, mutta ohjelmisto tulkitsee sen siten, että oikeanlainen data välitetään ja sen prosessoivat oikeanlaiset ohjelmat. Informaatio lähetetään siirretyn datan otsikossa.

Otsikko on pieni määrä metadataa, joka lähetetään ohjelmasta toiseen, ja joka kuvailee siirretyn tiedon tyyppiä. Tyypillinen otsikko sisältää pituuden, määränpään, mime-tyypin jne.

Mime-tyypeissä on kaksi osaa, tyyppi ja alatyyppi (joskin näihin kahteen viitataan vain "tyyppinä"). Tyyppi kirjoitetaan muodossa tyyppi/alatyyppi. On vain neljä tyyppikategoriaa - audio, video, teksti ja sovellus. Alatyyppejä on lukemattomia.

Oikea mime-tyyppi Theora-videolle on "video/theora".

Nykyisen palvelimen tulisi lähettää oikeat tiedot. Jos palvelimesi ei lähetä oikeita otsikoita, sinun täytyy muuttaa verkkopalvelimesi asetuksia. Jos käytät Apache-verkkopalvelinta (verkon suosituin palvelin) on kaksi tapaa tehdä tämä:

  1. voit lisätä kaksi riviä Apache-verkkopalvelimen asetuksiin
  2. voit mahdollisesti tarjota lisäasetuksen laittamalla videokansioosi .htaccess -tiedoston

Ensimmäiseen strategiaan tarvitset pääsyn verkkopalvelimesi konfiguraatiotiedostoon (httpd.conf). Tässä tapauksessa kaikki verkkopalvelimen välittämät tiedostot lähettävät oikean tiedon. Tämä on paras ratkaisu. Kuitenkaan sinulla ei ole pääsyä verkkopalvelimen konfiguraatiotiedostoon (esimerkiksi, jos käytät jaettua verkkopalvelinpalvelua) ja tahdot ehkä kokeilla toista strategiaa. Toinen strategia vaikuttaa vain videoon, joka tarjotaan samasta hakemistosta, johon laitoit .htaccess-tiedoston.

Molempia strategioita varten tarvitset informaation asiaankuuluvasta tiedostosta:

AddType video/ogg          .ogv
AddType application/ogg    .ogg

Tiedostoille httpd.conf ja .htaccess voit sijoittaa tämän tiedon tiedoston loppuun. Jos sinulla ei ole .htaccess-tiedostoa, voit vain luoda tyhjän tiedoston ja lisätä tämän tiedon (muuta tietoa ei tarvita).

oggz-chop

Apachea käyttämällä voit myös ryhtyä paljon hienostuneemmaksi. Voit esimerkiksi mahdollistaa vain tiettyyn Theora-videon osaan viittaavien ja sen toistavien URLien käytön. Jos tahdot liittää vain osan videostasi verkkosivuusi tai sallia linkittämisen tiettyyn ajankohtaan videossa, voit käyttää oggz-chop -pakettia serverilläsi. Oggz-chop asennettuna voit käyttää osoitteena tiettyä videon osaa laittamalla siirros-parametsin urliin. Käyttäisit tätä näyttääksesi 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ämän toimintamoduulin lisääminen on tämän dokumentin laajuuden ulkopuolella, joten sinun on paras ottaa yhteyttä Apache-guruun tai lukea aiheesta dokumentaatiota ennen kuin yrität tätä. 

Kuitenkin... Jos sinulla on Apache2 asennettuna ja ylläpitäjän tunnus palvelimellesi, voit kokeilla tätä komentoa asentaaksesi toimintamoduulit:

 sudo a2enmod actions

Yrität 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 täytyy sallia oggz-chopin käyttö näillä kahdella rivillä Apachen konfiguraatiotiedostossa tai .htaccess-tiedostossa:

ScriptAlias /oggz-chop /usr/local/bin/oggz-chop
Action    video/ogg    /oggz-chop

Etäkäytön salliminen

Pelkästään kuvia voidaan laittaa verkkosivuille muilta sivustoilta, ei videoita, elleivät nuo sivustot nimenomaan salli tätä. Salliaksesi muiden sivustojen videoidesi käytön domainissaan, lisää tämä rivi Apachen konfiguraatio tai .htaccess -tiedostoon:

Header Set Access-Control-Allow-Origin "*"
Tällä asetuksella palvelin vastaa lisäotsikolla 'Access-Control-Allow-Origin: *', joka tarkoittaa, että videot voidaan liittää sivuille missä tahansa domainissa sivulta sivulle. Jos tahdot rajoittaa pääsyn videoihin sallituksi ainoastaan osoitteesta http://example.org, joudut muuttamaan sen tällaiseksi:
Header Set Access-Control-Allow-Origin "http://example.org"

Huomaa, että nyt videota ei voida laittaa domaineihin, jotka ovat muita kuin example.org. Access-Control-Allow-Origin -otsikko voi myös sisältää pilkulla erotellun listan sallituista domaineista. 

https://developer.mozilla.org/En/HTTP_access_control sisältää yksityiskohtaisemman kuvauksen http-pääsynvalvonnasta. 

Videoiden tarjoaminen skriptillä 

Vielä yksi vaihtoehto. Jos sinulla ei ole mahdollisuutta vaikuttaa palvelimesi asetuksiin, mutta tahdot silti käyttää videoita, voit käyttää pientä PHP tai CGI -skriptiä asettaaksesi oikeat otsikot ja tarjotaksesi videon. Sellainen skripti voisi näyttää tältä: 

<?php
$video = basename($_GET['name']);
if (file_exists($video)) {
  $fp = fopen($video, 'rb');
  header('Access-Control-Allow-Origin: *');
  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 käyttää osoitetta http://example.com/videos/?name=test.ogv sen sijaan että linkität suoraan videoosi (http://example.com/videos/test.ogv).
 <video src="http://example.com/videos/?name=test.ogv"></video>

Verkkohotellit

Monet verkkosivut tarjoavat ilmaisia verkkohotellipalveluja OGG Theora -sisällöllesi. Voit linkittää niihin suoraan verkkosivuiltasi, tai antaa ihmisille linkin ulkoisella sivustolla olevaan sisältöön.

TinyVid.tv

TinyVid (http://tinyvid.tv/) on yksinkertainen videonjakopalvelu, jonka Theora-yhteisön jäsenet ovat kehittäneet. Voit ladata videon missä tahansa formaatissa, ja se koodataan Theora-muotoon. Se tukee myös Firefogg-laajennusta Firefoxiin (http://firefogg.org/), jolloin voit koodata ja ladata videon sivustolle samaan aikaan!

Picture_14_en

The Video Bay (thevideobay.org)

Video Bay on The Pirate Bayn (http://thepiratebay.org/) ylläpitäjien uusi projekti. Tämä sivusto koodaa videon mistä tahansa formaatista Theoraan. Sivuston ylläpitäjillä on maine ihmisten etujen puolustajina tekijänoikeuksien hallitsijoita vastaan.

Picture_15_en

Archive.org

 

Archive.org on verkkosivusto, jota ylläpitää voittoa tuottamaton järjestö Internet Archive. Järjestö keskittyy digitaalisen median säilyttämiseen. Lisätäksesi videon arkistoon, sinun täytyy lisensoida työ Creative Commons (tai vastaavalla) lisenssillä. Tämä ei yleensä ole ongelma, jos teit teoksen itse, mutta voi olla ongelma, jos käytit tekijänoikeuden alaista materiaalia (esimerkiksi musiikkia videon sisällä) työssäsi, tai jos lataat jotain jonkun muun tekemää. 

Voit tarjota Ogg Theora -sisältöä Internet Archivessa ilmaiseksi, ja lisätä siihen linkin omalta verkkosivultasi. Archive.org muuntaa videosi Ogg Theora -muotoon ja moniin muihin formaatteihin, kun lataat sen arkistoon. 

Huomaa: kun käyt sivulla Archive.org, se huomauttaa jos selaimesi tukee videotägiä. Jos näet tämän viestin...

 Picture_18_en

Lataa yksinkertaisesti sivu uudelleen ja katso viestiä videoikonin alla:

Picture_26_en

Tässä vaiheessa klikkaa linkkiä, joka sanoo "try the new tag" ja klikkaa seuraavaa linkkiä käyttääksesi aina videotägiä. Tämän jälkeen videosi näkyvät Theorana. Jos tahdot suoran linkin videon Theora-versioon, kopioi "Ogg Video" -linkki vasemmassa sivupalkissa. Kun sinulla on tämä linkki, voit linkata suoraan videoon, ja kuka tahansa yhteensopivalla selaimella varustettu näkee videon toiston:

sita_en

Dailymotion

Dailymotion (http://dailymotion.com/) on yksi isommista videonjakosivustoista, ja se on näperrellyt Theora-tuen kanssa viime aikoina. 300 000 videota on muunnettu Theoraan, ja anomalla "motion maker" -käyttäjätiliä (ja saamalla hakemuksen hyväksyttyä) voit julkaista siellä videoita käyttäen Theoraa. Heidän kokeellinen Theora-portaalinsa on täällä: http://openvideo.dailymotion.org/.  Huomaa: kaikki videot tässä portaalissa eivät näky vielä Theorana, joten tarkasta että videosi toimivat ennen kuin luotat tähän palveluun. 

Picture_22_en

Wikimedia Commons

Wikimedia Commons ( http://commons.wikimedia.org/ ) on verkkosivu, jota ylläpitää Wikimedia Foundation ( http://wikimediafoundation.org/ ), voittoa tuottamaton organisaatio, joka ylläpitää myös Wikipediaa. Se on tietokanta mediatiedostoista, jotka ovat saatavilla kenelle tahansa käytettäväksi mihin tahansa tarkoitukseen. Se on avoin verkkosivu, johon kuka tahansa voi tarjota sisältöä, ja joka käyttää wiki-ohjelmistoa, joka mahdollistaa helpon yhteistyön.

Tätä sivustoa hallinnoivat täysin vapaaehtoiset toimittajat, jotka luovat myös suurimman osan sisällöstä tarjoamalla omia töitään. Yhteisö on monikielinen, kääntäjiä on tarjolla tusinoille kielille. Se kerää vain materiaalia, joka on tarjolla vapaiden sisältölisenssien alla tai kuuluu public domainiin.

 

Picture_24_en

 

Enkoodauksen perusteet

Koodaus merkitsee prosessia, jossa Theora-tiedosto luodaan pakkaamattomasta videon raakamateriaalista. Tässä tapauksessa lähdemateriaali on jossain pakatussa muodossa, väliin tulee koodauksen askel, jota tarvitaan ennen Theora-videon luomista. Tämä koodaus-dekoodaus tunnetaan usein nimellä transkoodaus, tosin tässä kirjassa käytämme synonyyminä termiä koodaus.

Koodauksen toteuttavia ohjelmia kutsutaan koodaajiksi. Monia Theora-koodaajia on olemassa, esimerkiksi ffmpeg2theora ja VLC, nimetäksemme muutamia. 

Ennen koodausta käyttäjän täytyy päättää ainakin kaksi parametriä:

Käytetystä koodaajasta riippuen enemmän vaihtoehtoja voi olla tarjolla koodausprosessin kontrolloimiseksi:

Videon laatu, bittinopeus ja tiedoston koko

Useimmat Theora-koodaajat antavat käyttäjän määritellä suoraan koodatun videon subjektiivisen laadun, yleensä skaalalla 0-10. Mitä korkeampi laatu, sitä suurempia ovat tuloksena syntyvät Theora-tiedostot. Useimmat koodaajat voidaan vaihtoehtoisesti konfiguroida koodaamaan annettua keskimääräistä bittinopeutta varten. Vaikka tämä vaihtoehto on käyttökelpoinen Theora-videotiedostojen luomiseen striimausta varten, se tuottaa alle optimaalista laatua ja sitä pitäisi välttää.

Uusimmat versiot joistain Theora-koodaajista sisältävät 2-pass koodauksen. 2-pass koodaus antaa koodaajan asettaa määritellyn kohdebittinopeuden, jossa on optimaalinen videolaatu, ja sen pitäisi siten olla samassa tasossa laatuvalvotun koodauksen kanssa, mutta ottaa kaksinkertaisen koodausajan. 2-passs -koodauksella luodut videot eivät ehkä sovi striimaukseen.

Videon resoluutio ja kuvataajuus

On monta syytä, joiden vuoksi luomasi Theora-videon resoluution tulis olla lähdevideota pienempi:

Jos lähdevideomateriaalisi resoluutio on epätavallisen matala, voit säästää bitit, videon resoluution nostaminen koodauksen aikana voi vaikuttaa positiivisesti videon yleiseen laatuun. 

Kuvataajuuden säätäminen koodauksen aikana on yleensä huono idea, se johtaa nykimiseen ja madaltaa havaittavaa laatua paljon. Jos kuitenkin tahdot hyvin matalan kohdetiedoston laadun, yritä vähentää kuvataajuutta täsmälleen puoleen lähdetiedoston kuvataajuudesta. Tällöin tiedostokoko voi pienentyä tarpeeksi pudottamatta videolaatua liian alhaiseksi.

Videoruutujen klippaus

Joskus videon lähdemateriaali ei käytä kokonaisia videoruutuja, kuten mustien rajojen jättämistä videon ympärille. On hyvä idea poistaa mustat tai muuten käyttämättömät osat videosta, koska tämä yleensä parantaa koodatun Theora -tiedoston laatua ja tiedostokokoa. Jos mahdollista, yritä pitää videon leveys ja korkeus 16:sta kertoimina. Theora-formaatti kykenee varastoimaan satunnaisten ruutukokojen videota muttei ole siinä kovinkaan hyvä.

Videon ja äänen synkronisaatio

Täydellisessä maailmassa koodaaja kopioisi lähdevideomateriaalin videon ja äänen synkronisaation luotuun Theora-tiedostoon. Käytännössä tämä ei vain ole aina mahdollista. Theora-videotiedostojen täytyy pysyä kiinni jatkuvassa ruudussa koko tiedoston läpi. Ääniraitojen äänentoiston nopeus ei myöskään ole jatkuva Theorassa. Jotkin lähdevideoiden kuvataajuus voi kuitenkin vaihdella. Joskus ruutuja puuttuu lähdevideosta nauhoitusvirheiden vuoksi tai johtuen videoleikkausohjelmien käytöstä.

Näissä tapauksissa koodausprosessin täytyy aktiivisesti säätää äänen ja videon synkronisaatiota. Tämä tehdään joko kahdentamalla tai pudottamalla ruutuja videosta, tai muuttamalla audioraitojen nopeutta.

Avainruutujen väli

Monet Theora-koodaajat sallivat avairuutujen väliksi kutsutun parametrin muuttamisen. Suurempi avainruutujen väli kutistaa kohdetiedoston kokoa uhraamatta laatua. Avainruudut ovat ne ruudut videossa, joihin soitin voi hakeutua suoraan toiston aikana. Jos videossa on 24 ruutua sekunnissa, avainruutujen väli 240 merkitsee, että etsiminen on mahdollista vain 10 sekunnin jyvityksellä. Leikkauksen ja liittämisen jälkeen koodattu video on rajoittunut avainruutujen jyvitykseen.

Peukalosääntönä ei saa koskaan asettaa avainruutujen väliä yli kymmenen kertaa kohdevideon kuvataajuutta suuremmaksi.

Firefogg

Firefogg on Firefox-verkkoselaimen laajennuksen nimi. Firefogg lisää tuen videoiden koodaamiseksi Theoraan käyttäen miellyttävää verkkokäyttöliittymää. Se myös mahdollistaa verkkosivujen käytön videonlatauspalveluun, joka ottaa videoita tietokoneeltasi, kääntää ne lennossa Theora-muotoon ja lataa luodun Theora-tiedoston verkkosivulle.

Asennus

Firefogg vaatii Firefox-verkkoselainta, vähintään 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, käytä sitä vieraillaksesi Firefoggin kotisivulla www.firefogg.org:

ffi_00_en

Nyt voit klikata Install Firefogg. Sivun yläosassa Firefox pyytää sinua sallimaan uuden tiedoston asentamisen:

ffi_02_en 

Klikkaa Allow, jolloin seuraava dialogi ilmestyy:

ffi_02_en

Klikkaa Install Now. Asennuksen jälkeen sinua pyydetään käynnistämään Firefox uudelleen. Klikkaa Restart Firefox päästäksesi eteenpäin.

Ensimmäisen videosi koodaaminen

Koodataksesi videoita Firefoggilla tarvitset internet-yhteyden. Osia koodausohjelmasta on internetissä ja ne asennetaan tietokoneellesi.

Koodausohjelma käynnistetään käymällä osoitteessa http://firefogg.org/make. Seuraava sivusto tulee näkyviin: 

ffi_00_en

Klikkaa Select File, jolloin esiin ilmestyy tiedostodialogi, joka antaa sinun valita lähdetiedosto koodattavaksi. Tässä esimerkissä me käytämme videota my_source_video.mp4. Tiedoston valitsemisen jälkeen sinut tuodaan dialogiin, joka kysyy videon koodauksen parametrejä:

ffd_01_en 

Valitse tällä kertaa vain Save Ogg. Sinua pyydetään valitsemaan luotavan Theora-tiedoston nimi. Muista. Me valitsemme nimen my_theora_video.ogv (muista, oikea tiedostonimen pääte Theora-videoille on .ogv). Nyt koodaus alkaa, käyttäen oletusarvoisia parametrejä: 

ffd_03_en

Nyt täytyy odottaa koodausprosessin 100% valmistumista ja sitten se on valmis. 

Kehittyneemmät koodausoptiot

Käyttäen oletusarvoista parametrien joukkoa videon koodaukseen tuottaa hyvin pieniä Theora-tiedostoja, jotka on optimoitu videon striimaukseen verkossa. Videon näkyvä laatu on itse asiassa aika matala useimpien makuun. Mutta odota, Firefogg on yhtä kehittynyt kuin useimmat muut Theora-koodaajat. Pienellä säätämisellä voidaan luoda helposti korkealaatuisia videoita. Säätövaihtoehdot ovat näkyvillä verkkosivulla Save Ogg -nappulan alla.

Helpoin tapa koodauksen säätämiseen on valita yksi kolmesta ennakkoasetusvaihtoehdosta Preset-valikosta: 

ffc_04_en

Kahta ensimmäistä ennakkovalintaa kutsutaan nimillä Web Video Theora ja Low Bandwidth Theora. Molemmat on optimoitu videon striimaukseen internetissä. Jos aiot toistaa luotuja Theora-tiedostoja ainoastaan CD:ltä, USB-tikuilta tai tietokoneesi kovalevyltä, sinun ei pitäisi käyttää niitä. Käytä ennakkoasetusta High Quality Theora niiden sijaan.

Omat asetukset

Useampia koodausprosessin yksityiskohtia voidaan konfiguroida valitsemalla Custom Settings ja säätämällä alemman tason optioita muissa tarjolla olevissa valikoissa. Katsotaanpa tärkeintä valikkoa,  Basic Quality and Resolution Control:

ffc-06_1_en

Tässä voit määritellä luodun Theora-tiedoston laadun. Voit myös muuttaa koodatun videon kuvaruudun kokoa. Videon koodaaminen kohdelaatuun (kohdebittinopeuden sijasta) on suositeltu koodaustila Theoraa varten, joten yleensä et tahdo kokeilla muita koodausvaihtoehtoja muissa valikoissa.

Muita tapoja käyttää Firefoggia

Kun Firefogg on asennettu, sitä voidaan käyttää muilla sitä tukevilla verkkosivuilla. Lista näistä sivuita on osoitteessa http://firefogg.org/sites.

Enkoodaus VLC:llä

VLC-mediasoitin (www.videolan.org) mahdollistaa videotiedostojen helpon koodauksen Theora-muotoon. Koodaus voidaan tehdä joko graafisen käyttöliittymän kautta tai komentoriviltä. Seuraavat ohjeet on kirjoitettu Ubuntussa toimivaa VLC:n 1.0.1 versiota varten.

Graafisen käyttöliittymän käyttö

Kun käynnistät VLC-mediasoittimen, sinut viedään suoraan sen pääikkunaan:

vlc_en

 

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

convertb_01_en

 

Kohdassa File Selection klikkaa Add ja valitse lähdevideo koodattavaksi. Sen jälkeen voit klikata Convert/Save valikon alaosassa. Tämä vie sinut koodausdialogiin:

convertb_02_en

Kohdassa Destination klikkaa Browse ja valitse sijainti sille Theora-tiedostolle, jonka tahdot luoda. Muistakaa, että oikea tiedostonimen laajennus Theora-tiedostolle on .ogv. Kohdassa Settings aseta profiili kohtaan "Video - Theora + Vorbis (OGG)".

Sen jälkeen paina Start -nappia. Tämä aloittaa koodausprosessin ja vie sinut takaisin VLC:n päädialogiin:

convert_10_en

Ikkunan alaosassa on näkyvissä teksti "Streaming". Tämä osoittaa, että se on nopeasti koodaamassa tiedostoasi. Liukusäädin liikkuu hitaasti oikealle koodauksen edistyessä. Kun koodaus on valmis, liukusäädin siirtyy takaisin vasemmalle ja "Streaming" -teksti katoaa.

Kehittyneemmät vaihtoehdot 

Jos et ole tyytyväinen koodauksen lopputulokseen, yritä muuttaa joitain kehittyneempiä koodausparametrejä. Edellisessä koodausdialogissa, ennen Startin painamista, paina nappia, jossa on työkaluikoni, juuri vasemmalle profiilin valinnasta:

convertc_01_en

Tämä avaa uuden dialogin, jossa on 4 välilehtä, jotka on nimetty; "Encapsulation", "Video codec", "Audio codec" ja "Subtitles". Varmista, että et muuta mitään parametrejä kohdassa "Encapsulation". Tarvitsemasi videon koodausoptiot ovat "Video codec" -välilehdessä, joka näytetään alla:converto_00_en

Jos koodauksen tuloksena oleva laatu on hyvin heikko, yritä nostaa Bitratea. Jos videon lähdemateriaalilla on hyvin korkea resoluutio, yritä asettaa Scale arvoon 0.5 koodataksesi puolella alkuperäisestä resoluutiosta. Tätä kirjoitettaessa videon resoluution muuttaminen ei toimi kunnolla kaikelle lähdemateriaalille, kun VLC 1.0.1 on käytössä. 

Koodaus komentoriviltä

Jos koodaat suuren joukon tiedostoja Theora-muotoon, VLC-dialogin läpi klikkailu voi käydä pitkästyttäväksi ja virheitä tulee helposti. VLC:n komentorivikäyttöliittymä pelastaa tältä. Vaikka se ei ole yhtä intuitiivinen kuin graafinen käyttöliittymä, se antaa sinun toistaa täsmälleen koodausprosessin, jsosa on pysyvät parametrit.

Seuraavien komentoja voit käyttää koodataksesi lähdevideosi (tässä 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 käytetään graafisessa käyttöliittymässä 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'}"

Kaikki aiemmin kehittyneemmissä koodausoptioissa määritellyt 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ä näytetty komentorivi pelkästään käyttää parametrejä, jotka annettiin graafisessa käyttöliittymässä, mikä ei ole mitenkään optimoitua Theoran koodaukseen. Voimme tehdä paljon paremmin käyttämällä optioita, jotka ovat tarjolla pelkästään komentorivillä. Parempi tapa voisi olla käyttää 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 häiriöiset reunat videon ympäriltä, käytä optioita välillä croptop ja cropright. 

Nämä esimerkit vaativat, että VLC:n asennuksesi tulee VLC Theora -pluginin kanssa. Varmista pluginin olemassaolo kirjoittamalla:

vlc -p theora

Vaikka tämä printtaisi "No matching module found" voi edelleenkin olla mahdollista koodata se Theoraan, käyttämällä ffmpeg-pluginia, joka tukee myös Theoraa. Kuitenkin kehittyneempi "--sout-theora-quality" -optio ei ole tarjolla ffmpegissä.

Mikset käyttäisi graafista käyttöliittymää

Theora-koodekki toimii parhaiten, kun koodataan määritellylle videolaadulle. Koodaus annetulle kohdebittinopeudelle antaa aina huonompia tuloksia samalle tiedostokoolle. Valitettavasti ei ole tapaa määritellä videon kohdelaatua graafisen käyttöliittymän kautta, minkä vuoksi sinun ei pitäisi käyttää sitä mihinkään professionaaliseen koodaustyöhön. Huomaa myös, että et voi leikata videon reunoja kun koodaat graafisesta käyttöliittymästä.

 

ffmpeg2theora

ffmpeg2theora on hyvin kehittynyt Theoran koodaussovellus. Kehittyneempi toiminnallisuus tulee sillä hinnalla, että on pakko käyttää komentoriviä, koska graafista käyttöliittymää ei ole tarjolla Mac OS X ja Windows -käyttöjärjestelmiin voit ladata fmpeg2theoran osoitteesta http://v2v.cc/~j/ffmpeg2theora/download.html. Jos käytät GNU/Linuxin uutta versiota, on hyvin todennäköistä, että distrosi tulee ffmpeg2theora-pakettien kanssa, tai että ne voidaan asentaa distron ohjelmistopakettien hallintaohjelmalla.

Peruskäyttö

Komentorivillä voit kirjoittaa:

ffmpeg2theora my_source_video.mp4 -o my_theora_video.ogv

 Tämä koodaa lähdetiedoston "my_source_video.mp4" ja luo uuden Theora-videotiedoston "my_theora_video.ogv".

Parametrien lisääminen

Jos et ole tyytyväinen koodauksen tuloksiin, on aika alkaa säätämään koodaamisen parametrejä. Aloitamme säätämällä koodatun videon laatua. Laatu annetaan numerolla: 0 on alhaisin laatu ja pienin tiedosto, 10 on korkein laatu ja suurin tiedosto. Yritä koodata tämä 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 näyttävät 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 määritellä skaalaa, joten katso sisään tulevan videon kokoa ja laske kohteen ruutukoko tarpeen mukaan. Useimmissa tapauksissa on paras vain määritellä yksi optioista --width tai --height, puuttuva optio säädetään sitten automaattisesti oikeaan arvoon.

Kehittyneemmät optiot

Ffmpeg2theora tukee monia muita parametrejä kehittyneempään käyttöön, niitä kaikkia ei voida kuvailla tässä yksityiskohtaisesti. Saadaksesi yleiskuvan kaikista tarjolla olevista optioista, kirjoita: 

ffmpeg2theora --help

Riippuen käyttämästäsi käyttöjärjestelmästä, voit kyetä avaamaan ffmpeg2theora -manuaalin kirjoittamalla

man ffmpeg2theora

 Seuraavat optiot ovat usein käyttökelpoisia:

--sync

Kopioi mikä tahansa lähdevideon audio-video synkronisaatio kohteena olevaan Theora-videoon. Riippuen käytetystä lähdevideosta tämä voi korjata audio-videon viivästyksen ongelmat, jotka johtuvat koodausprosessista.

--keyint  

Aseta avainruutujen väli, esimerkiksi ruutujen määrä avainruutujen välissä. Suuren -kokoiset arvot johtavat pienempään videon kokoon, kuitenkin etsiminen ja leikkaaminen ei toimi hyvin Theora-tiedostoissa, joissa on suuri avainruutujen väli. 

 --framerate

Asettaa kuvataajuuden luodulle videotiedostolle. Jos yrität luoda Theora-tiedostoja, joiden tiedostokoko on hyvin pieni, yritä tarkentaa puolet videon kuvantaajuudesta. 

 --starttime   --endtime

Nämä kaksi vaihtoehtoa antavat sinun kopioida vain osan lähdevideosta kun koodaat. Määritä ja määräksi sekunteja videon alusta.

2-Pass koodaus

Tuleva versio 0.25 ffmpeg2theorasta tulee tukemaan 2-pass koodaustilaa, jota kuvaillaan tässä osassa. Kun versio 0.25 julkaistaan, lataa se osoitteesta http://v2v.cc/~j/ffmpeg2theora/download.html. Nämä esimerkit eivät 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. Näin sitä käytetään monissa epävapaissa videokoodekeissa, kuten DivX:ssä. Kuitenkin, kuten olemme nähneet, ffmpeg2theora kykenee hyvin koodaamaan jatkuvaa kohdelaatua varten yhdellä kerralla käyttäen optiota --videoquality.

Ainoa todellinen etu 2-Pass tilan käytössä sen sijaan että käyttäisi optiota --videoquality, on kyky luoda annetun kokoinen Theora-videotiedosto. Ajattele, että tahdot koodata videon, jonka täytyy mahtua yhdelle CD-levylle, jossa on 700 MB tilaa tarjolla. Jos tahdot jatkuvana pysyvän videon laadun, mutta etukäteen et voi arvata mikä --videoquality osuu täsmälleen kokoon 700 MB. 2-Pass -tilan käyttö sopii tähän täsmälleen.

2-Pass tilan käyttö

Jos tahdot koodata videon "my_source_video.mp4" Theora-videoksi, niin että tiedostokoko on täsmälleen 700MB. ffmpeg2theora ei salli koodatun tiedoston suoraa määrittelyä. Sen sijaan tarkennat keskimääräisen videon bittinopeuden videota varten. Myös audio vaatii dataa, joka täytyy ottaa huomioon.

Päättääksemme videon keskimääräisen bittinopeuden joudumme ensin etsimään lähdevideon "my_source_video.mp4" koon. Ffmpeg2theora voi auttaa meitä tässä. Kirjoita:

ffmpeg2theora --info "my_source_video.mp4"

Mikä printtaa muun tiedon mukana:

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

}

Emme voi käyttää koko 2368 kBit/s pelkälle videollemme. Meillä on mhyös ääniraita, joka tarvitsee 128kBit/s. Kun vähennämme tästä 1% otttaakseemme huomioon äänen ja videon kapsuloinnissa jääneen tilan, meille jää 2218 kBit/s videolle ja 128 kBit/s äänelle.

Seuraava komento tekee 2-pass -enkoodauksen, luoden Theoran 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 täytyy antaa vain kerran. Jos sinun täytyy hallita prosessia tarkemmin ja tehdä kroppausta, skaalausta jne., voit vapaasti kopioida muita vaihtoehtoja edellisissä osissa annetuista esimerkeistä.

Thoggen

Thoggen  (http://www.thoggen.net/)  on yksinkertainen, helposti käytettävä DVD-imuohjelma, jolla voi luoda Theora-videoita DVD-levyistä. Huomaa, että ainoastaan video-osa DVD:stä voidaan koodata, mukana olevat valikot jäävät pois.

DVD:n koodaus Thoggenia käyttäen sisältää kaksi askelta:

  1. Valitaan DVD-otsikot imettäviksi ja koodattaviksi
  2. Konfiguroidaan koodausprosessin parametrit

Jos Thoggenia ei ole asennettu, sinun täytyy toki tehdä se ensin. Jos käytät Ubuntua, kirjoita tämä terminaali-ikkunaan:

sudo apt-get install thoggen

Salasanaasi kysytään, tämän jälkeen Thoggen asennetaan.

DVD-otsikoiden valinta koodattaviksi

Aloituksen jälkeen Thoggen löytää automaattisesti DVD-median, joka on missä tahansa DVD-soittimessa, ja esittää listan levyllä olevista otsikoista:

thoggen1_en

Sinua pyydetään valitsemaan otsikot, jotka imetään ja muutetaan Theoraan. Pisin otsikko on valittu automaattisesti, ja tämä on yleensä päävideo. Jos et tahdo tätä tiedostoa, mutta se sopimaan tarpeisiisi.

Huomaa, että voit myös konvertoida DVD-kuvan kovalevylläsi, sen sijaan että konvertoisit sen suoraan DVD:ltä. Tehdäksesi tämän valitse kuvan sijainti "Tiedosto"-valikosta. Sama otsikkojen lista näytetään, aivan kuin se olisi otettu fyysiseltä DVD:ltä.

Kun tämä on tehty, paina OK ja sinut viedään seuraavaan dialogiin.

Koodausprosessin asetukset

Seuraavan dialogin avulla voit määritellä koodausprosessin parametrejä: 

thoggen2_en

Jos olet valinnut enemmän kuin yhden videon edellisessä askeleessa, tämä ikkuna näytetään kerran jokaiselle niistä. Monikieliselle DVD:lle voit valita, minkä kielen sisällytät. Valitse laatu ja videon koko, sekä minne tallennat videon. Jos et ole varma, minkä option tahdot valita, käytä vain ennakko-oletuksia. Huomaa, että videon laatu on esitetty numeroina 1 (heikoin laatu, pienin tiedosto) - 62 (korkein laatu, suurin tiedosto).

Kun olet tyytyväinen asetuksiin, paina OK aloittaaksesi koodauksen. Silloin sinulle näytetään diaesitys videosta tilanteen näyttävän edistyspalkin kanssa, samalla kun odotat koodausprosessin päättymistä.

Nyt voit käyttää VLC:tä, tai mitä tahansa muuta Theoraa tukevaa soitinta, nähdäksesi kopiosi DVD:stä, ilman että sinun täytyy itse asiassa etsiä ja asentaa DVD asemaan, kun tahdot katsoa elokuvasi.

Huomio rajauksesta

Thoggen voi poistaa reunat vasemmalla, oikealla, ylhäällä ja alhaalla koodatessaan DVD-tiedostoa, tämä mahdollisuus löytyy 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 ympärillä on usein rajat. Vanhemmat DVD:t sisältävät usein häiriöitä ja hälyä elokuvan reunoissa, ja tämä näkyy vain katsottaessa niitä DVD:ltä PC:llä.

Tyypillistä DVD-resoluutiota 720x576 pikseliä varten kannattaa kokeilla 8 pikselin poistamista vasemmalta, oikealta, alhaalta ja ylhäältä, jolloin ruudun kooksi jää 704x560 pikseliä.

Tekstityksien perusteet

Useimmissa videoissa on ihmisiä, jotka puhuvat tietyllä kielellä; jotta näistä videoista saataisiin käytettäviä ja ymmärrettäviä globaalille yleisölle, video täytyy tekstittää tai dubata. Tekstitykset on paljon helpompi tehdä: äänen dubbaus vaatii aikaa ja kokemusta ohjelmista, mutta tekstitykset voit tehdä pelkällä videosoittimella ja tekstieditorilla. 

subtitle_example_image_en

Tekstityksien etsiminen

Ennen tekstitysprojektin aloittamista kannattaa etsiä netistä olemassa olevia tekstitystiedostoja, varsinkin jos video on tunnettu tai kaupallinen työ. Esimerkiksi, jos liität kohtauksen amerikkalaisesta dokumenttielokuvasta videoon, on olemassa resursseja, joista voit etsitä tekstityksiä tälle materiaalille. Kuitenkin on vaikea löytää valmiita tekstityksiä muille kuin tunnetuille videoille tai elokuville, ja avoimen lisenssin tekstityksiä on vielä vaikeampi löytää.

On muutamia seikkoja, joihin törmää helposti etsiessään tekstityksiä. Elokuvista on melkein aina monta erilaista versiota. Voidaan kuvitella, että mikä tahansa ylimääräinen kohtaus, pidennetyt alkutekstit, tai formaatin muutos voi muuttaa tekstityksien ajastusta, mikä yleensä tekee tekstityksistä hyödyttömiä. On siis tärkeää etsiä tietyn elokuvaversion ääneen sopivia tekstityksiä. On olemassa vapaita ohjelmistotyökaluja, kuten Sub Downloader (http://www.subdownloader.net/), joka helpottaa ongelmaa sovittamalla tekstitykset tiettyihin elokuvaversioihin. Toinen 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 löytämiseen:

Tekstitystiedostojen formaatit

Tekstitystiedoston formaatti tarkentaa tiedoston formaatin (teksti tai kuva), joka sisältää tekstitykset ja ajastustiedot. Jotkin tekstiin pohjautuvat formaatit mahdollistavat tyylitietojen tarkentamisen, kuten värien 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, käytetään 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 myös 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 pitäisi toistaa videossa. SRT on hyvin yksinkertainen, laajalti käytetty tekstitysformaatti. Jos löydät olemassaolevan SRT-tiedoston videolle, joka sinun täytyy tekstittää, on helppoa luoda tekstitykset muille kielille, kun tiedät kuinka SRT-tiedosto toimii.

SRT-tiedosto on lista rivejä, jotka näyttävät tältä:

  1
  00:03:05,260 --> 00:03:07,920
  Hei maailma.

Ensimmäinen rivi on tekstityksen numero, joka alkaa numerosta 1 ja jatkuu niin pitkälle 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 jälkeen tulevat rivit ensimmäiseen tyhjään riviin asti ovat varsinainen tekstitys. Yksi tyhjä rivi tarvitaan merkitsemään tekstin loppumista. Voit lisätä kuinka monta kolmoisriviä tahansa, niin monta kuin tarvitset videoosi.

Edellisessä esimerkissä se tarkoittaa vain, että ensimmäinen tekstitys ilmestyy ajankohtana 3 minuuttia ja 5,26 sekuntia, katoaa kohdassa 3 minuuttia ja 7,92 sekuntia, ja tekstinä on "Hei maailma". Siinäpä se.

Uuden tekstityksen luominen

Luodaksesi uuden tekstitystiedoston tahdot ehkä kehittyneemmän työkalun, jolla on helppo liittää tekstitykset tiettyihin kohtiin videossa. Jubler, GnomeSubtitle, Gaupol ja SubtitleEditor ovat kaikki vapaita ohjelmistotyökaluja ja tsekkaamisen arvoisia.  

Jakelu

Tekstitysformaattien, kuten .SRT, käyttö merkitsee, että voit jaella tekstityksiä monille eri kielille jakamatta eri versiota videostasi joka kielell. Tarvitset vain erilliset .SRT -tekstitystiedostot jokaiselle vaaditulle kielelle, ja voit laittaa nuo tiedostot verkkoon.

Tämä strategia on hyvin yleinen tekstitysten maailmassa. Tekstitykset ovat mukana erillisinä tiedostoina, mikä mahdollistaa tiedoston käytön, muuttamisen tai poistamisen ilman että videotiedostoon itseensä vaikutettaisiin mitenkään. Tekniikan heikkoutena on, että tekstitysformaatista itsestään tulee ongelma. Soittimien täytyy hyväksyä formaatti näyttääkseen tekstitykset oikein. Ja käyttäjien täytyy 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 käyttä HTML5 ja JavaScript -koodia jaellaksesi eri tekstitystiedostoja verkkosivullasi.

On myös mahdollista tutkia monien .SRT-tiedostojen laittamista videotiedoston sisään. Tämä antaa käyttäjälle mahdollisuuden valita käännöksistä, jotka olet laittanut tarjolle (tai olla näyttämättä mitään tekstityksiä) ilman tarvetta muihin tekstitystiedostoihin. Tätä tukeviin patenttivapaisiin videosäilöformaatteihin kuuluvat Matroska Multimedia Container (MKV) ja Ogg -säilöformaatit.

Tekstityksien lisääminen

Jos tahdot videotiedostosi sisältävän tekstitystiedoston, jotta et joudu jakelemaan .srt-tiedostoa erikseen, joudut liittämään tekstitystiedoston videoon. Videon koodaustyökalu ffmpeg2theora sisältää muutaman komentorivioption, joilla voit liittää tekstitykset videoosi.

ffmpeg2theora on tarjolla useimpiin käyttöjärjestelmiin, kuten Mac OS X ja GNU/Linux.

Tekstityksiin liittyy kolme tärkeää komentoa:

Katsotaanpa ffmpe2theora -komennon optioiden käyttöä srt-tiedostojen liittämiseksi Theora-tiedostoon.

subtitles-language - Tämä optio asettaa määritellyn kielen. Jokaisella kielellä on standardikoodi, joka auttaa ihmisiä kuvailemaan kielen, mikä tahansa heidän kielensä onkin. Esimerkiksi englanniksi saksan kieli on german, mutta suomeksi se on saksa. Hämmennyksen välttämiseksi kansainvälinen ISO 639-1 -standardi määrittelee jokaisen kielen kahden kirjaimen koodilla. Saksan koodi on "de".

subtitles-encoding - Tämä optio määrittelee tekstin koodauksen standardin, tämä on välttämätöntä erilaisten kirjoitusjärjestelmien vuoksi. Tietokoneet käyttivät pitkään 7-bittisiä merkistöjä, joissa oli vain 127 kirjoitusmerkkiä, edustamaan kirjaimia ja muita symboleja. Esimerkiksi US-ASCII -merkistössä on 94 tulostuvaa merkkiä ja 33 kontrollikoodia. Lukemattomia 8-bittisiä merkistöjä, joissa on 256 kirjoitusmerkkiä, on ilmestynyt tämän jälkeen edustamaan eri aakkosia ja syllabisia kirjoitusjärjestelmiä. Monet 16-bittiset kirjoitusjärjestelmät mahdollistavat kiinalaisiin merkkeihin perustuvat kirjoitusjärjestelmät. Kuitenkaan 7 tai 8 bittiä ei ole tarpeeksi kaikkia yhden kirjoitusjärjestelmän merkkejä varten, eikä varsinkaan kaikille nykyisin käytössä oleville kirjoitusjärjestelmille. Ihmiset loivat Unicode -merkistön tukemaan kaikkia kieliä samaan aikaan. Unicoden UTF-8 koodaus on suunniteltu käytettäväksi verkossa, eli järjestelmien välisessä ulkoisessa viestinnässä.

Kuitenkin suuri osa ihmisistä käyttää edelleenkin vanhoja merkistökoodauksia. Näiden ongelmana on se, että ne voivat mennä päällekkäin, ne käyttävät samoja koodeja täysin erilaisille merkeille. Yleensä väärän koodauksen renderöinnin vuoksi tuloksena on sotkua. Oletusarvoisesti tekstien oletetaan olevan Unicoden UTF-8 koodauksella. Jos ne eivät ole, se täytyy kertoa ffmpeg2theoralle. Jos kirjoitat englantia, kirjoitat luultavasti ASCII-merkistöllä, ISO-8859-1-merkistöä (Latin-1), tai mahdollisesti Windowsin koodisivua 122. US-ASCII on suunniteltu UTF-8:n alaryhmäksi, joten se toimii, mutta ongelmat alkavat, jos ASCII-laajennukai käytetään Unicode-ympäristössä.

Tekstitysten liittämisen 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 --subtitles-language en -o output.ogv

Jos sinulla on espanjankielinen tekstitystiedosto, joka on koodattu latin1-merkistön mukaan:

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

On olemassa muita tekstitysvaihtoehtoja ohjelmalle ffmpeg2theora, mutta nämä ovat tärkeimmät.

Tekstityksien lisääminen videoon

Jos sinulla on Theora-video ilman sisällytettyjä tekstityksiä, on helppoa myös lisätä niitä, ilman tarvetta koodata video uudetaan. Koska jokainen tekstitysten kieli on tallennettu Ogg-tiedostoon erikseen, niitä voidaan manipuloida erikseen.

Ogg-tiedostoon sisäisesti liitetyt tekstitykset koodataan Kate-striimeiksi. Sellaiset striimit luodaan ffmpeg2theora-ohjelmalla, mutta ne voidaan myös luoda "raakana" SRT-tiedostosta. Työkalu kateenc tekee tämän. Ubuntussa kateenc on osa kate-tools -pakkausta. Asenna se tällä komennolla:

sudo apt-get install libkate-tools

Seuraava komento luo englanninkieliset tekstitykset sisältävän 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 lisätä Theora-videoosi:

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

Ubuntussa oggz-merge on osa oggz-työkalupakettia, jonka asentamiseksi voit tehdä tämän:

 

sudo apt-get install oggz-tools

Itse asiassa oggz-työkalut sallivat kaikkien videon eri raitojen voimakkaan manipulaation, joten voit lisätä enemmän kieliä audioraidalle ja niin edelleen.

Tekstityksien toistaminen

On monta helppoa tapaa toistaa tekstityksiä Ogg Theora videossa.

VLC

Asenna ensin VLC verkkosivulta (http://videolan.org/vlc) jos et ole jo tehnyt sitä.  Nämä ohjeet olettavat, että sinulla on tiedosto tai DVD, jossa on tekstitykset, jotka tahdot näyttää soittaessasi videota. 

On kolme tapaa, joilla voit käyttää VLC:tä toistamaan tekstityksiä.
  1. DVD:ltä
  2. Monikielisestä tiedostosta (kuten Matroska) 
  3. Erilliseltä tekstitystiedostolta, joka jaetaan videotiedoston kanssa.

Toista tekstitykset DVD-levyltä

Tehdäksesi tämän laita DVD-levy DVD-soittimeesi. Avaa VLC-soitin ja valitse File > Open Disk.

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

chose drive

Klikkaa tämän jälkeen OK. DVD:n valikkosivun pitäisi ilmestyä. Klikkaa sitten videota, jota tahdot katsoa. Tämän jälkeen video alkaa nopeasti ja klikkaa oikealla nappulalla videokuvaa. Valitse tekstitysraita, jonka tahdot katsoa.

vlc3_1

Tekstityksien pitäisi ilmestyä ruudulle.

Toista tekstitykset Matroska-tiedostoista

Tämän tekemisen prosessi on täsmälleen sama kuin yllä, paitsi että prosessia aloitettaessa valitset File > Open File. Silloin näet tämän ruudun.

file open vile

Sinun pitäisi klikata Browse -nappia valitaksesi videotiedoston, jonka haluat toistaa. Jos tämä on Matroska-tiedosto, jonka pääte on *.mkv, voit klikata OK selattuasi tätä tiedostoa, sillä siinä on jo tekstitystiedot. 

Tämän jälkeen valitse tekstityksen kieli klikkaamalla videoruutua ja valitse Subtitle Track > ja valitse kieli.

vlc3_1

Toista ulkoiset tekstitykset

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

file open vile

Open-laatikossa klikkaa Browse-nappia ja valitse videotiedostosi.

Laita rasti laatikkoon Use a subtitle file ja klikkaand Browse löytääksesi ulkoisen tekstitystiedoston.

vlc3_1

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).

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 pitäminen videon kanssa verkkopalvelimella 

Oletamme, että sinulla on yksi tai useampia tekstitystiedostoja (SRT-formaatissa) ja video.

HTML5 -videotägi ja Javascript

Voit tarjota Theora -videon esikatselun .srt-tiedoston kanssa ohjelman jquery.srt avulla. 

Ensin, huomaa että alla liitämme JQueryn, suositun GPL Javascript -kirjaston (http://jquery.com/), ja esimerkin JavaScript-sovelluksesta, joka näyttää SRT-tekstitykset sivulla. Se on saatavilla: http://v2v.cc/~j/jquery.srt/jquery.srt.js

Yksinkertainen HTML-dokumentti näytetään alla, siihen kuuluu modifikaatio JavaScript-tiedostojen liittämiseen ja linkki tekstitystiedostoosi. Vain yksi tekstitystiedosto voidaan linkittää kerrallaan, paitsi jos kehität JavaScript-koodia pidemmälle. 

Se on pieni skripti, joka lataa .srt-tiedoston ja näyttää sen divin sisällä sivullasi, videon alla tai päällä.

<script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="jquery.srt.js"></script> <video src="http://example.com/video.ogv" id="video" controls> </video> <div class="srt" data-video="video" data-srt="http://example.com/video.srt" />

Voit katsoa tätä Mozillan demoa, jos tahdot esimerkin tekstityksistä monilla kielillä:  http://people.mozilla.com/~prouget/demos/srt/index2.xhtml

Toinen esimerkki käyttää monia tekstitystiedostoja ja tarjoaa käyttöliittymän niiden valitsemiseen:  http://www.annodex.net/~silvia/itext/.

Tekstitetyn videon tarjoaminen verkkopalvelimella

Jos sinulla on Ogg-tiedostoja, joihin on liitetty tekstitykset, ja tahdot näyttää ne selaimessasi, et voi käyttää videotägiä juuri nyt. Kuitenkaan kaikki selaimet eivät tue videotägiä. Cortado, Java-liitännäinen, joka voi näyttää Theora-videoita, tukee myös 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"
 width="512" height="288">
    <param name="url" value="video.ogv"/>
    <param name="kateLanguage" value="en">
</applet>

Käyttääksesi tekstityksiä Cortadossa annat sille urlin videoon, jossa on tekstitykset, ja samalla tavalla annat parametrin tekstitystiedostolle käytettäväksi. Helpoin tapa on valita kieli, jonka tahdot, kateLanguage-parametrin avulla:

  <param name="kateLanguage" value="en">
On mahdolilsta myös muuttaa tai poistaa tekstitys JavaScriptin avulla. Jos tahdot vaihtaa ranskankielisiin tekstityksiin, sinun tulee asettaa kateLanguage -optio skriptistäsi kutsumalla:
  document.applets[0].setParam("kateLanguage", "fr");

Mitä suoratoisto on?

Suoratoistoa käytetään kuvailemaan äänen tai videon reaaliaikaista lähetystä internetissä. Virtaustoistettu media sallii äänen tai videon suoran lähetyksen internetin yli, jolloin internet muuttuu joukkoviestintävälineeksi. Sisältöä voi myös tallentaa virtaustoistettaviin tiedostomuotoihin, jolloin internetin käyttäjät voivat katsoa jälkeenpäin 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 käyttää suoriin lähetyksiin, kuitenkin se on usein hyvä tapa välittää korkealaatuista mediasisältöä 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) kestäisi yli 8 päivää! Useimmat ihmiset pitäisivät tätä aika hitaana!

Lataa ja soita -media ei ole streamaavaa mediaa (enemmän tästä myöhemmin) mutta se on paljon suositumpaa kuin streamaus. Tiedostonjakoverkot ovat lataa ja soita -mekanismeja, ja tämä on erittäin suosittua toimintaa internetissä. Koska laajakaistayhteydet ovat yleistymässä monissa maissa, lataa ja soita -elokuvien jako verkoissa lisääntyy.

 

Progressiivinen lataus

Progressiivinen lataus merkitsee median soittamista sen latautuessa kovalevylle. Progressiivinen lataus on käyttökelpoinen menetelmä, mutta ei niin hyödyllinen, kuin todellinen streamaus, koska se ei voi esimerkiksi tarjota monen bittitaajuuden koodausta (multiple bitrate encoding). Tämä menetelmä on kuitenkin käyttökelpoisempi 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 eteenpäin. Tämä voi olla ärsyttävää, minkä vuoksi monet käyttävät mielummin todellista streamausta lähetysmenetelmänä.

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ä käyttöoppaassa käytetään kuitenkin yleisessä käytössä olevaa terminologiaa, mikäli mahdollista.

Todellinen streamaus

Todellisen stremauksen avulla käyttäjä voi katsoa tai kuunnella mediaa, joka välitetään internetissä reaaliajassa. Todellinen streamaus on ainoa streamaustapa, joka mahdollistaa suoran lähetyksen, ja se tukee myös kehittyneempää toiminnallisuutta kuin progressiivinen lataus, jolloin käyttäjä voi hallita mediakokemustaan pysäyttämällä toiston tai kelaamalla eteenpäin tai taaksepäin.

Todellista streamausta on kutsuttu esimerkiksi verkkolähetykseksi, suoraksi lähetykseksi, verkkotelevisioksi ja nettiradioksi. Vallalla oleva termi on silti "streamaava media" (jota sanotaan yleensä vain streamaukseksi").

Progressiivisen latauksen ja todellisen streamauksen välinen ero ei aina ole ilmeinen. Jos käyttäjällä on hyvin nopea verkkoyhteys progressiivinen lataus voi näyttää toimivan täsmälleen samalla tavalla kuin todellinen streamaus.

Lataus ja soitto, progressiivinen lataus ja todellinen streamaus jakautuvat kahteen eri luokkaan: staattiseen tiedostostreamaukseen ja suoran lähetyksen 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ä sisältö tunnetaan myös on-demand -sisältönä tai arkistoituna sisältönä. Sisältö voidaan lähettää lataa ja siirrä, progressiivinen lataus, tai todellinen streamaus -prosesseilla.

Streamaus suorana lähetyksenä

Suoran lähetyksen videon tai äänen streamaus internetin yli. Vastaanottaja voi kokea tapahtuman reaaliajassa. Tästä on monia esimerkkejä, esimerkiksi verkkoradiot ja esitysten katsominen suorana lähetyksenä. Vain todellinen streamaus tukee suoraa lähetystä.

Tämä käyttöopas käsittelee lähinnä suoran ja arkistoidun lähetyksen todellista streamausta.

Koodaus

Staattisten tiedostojen streamaamiseksi verkossa  tiedostojen tulee olla pakattuja ja koodattuja "streamausmuotoon". CD-levyjen muuttaminen MP3-tiedostoiksi tekee juui tämän koodausohjelmilla. Tässä prosessissa CD:n äänitallenne muutetaan koodausohjelmalla CD (Compact Disk) ääniformaatista "streamausääniformaattiin" (MP3-tiedostoksi). Tämä vaatii datan pakkaamista ja sen laadun heikentämistä ja tiedostojen koon supistamista, ja datan muokkaamista "streamausmuotoon" (kuten MP3).

Pakkaus

On kaksi pakkaustapaa - tappioton ja tappiollinen pakkaus.

Kun koodausprosessi pakkaa lähdetiedoston niin, että se voidaan välittää internetyhteyksien yli reaaliajassa, tämä prosessi heikentää äänen ja kuvan laatua. Mitä enemmän tiedostoa pakataan, sitä pienempää kaistaa tarvitaan tiedoston soittamiseen, mutta sitä enemmän laatu laskee. Täytyy saavuttaa kompromissi, jolla saavutetaan hyväksyttävä ääni- ja videokokemus, mutta datan määrää lasketaan tarpeeksi, jotta välitys internetin yli on mahdollista. Suoran lähetyksen vaatima koodaus on samanlainen, paitsi että äänen tai videon (tai molempien) sisääntulo koodataan tiedoston sijasta. Tällä prosessilla koodausohjelma välittää koodatun datan jatkuvana virtana streamauspalvelimelle. 

Tappioton pakkaus

Tässä prosessissa datan sisältämä informaatio pakataan pienempään tilaan, ilman että dataa poistetaan. Tämän prosessin voi visualisoida kuvittelemalla paperipussin, jonka sisällä on esine. Kun pussissa oleva ilma poistetaan koko pussin koko supistuu, vaikka pussissa oleva esine ei kutistu.

Tappiollinen pakkaus

Kutsutaan usein näkyväksi koodaukseksi, tämä on prosessi, jossa tietoa "heitetään pois", jotta tiedostokokoa saadaan kutistettua. Pakkausalgoritmit ovat monimutkaisia ja yrittävät säilyttää mahdollisimman hyvän havaittavan laadun, vaikka hylkäävät niin paljon dataa kuin mahdollista.

Tappiollinen pakkaus on tarkkaa työtä. Tämän tekevät algoritmit ottavat huomioon kuinka aivot havaitsevat ääniä ja kuvia, ja sen jälkeen hylkäävät ääni- tai videotiedoston tietoa, vaikka säästävät alkuperäisen lähdemateriaalin äänen ja kuvan kokemuksen. Tämän tehdäkseen 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 käyttää kodekkia "kompressoimaan" striimin sisällön verkon yli siirtämistä varten, ja sisältöä toistava ohjelma käyttää kodekkia "dekompressoimaan" sisällön toistoa varten.

Kodekki on matemaattista taikuutta ja streamauksen sydän ja sielu. Tästä syystä eri teknologioiden tuottajat taistelevat herruudesta. Jokaisella kodekilla on oma tapansa tehdä asioita, riippuen siitä minkä kehittäjä uskoo olevan paras. Monilla kodekeilla on myös lisensseihin liittyviä ongelmia.

Bittinopeus

Pakkaus on prosessi, jolla datan määrää vähennetään. 

Useamman bittinopeuden koodaus antaa palvelimen ja soittimen neuvotella parhaan laadun streamille (korkeimman kaistanleveyden) joka tulee yksittäisestä staattisesta tiedostosta tai suoran lähetyksen streamista. Niinpä soittimeen lähetetään käyttäjän verkkoyhteyden mahdollistaman parhaan mahdollisen laadun streamia. Useamman bittinopeuden koodaus luo vain yhden koodatun streamin. 

Bittinopeuksien valitseminen vaatii useamman eri seikan huomioimista. Näihin seikkoihin sisältyy: kohdeyleisön verkkoyhteydet, toivottava videon kuvakoko, liikkeen määrä kuvissa, videon kontrastin taso, nauhoitetun äänen tyyppi (taustahäly, puhe, stereomusiikki), kameraliikkeen määrä, kameran laatu ja kameran linssi. 

Siirto

Staattisten ("arkistoitujen") tiedostojen streamaus saadaan aikaan normaalilla verkkopalvelimella. Tämä on usein paras tapa siirtää sisältöä pienessä mittakaavassa. Tätä menetelmää ei voida käyttää suoriin lähetyksiin eikä se mahdollista todellisen striimauksen kehittyneitä mahdollisuuksia, kuten useamman bittinopeuden koodausta. Tämä menetelmä mahdollistaa myös katkojen ("puskuroinnin") synnyn, eikä se voi tarjota yhtä monia samanaikaisia soitinkytkentöjä kuin todellinen streamaus. 
 
Mahdollistaakseen suoran lähetyksen striimauksen ja saadakseen täyden 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, lähetin ja yleisön omistamat vastaanottimet. 

radio_en

Yllä on yksinkertainen kaavio, joka osoittaa kuinka lähettävä radioasema toimii. Radiostudio on äänen lähde. Tässä tilassa on yleensä miksauspöytiä, cd-soittimia, minidisc-soittimia, vinyylisoittimia ja niin edelleen. Studiosta tuleva äänisignaali lähetetään lähettimeen. Tämä lähetetään studiosta lähettimeen kaapelia (jota kutsutaan joskus "maalinjaksi") tai mikroaaltolinkkiä pitkin. Lähetin lähettää äänen FM-modulaatiolla, jotta radiovastaanottimet voivat vastaanottaa sen ja toistaa sen. 

Radio toimii näin, koska se pyrkii jakamaan studion äänen mahdollisimman monille ihmisille. Jos ajattelemme radiostudiota ilman lähetintä, asemalla olisi aika rajoittunut yleisö! Käytännössä vain studioon mahtuvat ihmiset voisivat kuunnella. Joten lähetin toimii jakelukanavana, joka antaa useampien ihmisten  vastaanottaa radiovastaanottimillaan, ja näin 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 käytetään jakelemaan ääni usemmille ihmisille. 

transmit_server_en

Esimerkki on ilmeinen... Tietokone korvaa radiostudion, streamauspalvelin korvaa lähettimen, ja kuuntelijat kytekytyvät tietokoneilla palvelimeen sen sijaan, että kytkeytyisivät radiovastaanottimilla lähetettyyn signaaliin. Tätä esimerkkiä voidaan jatkaa pidemmälle. Suuremman radiolähettimen käyttö on kuin suuremman kaistanleveyden hankkiminen streamauspalvelimelle - molemmat antavat useampien ihmisten vastaanottaa ääntä.

Icecast

icecast_cover_5_en

Verkkomaailman audioon ja videoon liittyvät streamaukseksi kutsutut tekniikat. Streamaus on yksinkertaisimmillaan äänen ja videon siirtämistä internetissä reaaliajassa. Perinteisesti streamausta on käytetty suoraan äänen lähettämiseen netissä, tai tapahtumien lähettämiseen internetissä, niin että niitä voi katsella kotoa.

Streamauksesta puhutaan usein yleisradiolähetysten termeillä, sillä internetin suorat ääni- ja videolähetykset ovat usein samankaltaisia yleisradion televisio- ja radiolähetysten kanssa. Niinpä voit kuulla termin "internet-radio", jolla viitataan suoraan äänilähetykseen netissä. Joskus äänen tai videon suoraan lähetykseen viitataan "radiolähetyksinä internetissä" tai "internet-lähetyksinä". Näistä käsitteistä on apua yritettäessä ymmärtää streamauksen tarkoitusperiä, mutta niitä ei pidä ottaa liian kirjaimellisesti. On kuitenkin hyödyllistä ajatella näitä malleja, kun Icecastin roolia pohditaan.

Televisio- ja radiolähetyksiä varten on lähetin, joka lähettää studiosta lähetetyn signaalin televisioosi tai radioosi.

radio.gif

Internet-lähetyksiä (streamausta) varten korvaat lähettimen streamauspalvelimella, joka on itse asiassa ohjelmisto.

transmit_server.gif

Icecast on tällainen ohjelma. Se mahdollistaa suoran ääni- ja videolähetyksen netissä reaaliajassa. Huomaa, että tämä on vain osa yhtälöstä. Tarvitset myös streamin koodaajan, joka voi lähettää alkuperäisen ääni- tai videostreamin Icecastiin. Icecast jakelee tämän streamin, se ei luo sitä - se on koodaajan tehtävä. 

Icecast on hyvin kypsä ja kestävä teknologia. Se tukee monien streamaavan äänen formaattien lähettämistä (sisältäen MP3 ja Ogg Vorbis -formaatit) ja se tukee Ogg Theoran lähettämistä streamaavana videona. Icecast toimii Linuxissa ja Windowsissa. Jos tahdot asentaa sen Linuxiin, sinulla täytyy olla jonkin verran kokemusta Linuxin kanssa, erityisesti tulee tuntea ohjelmien asentaminen komentoriviltä, ja kyetä editoimaan tekstiin perustuvia konfiguraatiotiedostoja. Windowsin asennusprojekti on suoraviivaisempi, mutta silti täytyy kyetä editoimaan tekstipohjaisia konfiguraatiotiedostoja.

Icecastin asentaminen ja käyttäminen ei sovi kokemattomille käyttäjille.

TSS

TSS (Theora Streaming Studio) on erinomainen koodaaja Ogg Theora -streamien lähettämiseen Icecast-serverille. TSS-kotisivut kannattaa lukea, sillä niillä on yleiskatsaus sen toimintoihin ja asennusohjelmia:

http://gollum.artefacte.org/tss/

tss01_en

TSS toimii graafisen käyttöliittymän avulla, joten ei ole tarpeen tehdä mitään komentorivillä. TSS voi lähettää yhden tai useampia streameja eri asetuksilla samasta videolähteestä. Videolähde voi olla digitaalinen video tai analoginen video videokaappauslaitteen kautta, jollainen voi olla verkkokamera, USB-videosisääntulo tai video-in-liitäntä. Pidä mielessäsi, että nopea tietokone, jossa on ainakin kaksi gigaa RAM-muistia tarvitaan streamaamaan kahteen kohteeseen ilman freimien menetyksiä tai audiosynkronisaation menetystä.

TSS voi myös näyttää ulos menevän streamin esikatselun, se voi samaan aikaan arkistoida streamit levykkeelle (mutta tämä riippuu hieman siitä, kuinka nopea tietokoneesi on).

TSS hallinnoi komentorivin ohjelmia: 

  1. dvgrab - kaappaa videon suorasta lähteestä, kuten kamerasta
  2. ffmpeg2theora - muuntaa videotiedostot Ogg Theoraksi
  3. oggfwd - lähettää videot streamauspalvelimeen

TSS ottaa graafisessa käyttöliittymässäsi asettamasi konfiguraation ja luo asiaankuuluvan komentorivin käyttäen näitä kolmea ohjelmaa, jotta et joudu asettamaan niitä monimutkaissa komennoissa käsin.

Voidaan aina kopioida kometorivi, jota TSS käyttää, se printataan statusikkunaan, pieneen mustaa tilaan, joka näkyy Execute ja Stop -nappuloiden alla. Vieritä hiiren osoittimella ja valitse teksti. Voit sen jälkeen ajaa nämä komennot suoraan komentoriviltä, säästäen joitain resursseja välttämällä graafisen järjestelmän avaamisen.

TSS:n pääkehittäjä on Lluis Gómez i Bigordà, nykyinen julkaisu (helmikuu 2009) on 0.2. Projektin status on aktiivinen.

TSS:n asennus

TSS voidaan asentaa vain Linuxiin. Katsomme nyt TSS:n asennusta Ubuntussa.

Käy ensin TSS-lataussivulla:

http://gollum.artefacte.org/tss/#download

Näet osan, jossa on kaksi linkkiä. Yksi linkki on "Debian / Ubuntu package". Tahdomme asentaa sen version. Napsauta tätä linkkiä käyttäen FireFoxia, ja näemme tällaisen ikkunan ilmestyvän:

 

downloadtss

Optio on oletusarvoisesti juuri se, jota tahdomme käyttää. Jos avaamme asennusohjelman GDebi-paketinasennusohjelmalla, silloin asennusohjelma lataa ja asentaa automaattisesti. Tehdään niin. Klikkaa ja se asentuu.

Asennus 64-bittiseen

Kun asennat TSS-ohjelmaa, voit nähdä tällaisen virheen:

error_arch

Tämä merkitsee, että yrität asentaa koneen tietokoneelle, jonka "arkkitehtuuria" ohjelma ei salli. Voit kiertää tämän, mutta sinun täytyy tehdä se komentorivillä. Ensinnäkin, GDebin käytön sijasta joudut lataamaan lähdetiedostot (.tar.gz -tiedosto). Sitten joudut kirjoittamaan tämän 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 nämä komennot:

tar zxvf 
tss-0.2.tar.gz

 

cd tss-0.2
./autogen.sh

Huomaa: asennettavan tiedoston nimi on luultavasti erilainen kuin yllä.

Sen jälkeen aja seuraavat komennot:

 make
sudo make install

Kirjoita "TSS" komentorivillä. Jos se ei toimi, kokeile tätä:

sudo cp src/tss /usr/bin/

Kokeile sitten aloittaa TSS uudestaan komentoriviltä:

tss

TSS käytössä

On kaksi erilaista pääpaneelia, joiden täytyy sisältää oikeat asetukset, jotta striimiä voi lähettää: lähde ja kohde -välilehdet:

tss1_source.png 

Source -välilehdestä voit valita videon sisääntulon tyypin. Kun käytät minimaalista järjestelmää, on olemassa vaihtoehto käyttää verkkokameraa video for linuxin (v4l) kautta. Voit valita myös digitaalisen videon sisääntulon - tämä on hyödyllinen, jos tahdot lähettää suoraa videota kädessä pideltävästä kamerasta.

TSS tarjoaa myös mahdollisuuden streamata olemassaoleva (arkistoitua) videotiedosto tietokoneeltasi Icecast-palvelimelle.

Toinen välilehti on target1, tässä määrittelemme streamien asetukset päästreamiamme varten. Alla on esimerkki:

 tss2_target1.png 

Kaikki kentät kohdassa ffmpeg2theroa encoding settings pitää täyttää.

On tärkeää pitää mielessä, että kaikella tähän 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 myös, että mitä korkeampi tämä bittinopeus on - sitä enemmän kaistanleveyttä tarvitaan sen lähettämiseen Icecast-palvelimelle, ja sitä korkeammat ovat streamiisi kytkeytyvän yleisön kaistanleveysvaatimukset. Joten, jos osa katsojistamme on Kolumbiassa, jossa keskimääräinen verkkoyhteys on vieläkin 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 lähettämiseen korkealla resoluutiolla ja korkeatasoisella pakkauksella, meidän täytyy varoa yli 128kbps bittinopeuden käyttöä, koska muuten ihmiset Kolumbiassa eivät näe sitä.

Seuraavat kategoriat liittyvät TSS-enkoodauksen vaihtoehtoihin sekä target1 että target2 -kohteille:

Frame size (ruudun koko): Tässä määrittelemme videostriimin ulottuvuudet pikseleinä. 320 kertaa 240 on standardi. Alhaiselle kaistanleveydelle voidaan käyttää ruudun kokoa 320 kertaa 180.

Frame rate (ruutunopeus): Tämä asetus määrittelee, kuinka monta ruutua voimme lähettää sekunnissa. Erilaiset tapahtumat vaativat erilaisia ruututaajuuksia. Konferenssin tapauksessa kohteet eivät liiku tai vaihda paikkaa kovin paljon, joten 12 fps (fps = frames per second, ruutua sekunnissa) -asetus voi olla sopia. Edellisessä esimerkissä päätimme uhrata ruututaajuuden suuremman ruudun koon hyväksi. Valitsimme 25:3, mikä merkitsee noin 8fps ruututaajuutta.

Video Quality (videon laatu): Tähän asetukseen voi laittaa arvoja väliltä 0-10. Oletusarvoinen videon enkoodauslaatu ffmpeg2theoralle on 5, suuremmat arvot merkitsevät parempaa laatua. 

Audio Quality (äänen laatu): Tähän asetukseen voi laittaa arvoja väliltä -2 - 10. Enkoodauslaatu äänelle on oletusarvoisesti 1. Suuremmat arvot merkitsevät parempaa laatua.

Audio Channels (äänikanavat): Asettaa ulostulon äänikanavien määrän. Valinnat ovat 0 (ei ääntä), 1 (mono) ja 2 (stereo).

Audio samplerate (äänen näytetaajuus): Esitetään Hertzeinä. Tämä laatikko asettaa äänen ulostulon näytetaajuuden.

Ulosmenevän streamin teknisiä asetuksia käsittelevien laatikoiden alle voit kirjoittaa tiedot, jotka tahdot yleisön tietävän:

ffmpeg_meta

Tämä informaatio ffmpeg2theora metadata -laatikoissa on potentiaalisesti tarjolla yleisöllesi. Riippuu heidän tavastaan katsella streamia (selaimella tai soittimella), näkevätkö he tämän metadatan. Voit kirjoittaa tähän mitä tahansa tietoa, sillä ei ole väliä - jätä huomiotta kategoriat (sijainti, päivämäärä jne.), joita et tahdo käyttää.

Seuraavaksi on laatikot icecast server settings ja icecast metadata.

tss_icecast 

Kohdassa icecast server settings meidän täytyy määritellä streamauspalvelimen osoite (server), tämän serverin käyttämä portti (port), joka on yleensä 8000, käyttämämme kanava (mountpoint), ja salasana (password). Jos sinulta puuttuu pääsy Icecast-pelvelimelle, on olemassa muutamia ilmaisia projekteja, jotka pyrkivät auttamaan ihmisiä vapaiden ohjelmistojen käytössä. Katso estudiolivre.org tai GISS.tv.

Icecast metadata -asetuksiin voit laittaa yleisölle hyödyllistä tietoa streamistasi. Tämä tieto näytetään palvelimen verkkosivulla (jokaisella Icecast-palvelimella on oma verkkosivunsa). Vaikka niillä on omat otsikkonsa, voit laittaa tähän mitä tahansa tietoa, sillä ei ole väliä.

Viimeisessä välilehdessä on otsikon esikatselu (preview).

tss3_preview.png 

Jos rastitat kohdan enable preview window (esikatselu-ikkuna päällä), näet esikatselun suorasta lähetyksestä enkoodatessasi sitä. Tämä ei ole sama video kuin se, joka lähtee Icecast-palvelimelta, joten kannattaa aina katsoa sekä esikatselua että palvelimelta tulevaa streamia (monitoroi sisääntulevaa streamia toisella tietokoneella).

Jos tahdot lähettää yhden streamin, joudut katsomaan vain asetuksia välilehdissä Source ja Target1. Jos tahdot lähettää kaksi streamia, joudut katsomaan asetuksia myös välilehdessä Target2. 

Kun olet määritellyt kaikki tarvittavat tiedot jokaiselle ulosmenevälle streamille ja yhdistänyt oikean videolähteen (tai olet valinnut toimivan videotiedoston streamattavaksi), paina vain "Execute" ja streamauksen pitäisi alkaa!

ffmpeg2theora-streamaus

Tämä menetelmä keskittyy videon streamaukseen digitaaliselta videokameralta tai Firewire-kameralta GNU/Linuxia käyttäen. Videostreami on Ogg Theoraa, joten katsojasi voivat nähdä sen käyttäen Theora-yhteensopivaa soitinta, kuten FireFox 3.5, tai Java-sovelmaa, kuten Cortado. Tätä seurataksesi sinun täytyy osata käyttää komentoriviä ja sinulla täytyy olla pääsy sudo-komennon käyttöön. Jos et tiedä mitä nämä asiat ovat, kannattaa lukea hyvä kirja komentorivin käytöstä.

Valmistautuminen

Huomaa: Firewire-kamera ei ole sama kuin digitaalinen videokamera. Kuitenkin tässä tapauksessa ne toimivat samoin. Firewire on Applen nimi IEEE 1394 -standardille, muuta valmistajat käyttävät esimerkiksi nimiä i.Link (Sony) tai Lynx (Texas Instruments) - mutta sillä ei ole väliä, kaikki ovat standardin IEEE 1394 mukaisia.

Tarvitset seuraavat:

Asetukset

Seuraavaksi asennetaan tarvittavat ohjelmat. Meidän täytyy asentaa seuraavat ohjelmat:

Ubuntussa voit ajaa tämän komentorivin:

sudo apt-get install dvgrab ffmpeg2theora oggfwd

Edellisen komennon pitäisi näkyä yhdellä rivillä. Sinulta kysytään salasanaa, kirjoita tämä ja asennusprosessi alkaa. Nyt sinulla on kaikki mitä tarvitset aloittamiseen. Ensin meidän täytyy yhdistää digitaalinen videokamera tai Firewire-kamera tietokoneeseen. Sinun täytyy kytkeä Firewire-kameraan Firewire-kaapeli, ja toinen kaapeli tietokoneesi Firewire-sisääntuloon.

Käännä nyt kamera päälle. 

Seuraavaksi sinun täytyy kirjoittaa seuraava komentorivi, joka tarjoaa streamauspalvelimen yksityskohdat Icecast2-palvelimelle. Komento on:

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 täytyy olla kokonaan yhdellä rivillä (edellinen esimerkki ei ole). Korvaa myös alla olevat yksityiskohdat tiedoilla, joita sinulla on Icecast-palvelimesta:

icecastserver korvataan streamauspalvelimen nimellätai IP-osoitteella. 8000 on portin numero ja on yleensä sama. Salasanaksi kirjoita palvelimesi salasana. Lopulta voit korvata kohdan /theora.ogv asennuspisteelläsi, tämän riippuu Icecast-palvelimesi asetuksista, mutta voi olla mitä tahansa, kunhan se alkaa eteenpäin kallistuvalla kenoviivalla (/) ja loppuu .ogg tai .ogv.

Nyt sinun pitäisi voida streamata! Tarkastaaksesi yhteyden, kokeile sitä ohjelmilla VLC tai Firefox 3.5.

Suoratoisto VLC-ohjelmalla

VLC voi myös suoratoistaa Theora-tiedostoja Icecast2 -streamauspalvelimelle. Tämä toimii VLC versiosta 0.9.4 ylöspäin Ubuntussa, ja myös VLC:n aiemmilla versioilla Windowsissa (tosin prosessi on erilainen VLC:n aiemmissa versioissa). On mahdollista streamata videotiedostoja koneeltasi, elävää verkkokameran kuvaa tai käsin pideltyä kameraa. Jos sinulla on sylimikro, jossa on sisäänrakennettu kamera, voit streamata myös sitä käyttäen.

Jos käytät Ubuntua, on parempi päivittää Ubuntun versio Intrepidiin (8.10) tai Jauntyyn (9.04), koska molemmissa on VLC:n versio, jolla on helppo streamata. Jos et tahdo päivittää käyttöjärjestelmää, joudut asentamaan VLC:n viimeisimmän version lähdetiedostosta - ole varovainen, VLC:n päivittäminen lähdetiedostoista on vaikeaa.

Suoratoistopalvelimen vaatimukset

Tutkimme striimausta Icecast-palvelimelle. Sinulla täytyy olla yhteys joko Icecast-palvelimelle tai johonkin, joka voi luoda sinulle käyttäjätilin ja tarjota pääsytiedot. Sinun täytyy tietää seuraavat seikat Icecast-palvelimesta:

Streamattavan videotiedoston valinta

Katsotaanpa streamausta käyttäen kannettavaan koneeseen sisäänrakennettua kameraa. Prosessi on hyvin samanlainen kuin käytettäessä ulkoista kameraa tai arkistoituja videotiedostoja.

Ensin sinun täytyy avata VLC. Valitse nyt Streaming valikosta Media:

vlc_stream_en

Tämä avaa paneelin, josta voit valita videostreamin lähteen. 

streamwindow_en 

Valitsemme viimeisen välilehden - Capture Device, tässä voisit kuitenkin valita toisen välilehden streamataksesi videota levykkeeltä (esimerkiksi DVD:ltä), arkistoiduista tiedostoista, tai välittää sisääntulevan videostreamin. Kaappauslaitteen ikkuna näyttää tälle:

streampanel

Jos kaikki toimii hyvin, sinun ei ehkä tarvitse muuttaa mitään asetuksia tässä ikkunassa. Sen sijaan napsauta vain Stream-nappulaa.

Streamin asetukset

Streamin asetuksien Outputs-kohdassa on osio Icecastin konfiguroimiseen.

icecastconf 

Sinun täytyy vain rastia laatikko ja täyttää yksityiskohdat. Tässä on muutama asia muistettavaksi:

  1. Mountpoint alkaa aina merkillä "/".
  2. Osoite ei ala "http://".
  3. Yleensä et saa käyttäjänimeä Icecastiin. Tässä tapauksessa käyttäjänimi 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 välilyöntejä. Esimerkiksi striimi Icecast2:n oletusarvoiseen asennukseen (oletusarvoinen salasana on aina "letmein") olisi:
    source:letmein

icecastdetails 

Kun kirjoitat tiedot, näet tekstin muuttuvan kohdassa 'Generated stream output field' ikkunan pohjalla.

mrl

Kokenut käyttäjä voisi kirjoittaa tämän tiedon suoraan käyttämättä tarjottuja kenttiä, mutta on paljon helpompaa täyttää laatikot, kuten vaaditaan.

 

Nyt sinun täytyy vain painaa 'Stream' ja suoran lähetyksen streami lähtee Icecast2 -palvelimelle. Kuitenkaan VLC ei tarjoa kunnon virheilmoituksia, joten se voi istua aloillaan näyttäen sille, että streamaa onnessaan, vaikka todellisuudessa mitään ei tapahdu. VLC voi jopa näyttää "Streaming" statuspalkissa, mutta tämä ei merkitse mitään!

notstreaming 

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

Theora-virtaustoiston tallentaminen

Jos käytät GNU/Linuxia, on helppoa tallentaa Ogg Theora -striimi. Tämä johtuu siitä, että Theora käyttää HTTP:tä virtaustoistoon, joten voit käyttää wget-ohjelmaa, joka on yleensä mukana Linux-distroissa. Käytät wget-komentoa virtaustoiston kaappaamiseen näin: 

wget http://streamingserver:8000/streamname

Esimerkiksi, jos palvelin on osoitteessa icecast.streamingsuitcase.com ja virtaustoistotiedoston nimi on theora.ogg, voit käyttää 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 tätä:

while true; do wget http://icecast.streaminguitcase.com:8000/theora.ogg;done

Toinen etu wget-komennon käytöstä arkistointiin on, että se lisää tiedostonimet. Jos arkistoit striimin yllä mainitun esimerkin mukaan, tiedosto tallennetaan nimellä theora.ogg. Jos pysäytät 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 eivät ole suorana lähetyksenä, on joskus mahdollista ekstraktoida osittain. Tämä toimii vain, jos palvelimen ylläpitäjällä on oggz-chop asennettuna. Se sallii hakemisen palvelinpuolelta. Jos se on installoitu, voit tarkentaa "sisään" ja "ulos" -kohdat. joten jos tahdot vain ladata videon 23 sekunnin kohdalta 42 sekunnin kohdalle, lisäät ?t=23/42 URLin loppuun:

wget http://example.org/theora.ogv?t=23.0/42.0

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

Editoinnin perusteet

Ogg Theora on loistava jakeluformaatti, mutta sitä voidaan myös 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 PiTivi on paras vaihtoehto Theora-tiedostojen yksinkertaiseen editointiin. Kdenlive kaatuu usein, kun tiedostot viedään Theoraan (ja ulostuleva tiedosto on väärin formatoitu) ja Cinelerraa on vaikea sekä asentaa että käyttää. 

Jos käytät Ubuntua, PiTiVi on vielä parempi vaihtoehto, sillä asennus on hyvin yksikertaista. Lisäksi PiTiVi on rakennettu GStreamer -multimediakehyksen ympärille (jota Ubuntu käyttää), joten voit tuoda ja editoida miltei mitä tahansa GStreamerin tukemaa mediatiedostoa (joita on paljon), ja viedä sen Theoraan.

PiTiVi toimii kuin useimmat editointiohjelmat: se purkaa videotiedostot prosessissa, jossa videodata tuodaan editointiohjelmaan joten voit katsella ja selata kaikkia kuvia ja ääniä, järjestää ne uudelleen, ja tehdä kaikenlaisia juttuja. Kun lopetat, pakkaat editoidun materiaalin viemällä tuloksen. Tällä pakkaamisen ja purkamisen prosessilla on kuitenkin hintansa, sillä menetätä hieman laatua jokaisella pakkauksella tai purkamisella, jonka teet. Tämän vuoksi editointiprosessia kutsutaan tappiolliseksi editoinniksi.

PiTiVi

PiTiVi on videoeditori GNU/Linux -käyttöjärjestelmään. Se tukee Ogg Theora -videon tuomista ja viemistä. Juuri nyt se tukee peruseditointia, videoleikkeiden leikkaamista, aikajanalle järjestämistä ja äänitasojen säätämistä.

PiTiVillä on oma dokumentaationsa, jota tahdot ehkä lukea. Se löytyy osoitteestahttp://www.pitivi.org/wiki/Manual#Proposed

Erittäin hyvä PDF-muodossa oleva manuaali on myös saatavilla osoitteesta http://jeff.ecchi.ca/blog/?p=897

Asentaminen

PiTiVi toimii vain GNU/Linux -käyttöjärjestelmässä. Jos sinulla on Ubuntu Jaunty (9.04), voit asentaa erittäin käyttökelpoisen version PiTiVistä komentoriviltä (päätteestä) komennolla:

sudo apt-get install pitivi

Sinulta kysytään salasanaa, sen kirjoitettuasi asennus tapahtuu automaattisesti.

Kun asennus on valmis, voit avata PiTiVin Sovellukset-valikosta (listattu kohdassa Ääni & Video).

pitivi_en

Voit myös katsoa linkistä http://pitivi.org/wiki/Downloadsohjeita uudempien versioiden asennukseen. PiTiViä kehitetään juuri nyt aktiivisesti, uusia versioita tulee säännöllisesti. 

Videon tuominen

Kun olet avannut PiTiVin, voit painaa plus (+) näppäintä käyttöliittymässä, jotta voit Tuoda leikkeitä.

plus 

Tuodut viedoleikkeet on lisätty Clip Libraryyn. Voit käyttää kaikkia formaatteja, joita GStreamer tukee. Jos et tiedä mitä tämä tarkoittaa, helpoin tapa tietää mitkä tiedostot toimivat PiTiVillä on soittaa niitä Totemissa (löytyy Ääni ja Video -sovellusvalikosta ja on nimetty "Elokuvasoittimeksi"). Jos tiedosto toimii Elokuvasoittimessa, sitä voidaan käyttää myös PiTiVin videoleikkeenä.

Voit jatkaa leikkeiden lisäämistä Clip Libraryyn (digitaalisen kellon videon on luonut Riccardo Iaconelli). Niitä voi lisätä niin paljon kuin haluat.

cliplibrary

Videoleikkeiden lisääminen

Kun olet tuonut videoleikkeet, joita tahdot käyttää, voit viedä ne Clip Librarystä alla olevalle aikajanalle. 

drag 

Jos lisäät monta videoleikettä aikajanalle, ne näkyvät hieman erilaisissa väreissä ja tiedostonimet näkyvillä:

twovids

Jos et näe tällaisia yksityiskohtia, käytä zoomaustyökaluja lähentääksesi ja loitontaaksesi aikajanaa:

zoom

Toisto

Kun videoleike on aikajanalla, et näe yksittäisiä kuvaruutuja, mutta voit vetää liukusäädintä eteenpäin ja taaksepäin nähdäksesi videon.

timeline

Kun toistat tällaista videota, voit nähdä toiston sijainnin (ajan) punaisella viivalla, joka on aikajanalla:

slider

Liikkuvat videoleikkeet

Voit siirtää videoleikkeitä ympäriinsä vetämällä niitä pitkin aikajanaa. 

Leikkeiden leikkaus

Valitse saksi-ikoni leikataksesi leikkeen kahtia: 

scissors_en

Siirrä sitten kursoria ympäri aikajanaa. Näet oranssin viivan ilmestyvän, se näyttää leikkauksen potentiaalisen sijainnin: 

scis2

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: 

trash

Vienti Ogg Theoraan

Kun projektisi on valmis vietäväksi, voit klikata Piirrä Projekti -nappia:

render 

Näet nyt renderöintiasetusten ikkunan:

renderwin

Klikkaa Valitse tiedosto ja valitse paikka, johon tahdot tallentaa viedyn tiedoston. Voit myös muokata koodausasetuksia painamalla Muokkaa, kun asetukset sopivat tarpeisiisi, paina Tallenna ja hae kahvia. 

Esikatselun käyttö

Jos tahdot leikkiä Ogg-tiedostoillasi, sinun ei tarvitse avata kokonaista editointiohjelmaa. Joukko hyödyllisiä ohjelmia on olemassa yksinkertaisten asioiden tekemiseen Ogg-tiedostojen kanssa komentoriviltä. Ogg Video Tools on työkalulaatikko Theora-videotiedostoja varten, se sisältää joukon käteviä komentorivin työkaluja Theora-tiedostojen manipulointia varten. Käytä niitä leikkaamiseen ja liittämiseen tai esikatselukuvien tekemiseen, ilman että täytyy keskittyä monimutkaiseen editointiprosessiin.

Ogg Video Toolsin asentaminen

Useimmat GNU/Linux -distrot tarjoavat Ogg Video Toolsin ohjelmavarastoissaan (esim. Fedora, openSuSE). Jos työkaluja ei ole saatavilla suosikkidistroosi, tai jos tahdot päivittää se uusimpaan versioon, jatka kohtaan asentaminen lähdekoodista alempana. Tämä pätee myös BSD ja Mac OS -käyttäjille.

Windowsin käyttäjät voivat ladata ZIP-tiedoston, joka sisältää ajettavat komentorivin työkalut, osoitteesta: http://sourceforge.net/projects/oggvideotools/files/.

Lähdekoodista asentaminen 

Käy sivulla http://sourceforge.net/projects/oggvideotools ja klkkaa Download Now saadaksesi kopion lähdekoodista.

Ennen kuin jatkat asentamista, katso että kaikki vaadittavat kehityspaketit on asennettu. Ogg Video Tools riippuu seuraavista muista paketeista:

Ogg Video Tools kompiloituu onnistuneesti vaikka nämä kaikki kirjastot puuttuisivat, mutta silloin vain osa editointityökaluista kompiloidaan. Muut työkalut eivät toimi asennuksen jälkeen.

Kun olet varmistanut vaadittavien pakettien läsnäolon, 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ä pitäisi antaa tämän tapainen ulostulo:

[ ... ]
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

Esikatselukuvien luominen

Paketissa Ogg Video Tools (http://sourceforge.net/projects/oggvideotools) on oggThumb -työkalu, joka tekee Theora-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 täytyy tehdä esikatselukuvia määrätyin väliajoin koko videosta, tietämättä videon pituutta etukäteen, käytä 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ä etäisyyksiltä. Kuvat tulevat ulos tiedostoina, edellä kuvattjen nimeämiskäytäntöjen mukaan. Korvaa my_theora_video.ogv käyttämäsi videon nimellä. Esikatselukuvien määrä annetaan viimeisessä argumentissa. Muuta sitä sopimaan tarpeisiisi.

Määrätyn kokoiset esikatselukuvat

Voit pyytää tietyn kokoisia esikatselukuvia lisäämällä 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

Tässä videon korkeus on asetettu vastaamaan leveyttä 120. oggThumb laskee korkeuden niin, että se säilyttää kuvan koon suhteen.

Kehittyneemmät toiminnot

Käytä aina optiota -f option -t sijasta valitaksesi esikatselukuvan aikasijainnin kuvaruudun numeron mukaan sekuntien määrän sijasta. Toinen maininnan arvoinen optio on -o png, joka luo esikatselukuvia PNG-kuvina, joilla on korkeampi laatu kuin oletusarvoisesti tehdyillä JPG-kuvilla.

oggThumb-komennon koko dokumentaatio löytyy kirjoittamalla:

$ man oggThumb

komentorivillä. Huomaa, että Windows-versiossa on joukko HTML-tiedostoja, jotka ovat verkkoselaimessasi luettavassa käyttöoppaassa.

 

Dianäytöksen luominen

Ogg Video Tools tarjoaa komentorivin työkalun, jota kutsutaan oggSlideshowksi. Sillä voi luoda diaesityksiä kuvasarjasta JPG- tai PNG-muodossa ja käyttää erilaisia efektejä kuvien vaihtoa ja esitystä varten. 

Rakenne: oggSlideshow [ Vaihtoehdot] kuva1 kuva2 kuva3 

Jokainen kuva luetaan tiedostojärjestelmästä ja sen kokoa muutetaan sopimaan videon ruutukokoon, jolle voidaan antaa -s -vaihtoehto. Jos kuvasuhde ei sovi videoruutuun, mustat reunat lisätään. 

Seuraavia tehosteita tuetaan kuvien siirtymissä:

plain: Kuvat seuraavat toisiaan.

crossfade: Ensimmäinen kuva häipyy asteittain, seuraava ilmestyy aste asteelta. Ristihäivytyksen kesto on 1 sekunti.

blurring:
Kuva epätarkennetaan ennen kuin se katoaa. Seuraava kuva näkyy epätarkkana, mutta tarkkenee vähitellen.

Eräs erikoistehoste on Ken Burns -efekti, joka on nimetty kuuluisan dokumentaristin mukaan. Tämä efekti lähentää kuvan läpi esityksen aikana. Tämän tehosteen siirtymä on asetettu ristihäivytykseksi.

On myös vaihtoehtoja bittinopeuden asettamiseksi, yhden kuvan esitysajan asettamiseksi, sekä ulostulotiedoston nimen määrittelemiseksi. Nämä 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

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 ylemmäksi sietokynnykseksi. Lopullinen Theora-tiedosto voi olla odotettua pienempi.

Esimerkki: -d 1024000

-t

Asettaa kuvan siirtymän tehostetyypin, kuten yllä on kuvattu. Tuetut tyypit ovat:

  • kb
Ken Burns -tehoste (oletus)
  • cf
kuvan ristihäivytys siirtymään
  • p
tavallinen kuvaesitys
  • b
epätarkka siirtymä

Esimerkki: -t p

-e

Mahdollistaa ruudun koon muuttamisen. Jos kuva ei sovi videoruudun kuvasuhteeseen, se voidaan "uudelleenkehystää" lisäämällä mustat reunat. Tämä vaihtoehto on käyttökelpoinen vain Ken Burns -efektin kanssa (vaihtoehto -t kb). Muiden siirtymätehosteiden kanssa kuvat uudelleenkehystetään automaattisesti myös ilman -e vaihtoehtoa. 

Esimerkki: -t kb -e

Äänen lisääminen diaesitykseen

oggSlideshow voi tehdä vain mykkiä videotiedostoja. Äänen lisääminen jälkikäteen vaatii käyttämään vain muutamia muita työkaluja.

Olettakaamme, että loit diaesityksen käyttäen kaikkia kuvia hakemistostasti joitainKuvia, kuten tässä komentorivin esimerkissä näytetään:

$ oggSlideshow -s 320x240 -f 24 -o diaesitys.ogv -d 512000 joitainKuvia/*.jpg

Ennen kuin lisäät äänen, joudut ensin luomaan ääniraidan, jolla on sama pituus kuin diaesityksellä. Diaesityksen pituus tulostetaan diaesityksen luomisprosessin lopussa. Vaihtoehtoisesti sen voi nähdä käyttämällä seuraavaa komentoa:

$ oggLength diaesitys.ogv

Tämä palauttaa videon pituuden millisekunteina. Tätä tietoa käyttäen voimme leikata Ogg/Vorbis äänistreamin saman pituiseksi. Tässä esimerkissä pituus on 5,6 sekuntia:

$ oggCut -l 5600 aaniRaitani.ogg muutettuAaniRaitani.ogg
Molempien streamien liittämiseksi yhteen mediatiedostoon (
newSlideshow.ogm
), käytämme komentoa oggJoin:
$ oggJoin uusiDiaesitys.ogv muokattuAaniRaitani.ogg diaesitys.ogv

Nyt olet valmis!

Aloituskuvan lisääminen

Diaesityksen ensimmäisen kuvan täytyy usein olla otsikkokuva, joka kertoo joitain tietoja diaesityksestä. Luo lyhyt ja yksinkertainen diaesitys, jota voit käyttää otsikkona, käyttäen 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 näkyy sellaisena kuin se on. Kesto on 10 sekuntia (oletusarvo on 8 sekuntia).

Liitämme kuvan diaesityksemme diaesitys.ogv alkuun käyttäen komentoa oggCat:

$ oggCat kokoDiaEsitys.ogv aloitusKuva.ogv diaesitys.ogv

Tietenkin voimme myös lisätä ääniraidan, kuten aiemmin on kuvailtu: 

 

oggJoin uusiDiaEsitys.ogv muokattuAaniRaitani.ogg kokoDiaEsitys.ogv

Skripti kaikkea varten

Seuraava pääteskripti yhdistää kaiken tässä luvussa esitellyn, se luo diaesityksen, jossa on alkutekstit ja äänet.

#!/bin/sh
#
# käyttö: ./diaesitys ~/kuvahakemistoni/ äänitiedosto.oga ulostulotiedosto.ogm
#
# Muutettavat muuttujat
#
# videon ruutukoko
SIZE="640x360"
#
# diaesitys-streamin datanopeus bitteinä sekunnissa
DATARATE="1024000"
#
# yhden kuvan esitysaika sekunteina
PR_TIME="10"
#
# ruutunopeus kuvina
FRAMERATE="24"
#
# uudelleenkehystä kuva
# Tämä lisää mustat kehykset kuvaan, jotta kuvasuhde pysyy ennallaan.
# Ken Burns -efektillä tämä ei ole välttämätönsä, mutta liukumat voivat olla
# tasaisempia.
#REFRAME="-e"
REFRAME=""
#
# uudelleensämpläys
# Tämä vaihtoehto määrittelee, kuinka gdlib lataa kuvan.
# Koska gdlibin koonmuuttamismekanismi on todella hyvä, sitä käytetään
# tuomaan se arvoon, joka on lähellä videon ruutukokoa (yleensä vähän isompi).
# Et yleensä näe suurta eroa, mikäli muutat tätä arvoa. Pidä se ennallaan.
# (oletusarvo on 1.2).
RESAMPLE="1.2"
#
# diaesityksen tyyppi
# kb - Ken Burns -efekti (liukuu ja lähentää)
# p  - tavallinen (kuva vain näkyy, ei ristiinhäivytystä kuvien välillä)
# cf - ristiinhäivytys (kuvien näyttö, ristiinhäivytys kuvien välillä)
TYPE="kb"
#
#
# Tilapäinen tiedostonimi
TMP_VIDEOFILE="slideshow_tmp.ogv"
TMP_AUDIOFILE="audio_tmp.oga"

# diaesityksen luominen
oggSlideshow -s $SIZE -d $DATARATE -l $PR_TIME -f $FRAMERATE \
 $REFRAME -r $RESAMPLE -t $TYPE -o $TMP_VIDEOFILE $1/*.jpg

# mikä tämän pituus on
LENGTHVIDEO=`oggLength $TMP_VIDEOFILE`

#
# leikkaa äänitiedostoa
LENGTHAUDIO=`oggLength $2`

#
# onko äänitiedosto liian lyhyt?
if [ $LENGTHVIDEO -gt $LENGTHAUDIO ]
then
  echo "varoitus diaesitys ($LENGTHVIDEO) on pidempi kuin äänitiedostosi ($LENGTHAUDIO)"
  exit -1
fi

# äänitiedoston leikkaus
oggCut -l$LENGTHVIDEO -i$2 -o$TMP_AUDIOFILE

#
# Liitä ääni- ja videotiedosto
oggJoin $3 $TMP_VIDEOFILE $TMP_AUDIOFILE

#
# Poista vanhat tiedostot
rm -f $TMP_VIDEOFILE $TMP_AUDIOFILE

Esikatselun luominen

Kun video laitetaan verkkoon on usein hyvä laittaa lyhyt esikatselu videosta pääverkkosivulle. Se voidaan linkittää alkuperäiseen videoon. Käytä komentorivin työkalua oggResize paketista Ogg Video Tools (http://sourceforge.net/projects/oggvideotools) luodaksesi sellaisen esikatselun.

Tyypillinen oggResize -komento näyttää seuraavalta:

$ oggResize -s256x144 -d64000 -f1 -p24 bigBuckBunny.ogv bigbuckbunnyPreview.ogv

Tässä luomme Theora -videotiedoston bigbuckbunnyPreview.ogv alkuperäisestä bigBuckBunny.ogv -tiedostosta ja skaalaamme sen pieneen 256x144 pikselin kuvakokoon.

Optio -p saa oggResize-komennon sisältämään vain joka 24:nnen kuvan alkuperäisestä, lyhentää keston 1/24:n alkuperäisen pituudesta, luoden yleensä nopeasti eteenpäin kelaavan version videosta. Koska ei ole paljonkaan järkeä kelata audiota nopeasti eteenpäin, äänet on poistettu.

Tässä olemme myös lisänneet option -f1, mikä säätää luodun videon kuvataajuutta yhteen kuvaruutuun sekunnissa. Tämä estää videon nopean kelaamisen eteenpäin, sitä on helpompi katsoa, ja se näyttää samalta kuin animoitu GIF-kuva.

Lisää soittonappula

FEnsin tarvitsemme PNG-kuvan nappulasta, jossa on läpinäkyvä maski, jonka avulla se voidaan laittaa videosisällön päälle. Läpinäkyvää maskia sanotaan alfakanavaksi, nykyisin useimmat kuvankäsittelyohjelmat antavat luoda yhden. Kokeile esimerkiksi vapaata kuvaeditoria GIMP.

Optiot -A ja -a antavat sinun laittaa kuvan ulostulovideon päälle ennen kuin video skaalataan uudestaan vastaavasti kokoon, jonka -s antaa.

$ oggResize -s256x144 -d64000 -f1 -p24 -A Play-256x144.png bigBuckBunny.ogv \ bigbuckbunnyPreview.ogv

Siinäpä se! Nyt sinulla on hieno esikatselu videosta bigBuckBunny.ogv. Sen päällä oleva soittonappi kutsuu ihmisiä klikkailemaan itseään. 

Komentorivin käyttö editointiin

Komentorivi on tekstiin perustuva menetelmä hyötyohjelmien kutsumiseen päätteen komentotulkilta. Useimmissa Linux-käyttöjärjestelmissä on ohjelma, jota kutsutaan päätteeksi. Useimmiten tämä pääte on Bourne-Again Shell, "bash", joka on alkuperäisen Bourne Shellin, "sh", seuraaja, mutta monia erilaisia päätteitä on käytössä.

Jokaisen käyttäjän tulisi tietää, kuinka voi käyttää yksinkertaisia tekstikomentoja, kuten "df -h", joka on levytilan käyttöraportti ihmiselle ymmärrettävissä yksiköissä (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. Tuo kirja on hyvä lukea ennen kuin kokeilee mitään tässä luvussa kuvailtuja asioita. Kirjan avulla on helppo ymmärtää komentorivin perusteita, jolloin on mahdollista astua kehittyneemmän käytön kynnyksen yli. Kehittyneempi komentorivin käyttö Linuxissa merkitsee kahta asiaa: kaikkien komentoon sisältyvien vaihtoehtojen käyttöä (jotka man-komento listaa - kokeile komentoa "man man"), ja muutamaa riviä pidempien ohjelmien kirjoittamista käyttäen muitakin kuin yksinkertaisimpia komentoja. 

Monet videoeditointityökalut toimivat sekä koko ruudun graafisena käyttöliittymänä että komentoriviversiona. Graafinen käyttöliittymä kuitenkin käyttää usein komentoriviä tehtävien suorittamiseen. Esimerkkinä tästä ovat Ubuntun ja Debianin käyttämät paketinhallintaohjelmat. Koko ruudun graafinen käyttöliittymä on Synaptic, ja tekstiin perustuva käyttöliittymä on Aptitude. Hyvin kirjoitettu käyttöliittymä voi tehdä komentojen käytöstä paljon helpompaa kuin komentorivin käytöstä, mutta komentorivin käyttö antaa paljon suuremmat mahdollisuudet komentojen kehittyneempään käyttöön. Lisäksi 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 muistinkäytön suhteen. Tämä johtuu siitä, että monimutkaiset videoeditointityökalut joutuvat antamaan sinulle mahdollisuuden työskennellä videon jokaisen ruudun ja äänen jokaisen sämplen parissa.

Jokaisen yksittäisen ruudun käsittely ei kuitenkaan ole aina tarpeen. Joissain tapauksissa ihmiset tahtovat vain erottaa ääni- tai kuvastreamin tiedostosta, tai yhdistää ääni- ja kuvatiedostot yhteen streamiin, tai he eivät välitä videon leikkauksesta yhden ruudun tarkkuudella.

Tällöin video- ja äänistreameja ei tarvitse koodata uudelleen, mikä tekee videon käsittelystä paljon vähemmän tietokoneen resursseja vaativaa. Se merkitsee myös, että editointityökalut 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 täten tappiotonta. Koodatut paketit, jotka ovat joko videota tai ääntä, eivät joudu toimenpiteiden kohteiksi. Ne pidetään sellaisina kuin ne ovat, joten ne koodataan samalla laadulla, joka niillä oli ennen editointiprosessia. 

Työkalut

On kaksi pääasiallista työkalupakkia tappiottomaan videoeditointiin: Ogg Video Tools ja Oggz Tools. Molemmat ovat komentorivityökalujen kokoelmia. Ogg Video Tools ja Oggz Tools toimivat Linuxissa, OSX:ssä ja Windowsissa.

Oggz löytyy täältä: http://www.xiph.org/oggz/

Ogg Tools löytyy täältä: http://sourceforge.net/projects/oggvideotools

Joissain tapauksissa nämä kaksi työkalupakkia omaavat samanlaisen toiminnallisuuden. Oggz Tools on suuntautunut kehittäjiä varten ja Ogg Video Tools on suuntautunut loppukäyttäjiä varten. Ogg Video Tools tarjoaa työkaluja ogg-videotiedostojen luomista ja käsittelyä varten, mutta Oggz Tools tarjoaa joukon muita työkaluja, varsinkin ogg-tiedostojen analysointia varten.

Ogg Video Tools voi käsitellä videostreameja, jotka on luotu Theora-koodaajalla ja äänistreameja, jotka on luotu Vorbis-koodaajalla. Oggz voi käsitellä muita stream-formaatteja, kuten FLAC, Speex, CELT jne.

Ogg Video Tools komentorivityökaluihin sisältyy:

 

Oggz Tools -komentorivityökalut sisältävät:

Vähän teoriaa

Theora-videon editointi käyttäen komentorivin työkaluja, kuten Oggz Tools tai Ogg Video Tools, ei vaadi tietoa Theoran toiminnan tarkoista yksityiskohdista. Kuitenkin nämä komentorivin työkalut prosessoivat Theoran tiedostoja hyvin matalalla tasolla. Joitain sivuvaikutuksia ilmenee, näitä sivuvaikutuksia ei voida selitää ilman Theora-formaatin yksityiskohtien käsittelyä.

Jos uskot, että voit elää pienten editoinnin aiheuttamien epätarkkuuksien kanssa, voit hyvin jättää tämän luvun väliin.

Theora-videon anatomia

Videotiedosto sisältää normaalisti videostriimin ja audiostriimin. Molempien striimien varastointi yhteen tiedostoon vaatii säilytysformaattia (container format). Säilytysformaatti Theora-videota varten on Ogg, joka pitää sisällään Theora-videostriimin ja yhden tai useampia Vorbis-audiostriimejä. Audio ja videostriimit tallennetaan välikkäin. Tämä merkitsee, että jokainen striimi on segmentoitu muutamaan datablokkiin, jotka ovat lähes samaa kokoa. Näitä blokkeja kutsutaan sivuiksi (page). 

Jokaisessa sivussa on aikaleima, joka antaa informaatiota sivun sijoituksesta striimin sisällä.

Video- ja audiostriimit ovat toistensa lomassa siten, että molempien striimien sivut on liitetty yhteen nousevassa järjestyksessä aikaleimojensa mukaan.

Demultipleksaus

Teknisesti on helppoa jakaa videotiedosto video- ja audiostriimeihin. Tämä johtuu siitä seikasta, että kaksi striimiä voidaan erottaa keräämällä video- ja audiosivut erillisiin tiedostoihin. Videotiedoston striimeihin jakavaa prosessia kutsutaan demultipleksaukseksi.

Kaikki tarpeellinen toiston vaatima tieto on kerätty striimien sisään, ilman että Ogg-säiliö lisää mitään tietoa. Jokainen tiedostoista itsessään on standardeihin sopiva Ogg-säilötty striimi ja sitä voi lukea mikä tahansa Theora/Vorbis-yhteensopiva video- tai audiosoitin.

Sivun aikaleimat

 

Kuten aiemmin on mainittu, striimit tallennetaan jaettuna useiksi sivuiksi. Sivulla on otsikko, joka pitää metadataa, joka kuvaa tämän osan video/audiostriimista. Otsikkoon sisältyy ajastusinformaatio, ainutlaatuinen striimintunnistusnumero, sivun numero ja jotain muuta tietoa. 

Ogg-standardien mukaan ajastustieto jokaiselle sivulle annetaan jyväsijainnilla, 64-bittisellä arvolla, joka on otsikossa. Kuinka jyväsijainti liittyy yhteen todellisen aikasijainnin kanssa on striimin määrittelemää, se voi olla esimerkiksi määrä millisekunteja videon alusta. Tästä syystä Ogg-tiedostoja käsittelevän ohjelman pitää sisältää jyväsijainnin tulkitsija, jotta se voi käsitellä tiedostoa oikein. Tämän tulkitsijan pitää olla tietoinen koodeksita ja striimispesifistä informaatiosta, jotta se voi tuottaa ajastustietoa, jota voidaan vertailla eri striimien välillä. 

Ogg-standardi tarkentaa että kaikki sivut Ogg-tiedostossa täytyy tallentaa nousevassa aikajärjestyksessä, vaikka se ei määrittele jyväsijaintien tulkintaa. Joten mikä tahansa työkalu, joka leikkaa tai yhdistää striimejä tarvitsee toimivia jyväsijaintitulkkeja jokaista sisällettyä 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, eivät yleensä sovi täsmälleen sivulle. Audiopaketit ovat yleensä paljon pienempiä. Videopaketit voivat olla monen kokoisia, pienempiä tai suurempia, riippuen eri tekijöistä.

Video- ja audiokoodekkien tuottama data koteloidaan ensin Ogg-paketiksi. nämä paketit sijoitetaan sitten Ogg-sivuille. Paketti voidaan tarpeen mukaan joko jakaa useammalle sivulle, tai yhdistää muiden pakettien kanssa, jotta muuten osittain tyhjä paketti täyttyy.

Theoran videodatan koteloiminen

Koodaajan kehittämä Theoran videodata sisältää kahdenlaisia Ogg-paketteja: niin sanottuja avainkuvaruutuja (kutsutaan usein I-Frameksi), jotka ovat kokonaisia kuvia, ja P-Frameja, jotka kantavat ainoastaan viimeisimmän ja nykyisen kuvan eroja. 

Jotta annettu kuvaruutu voidaan näyttää annettuna aikana, dekooderin täytyy tietää edellinen avainkuvaruutu ja sen täytyy dekoodata kaikki kuvaruudut (mukaanlukien avainkuvaruutu) annetun kuvaruudun tosiasialliseen aikasijaintiin asti.

Jotta videota voi dekoodata, dekooderi tarvitsee tietoa striimistä itsestään, esimerkiksi videon kuvaruutujen koosta. Tämä informaatio on sijoitettu otsikkopaketteihin striimin alkuun.

Vorbis-audiodatan koteloiminen

Enkooderin luoma Vorbis-audiodata kantaa tietyn määrän audionäytteitä. Näyte on audiodatan yksikkö. Näytteiden määrä Ogg-paketissa on määrätty ja se voi vaihdella vain kahden mahdollisen koon välillä, kuten striimin otsikossa on määritelty.

Videodatan tapaan audiodatapaketit ovat myös riippuvaisia toisistaan. Jotta yksi audiopaketti voidaan dekoodata, edellistä pakettia tarvitaan.

Audion dekoodaaja riippuu striimin parametreistä, kuten näytetaajuudesta, bittitaajuudesta, jne. nämä on tallennettu striimin otsikon paketteihin striimin alussa.

Ogg-kehikko

Kuten aiemmin sanottiin, videostriimi ei voi alkaa satunnaisesta ajankohdasta, sillä siinä on avainkuvaruutuja (I-Frame) ja delta-kuvaruutuja (P-Frame). Lisäksi audio on tallennettu paketeihin, joille on annettu ajoitusjyvät. 

Jotta synkronisaatio ja oikea aloituskohta on varmistettu, Ogg-kehikkosivut kantavat tietoa jokaisen striimin aloituspaikasta. Dekoodaaja, joka lukee Ogg-kehikon tietoa, voi sitten etsiä oikean audio- ja videokohdan ja alkaa soittamaan tästä kohdasta. 

 

Tiedoston jakaminen

Videotiedoston jakamista sen osastriimeihin kutsutaan usein de-multipleksaukseksi. Komentorivin työkalu oggSplit Ogg Video Tools -paketista tekee demultipleksauksen. 

Komento: oggSplit alkuperäinenTiedosto.ogv

Tämä komento uuttaa tiedoston alkuperäinenTiedosto.ogv eri striimit erillisiin tiedostoihin. Se käyttää seuraavaa nimeämisjärjestelmää luoduille tiedostoille:

<koodekinNimi>_<ID>.<pääte>

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 yksilöllinen joka striimissä yhden Ogg-tiedoston sisällä. Koska voi olla enemmän kuin yksi ääni- tai videostriimi tiedoston sisällä (eli useita eri audiostriimejä eri kielille), tätä ID:tä tarvitaan erottamaan ne toisistaan. 

Pääte asetetaan sopimaan striimin sisältöön.ogv on käytössä videotiedostoille, oga äänitiedostoille ja tuntemattomat striimit saavat päätteen ogg.

Esimerkki:

# oggSplit myFile.ogv
# ls
theora_a1bb23c1.ogv     vorbis_a316522.oga

Ogg-tiedoston leikkaus

Video- ja audiostriimeistä muodostuvan Ogg-tiedoston leikkaaminen osiin ajan mukaan, säilyttäen samalla synkroniteetin ulostulon tiedostojen striimien välillä, on hieman hankalaa. Tämän vuoksi sen tekemiseen on monta eri tapaa, tämä luku antaa sinulle kuvan mahdollisuuksista ja niiden hyvistä ja huonoista puolista.

Videotiedostojen editointiin käytetyt työkalut voidaan jakaa tappiottomiin ja tappiollisiin työkaluihin. Tappiottomat työkalut käsittelevät vain Ogg-striimin (ogg-sivut ja ogg-paketit). Niinpä datan laatu säilyy. Tappiollisten työkalujen täytyy 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 päälle) laadun kustannuksella. Tämän lisäksi dekoodaus ja koodaus -prosessit vaativat paljon enemmän aikaa kuin pelkkä Ogg-striimin pakettien käsittely.

Tämä kappale käsittelee vain työkaluja, jotka leikkaavat videotiedostoja tappiotta.

Komento oggCut

Komentorivin työkalu oggCut on työkalu, joka voi leikata Ogg-tiedostoja kuva kuvalta. Käytä sitä näin:

oggCut -s <StartTime> -e <EndTime> originalFile.ogv createdFile.ogv

jossa <StartTime> ja <EndTime> annetaan millisekunteina. Vaihtoehtoisesti voit leikata käyttäen aloitusaikaa ja pituutta optiolla -s:

oggCut -s <StartTime> -l <Length> originalFile.ogv createdFile.ogv

Myös tässä <Length> mitataan millisekunteina.

Kun oggCut ajetaan, se etsii ensimmäistä Ogg Theora -pakettia, jossa aikaleima on myöhemmin tai samaan aikaan -s optiolla annetun ajan kanssa. Jos tämä paketti löytyy, ohjelma etsii seuraavan avainkuvaruudun ja luo uuden tiedoston, jossa tuo avainruutu on ensimmäinen ruutu. 

Kun ohjelma löytää 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

Koska oggCut toimii vain pakettien rajoilla, ja koska Vorbis ja Theora striimipaketit eivät 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 aikaväli avainruudun videon ja seuraavan audiopaketin välillä.

Kun nämä kaksi striimiä kirjoitetaan uuteen tiedostoon, aikaväliin liittyvä informaatio hukataan. Niinpä soittimen täytyy 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 Theora-videoita mistä tahansa pyydetystä kohdasta. Jos välttämätöntä, se leikkaa ei-avainkuvaruutujen kohdalta tai jopa keskeltä ruudun esitysaikaa.

Teknisesti tämän kaltainen hienojyväinen leikkaus ei ole mahdollista Theora-videotekniikalla. Se saavutetaan tempulla: sen sijaan että video todella leikattaisiin pyydetystä kohdasta, se leikataan lähimmästä sijainnista, jolloin tuloksena oleva videotiedosto on pidempi kuin pyydetään. Sitten niinsanottu Ogg-kehyksen otsikko lisätään videoon, ja se ohjaa soittimen soittamaan vain todellisuudessa pyydetyn osan videosta. 

Ylimääräiset videoruudut, joita ei voitu leikata videosta, ovat edelleenkin paikallaan, ne on vain piilotettu toiston aikana.

Tämän toimintatavan huonot puolet ovat selkeitä: toisaalta levytilaa hukataan tallentamalla turhaa tietoa, toisaalta leikattu uusi tiedosto toistuu oikein vain soittimissa, jotka ymmärtävät Ogg-kehikon tietoja. Toinen vähemmän selkeä ongelma on, että tällä 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 yhdistäminen tällä tavalla jättää kätkettyjä ruutuja videon keskelle - tätä Ogg-kehys ei tue.

Kun nyt ymmärrät oggz-chopin käyttöön liityvät ilmiöt, voimme kokeilla sen käyttöä:

oggz-chop -s <StartTime> -e <EndTime> originalFile.ogv createdFile.ogv

Tässä <StartTime> ja <EndTime> on spesifioitu muodossa <Hour>:<Minute>:<Second>. <Second> voi sisältää murto-osan, joten olet vapaa spesifioimaan sen millä tahansa resoluutiolla.

Meidän täytyy mainita toinen vaihtoehto: voit ajaa oggz-chopin lipulla -k pakottaaksesi sen jättämään pois kaiken Ogg-kehyksen tiedon. Tällä tavalla leikkauksen jyvällisyys on rajotettu avainkuvaruutuihin ja voit olla varma, että luotu tiedosto toistuu oikein jopa vanhemmissa soittimissa, jotka eivät tue kehystä.

Streamien liittäminen

Ogg Video Tools tarjoaa komentorivin työkalun oggJoin kahden tai useamman streamin limittämiseksi yhteen Theora-videotiedostoon. Se voi tulkita sivun jyvän sijainnin ja limittää streamit, mikäli ne sisältävät Theora-videota tai Vorbis-ääntä.

Tätä prosessia kutsutaan myös multipleksaukseksi.

 

Synopsi: oggJoin uusiTiedosto.ogv streami1.ogv streami2.oga [ streami3.oga [...] ]

Huomaa: Videostreamin (.ogv) täytyy olla ensimmäisenä.

Vaikka oggJoin sallii streamien yhdistämisen mihin tahansa järjestykseen, Theora-standardi vaatii, että videostreami on ensimmäinen streami. Esitettynä oikein: Theoran otsikon täytyy olla ensimmäinen otsikko multipleksatussa tiedostossa, jotta soittimet voivat erottaa pelkästään ääntä sisältävät tiedostot videotiedostoista. Tämä saavutetaan asettamalla videostreami ensimmäiseksi streamiksi listalla, kuten synopsissa näytetään.

Ogg-tiedostojen liitostaminen

Liittääksesi 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 käyttö.

Komentorivin työkalu oggCat luo uuden Ogg-tiedoston joukosta muita Ogg-tiedostoja.

 

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

Kaikkien striimien parametrien täytyy sopia yhteen, jotta voit luoda Ogg-tiedoston. Jos yksi tai useampi syöttötiedoston parametri ei sovi yhteen, se tiedosto jätetään 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 käsittele tuntemattomia striimejä eikä integroi niitä ulostulotiedostoon.

Löytääkseen vastaavan striimin seuraavista Ogg-tiedostoista, oggCat luo parametritaulukon, jossa on kaikki tarpeellinen tieto ensimmäisen tiedoston striimeistä (inputfile1.ogv), jolloin ensimmäinen tiedosto toimii "referenssinä".

Seuraavissa tiedostoissa (inputfile2.ogv inputfile3.ogv ...) olevat striimit on testattu viitetaulukon parametrejä vastaan, joten ne eivät voi olla samassa järjestyksessä viitetiedoston kanssa.

Esimerkki:

Ensimmäisessä Ogg-tiedostossa on yksi Theora ja yksi Vorbis -striimi. Theora-striimin videolla on 320x240 pikselin kuvakoko ja Vorbis-audiostriimillä on 32 kHz näytetaajuus.

Seuraava tiedosto sisältää 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 myös yhteen. Toisessa Theora-striimissä voi olla mitä tahansa parametrejä. 

Jos yhdenkään striimin parametrit eivät 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>

cat-komennon käyttö

Toinen tapa yhdistää kaksi videota on yhden tiedoston liittäminen toisen tiedoston perään komentorivityökalulla cat. Tämä metodi laukaisee soittimen aloittamaan uuden dekoodaussession seuraavaa striimiä varten. 

Ogg-standardi sallii striimin avaamisen toisen striimin loppumisen jälkeen, mutta useimmat soittimet eivät toteuta tätä dekooderin session avauksen menetelmää. Niinpä metodi tulisi aina testata soittimilla, joita voidaan käyttää tämän session jälkeen.

oggCat ja oggz-chop

Kun tiedosto on luotu oggz-chop -komennon avulla, yhdistäminen ei ole mahdollista, sillä oggCat toimii eri tavalla.

Tämä johtuu siitä, että tiedostot, joissa on kehikko, ja eri aikamittaukset, jotka on määritelty tässä kehikossa joka striimille (kuten on tapaus useimpien oggz-chopilla luotujen tiedostojen suhteen) ei voida liittää yhteen jatkuvaan striimiin. Tämän käytöksen aiheuttaa se tosiseikka, että kaksi ogg-striimiä voisi mennä päällekkäin. Esitetyt kuvaruudut olisivat esittämättömien päällä, koska niitä tarvitaan vain ensimmäisen videoruudun dekoodaukseen. Tämä ei ole mahdollista yhdessä Ogg-striimissä.

oggCatin synkronisointiongelmat 

Yhden Ogg-tiedoston eri striimit eivät välttämättä ole (täsmälleen) samanpituisia. Yhdistämisprosessin aikana seuraava Ogg-tiedosto yhdistämislistalla laitetaan suoraan vastaavien edellisen tiedoston striimien perään ilman mitään aikaväliä. Niinpä seuraavan tiedoston synkronisointi kärsii ensimmäisen tiedoston epätarkasta striimin päättymisestä.

OggResize

Komentorivin työkalu oggResize voi muuttaa ogg-tiedoston (ogg, oga tai ogv) leveyttä ja korkeutta eri tavoilla. Kuitenkin se käsittelee vain Ogg Theora ja Vorbis -striimejä. oggResizen etu muihin työkaluihin verrattuna on, että se muokkaa vain striimit, joita täytyy muuttaa. Striimit, jotka eivät tarvitse muunnosta, jäävät vaille vaikutuksia.

oggResize voi muuttaa videoruudun kokoa, videon tai audion datataajuutta tai videon kuvataajuutta tai äänen näytetaajuutta.

Se voi myös lisätä kommentteja mihin tahansa striimiin ja voi sisältää PNG-kuvia,joissa on alfa-kanava, joten ne renderöidään videoon milloin tahansa ennen tai jälkeen koon muuttamisen. 

 

Komento:
oggResize [optiot] inputfile.ogv outputfile.ogv

 

Mahdolliset optiot ovat:

-s ⁞ asettaa videoruudun koon. Koko annetaan muodossa <levets>x<korkeus>. Oletuskoko on 480x320.
Oletuksena videoruudun suhteet pidetään samoina, joten jos uuden videoruudun koko ei sovi suhteisiin, oggResize lisää mustat rajay ylös, alas, oikealle ja vasemmalle, jotta se sopii uusiin kokosuhteisiin.

jos tahdot venyttäää videoruudut uuteen kokoon, käytä -t -optiota.

Esimerkki: -s 320x240

-d asettaa bittinopeuden bitteinä sekunneissa videokoodaajaa (theora) varten. Tämän on tarkoitus olla ylempi sietokynnys. Tiedosto voi siis olla oletettua pienempi. Jos sitä ei ole asetettu, alkuperäisen striimin bittinopeutta käytetään. 

Esimerkki: -d 1024000

-D asettaa bittinopeuden bitteinä sekunnissa audiokoodaajaa (vorbis) varten. Jos sitä ei ole asetettu, alkuperäisen striimin bittinopeutta käytetään. 

Esimerkki: -D 64000

-f  asettaa videon ruutunopeuden numeraattorilla ja denominaattorilla, ja on ruutuja sekunnissa. Jos vain yhtä numeroa käytetään, denominaattori on 1. Jos tätä ei aseteta, alkuperäisen videon ruutunopeutta käytetään.

Esimerkki: -f 25:2

-F asettaa audiodatan näytetaajuuden Hertzeinä. Jos näytetaajuus ei sovi alkuperäiseen tiedostoon, uudelleensämpläystä käytetään.

Esimerkki: -F 32000

-t jos tämä optio on asetettu, kuvaa venytetään ulostulokokoon. Tässä tapauksessa ulos tulevan videon kuvasuhde ei välttämättä vastaa alkuperäisen videon ruudun kuvasuhdetta. Tämä optio auttaa poistamaan mustat reunat, jotka ilmestyvät, jos alkuperäisen videon ja uuden videon kuvasuhteet eivät 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ä (') käytetään, sillä komentorivi voi käyttää 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ä (') käytetään, sillä komentorivi voi pitää puolipistettä välimerkkinä.

Esimerkki: -C 'AUTHOR=yorn;DATE=03.07.09'

-q asettaa laadun. Arvot voivat olla väliltä 1 (paras laatu, hieman epätarkkuutta) ja 6 (huonoin laatu). Oletusarvo on 2.

Esimerkki: -q1

-p luo esikatselufilmin. Tälle optiolle annettu numero valitsee väliajan valittujen ruutujen välillä, esimerkiksi -p24 merkitsee, että joka 24:s ruutu on valittu, näytetty. Uudelleen luotu video toistuu siis 24 kertaa nopeammin. Tämä optio voidaan yhdistää -f -optioon, joka kontrolloi ruutunopeutta. Molemmilla optiolla voidaan luoda miellyttäviä videoesikatseluita. Jos -p on käytössä, audiostriimi jätetään huomiotta.  

Esimerkki: -p 24

-a lisää kuvan videoruutuun ennen sen koon muuttamista. Kuvan ei tarvitse sopia videoruutuun. Se sijoitetaan aina videoruudun vasempaan yläkulmaan.

Esimerkki: <picture1.png>[,<startTime>[,<endTime>[,s]]]

Oletusarvoinen aloitusaika on 0. Oletusarvoinen lopetusaika on -1. Oletusarvoisesti s ei aseteta. Tässä tapauksessa kuva ei häivy pimeyteen. Jos s on asetettu, kuva häipyy pimeyteen. 

On mahdollista asettaa enemmän kuin yksi kuva videoruutuun. Käytä kaksoispistettä (:) yhdistääksesi ilmaukset. Jos aikajanat ovat päällekkäin, kuvat asetetaan toistensa päälle, jolloin viimeinen kuva on etualan taso.

Esimerkki: -a etwas.png,2,7,s:etwasneues.png,5,10

-A lisää kuvan videoruutuun sen koon muuttamisen jälkeen.

Syntaksi on sama kuin ilmaisussa -a -option kanssa.

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 alkuperäisen 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, näytenopeuden ja kanavien määrän muuttaminen:

oggResize -D64000 -F16000 -N1 orig.ogv new.ogv 

Tämä komento muuttaa vain äänistriimin tiedostosta orig.ogv näytenopeuteen, joka on 16kHz, bittinopeuteen, joka on 64 kBytes/s, ja yksikanavaiseksi. Kuten videon kanssa, äänistriimi koodataan uudelleen, jos annetut parametrit eivät 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 liittämistä.

Videoruudun koon muuttaminen, äänen bittinopeuden muuttaminen, kahden kuvan lisääminen videon päälle 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ä.

Lisäksi se lisää kuvan PNG-muodossa ja alfa-kanavan etwas.png videoon kohdasta 2 sekuntia kohtaan 7 sekuntia, pehmeällä sisään- ja uloshäivytyksellä, ja kuva etwasneues.png on sijoitettu videoruudun päälle sekunnista 5 sekuntiin 10 ilman mitään feidausta.

Ogg-tiedostojen analysoiminen

On olemassa joukko työkaluja, joilla voi analysoida Ogg-tiedostoja. Nämä ovat paketeissa Vorbis tools, oggz tools ja Ogg Video Tools. Aivan kuin editoinnin työkalut, nämä työkalut voivat sisältää päällekkäisiä toimintoja, tässä keskitymme kuitenkin tarjolla olevien työkalujen normaaliin käyttöön ja käyttöalueisiin.

Tässä keskustellaan seuraavista työkaluista:

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 sisällä saatavilla olevista striimeistä ja näiden striimien luonteesta, käytä ogginfo tai oggz-info.

$ oggz-info big_buck_bunny_480p_stereo-small.ogv Content-Duration: 00:09:56.384 Theora: serialno 0000020573 9546 packets in 6797 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 576 pages, 32.4 packets/page, 1.412% Ogg overhead Audio-Samplerate: 16000 Hz Audio-Channels: 2

Printattu ulostulo on tässä lista Ogg-tiedostossa saatavilla olevista striimeistä ja striimien parametreistä (esimerkiksi Theorassa videon kuvan koko ja kuvataajuus ja kanavanumero, Vorbisissa näytetaajuus 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 väriavaruudet. 

oggz-info voi kertoa sinulle enemmän Ogg-tiedostosta. Varsinkin -a -optio kertoo sinulle vielä yksityiskohtaisempaaa tietoa tiedostostasi. Kuitenkin tämä tieto on pääasiassa tilastollista.

Lukeaksesi tai editoidaksesi kommenttikenttiä, jotka tulevat jokaisen striimin mukana Ogg-tiedostossa. Tätä varten oggz-työkalut tarjovat oggz-comment komentorivityökalun.

Esimerkkiä kommenttien printtaamisesta.

$ oggz-comment -l big_buck_bunny_480p_stereo-small.ogg
Theora: serialno 0000020573
	Vendor: Xiph.Org libTheora I 20081020 3 2 1
	ENCODER: oggvideotools-0.8-win32
Vorbis: serialno 0000003594
	Vendor: Xiph.Org libVorbis I 20090514
	ENCODER: oggvideotools-0.8

Lisätäksesi kommentin, lisää "Tag=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.Org libTheora I 20081020 3 2 1
	ENCODER: oggvideotools-0.8-win32
	LICENCE: Creative Commons CC-BY-SA
Vorbis: serialno 0000003594
	Vendor: Xiph.Org libVorbis I 20090514
	ENCODER: oggVideoTools 0.8
	LICENCE: Creative Commons CC-BY-SA

Voit lisätä kommentin vain yhteen tarjolla olevaan striimiin tai poistaa kommentteja. Ole hyvä ja katso apusivuja näistä kehittyneemmistä vaihtoehdoista.

Ogg-tiedoston yksityiskohtainen analyysi

Kehittäjien on usein hyödyllistä katsoa streamia itseään ja analysoida, onko Ogg-tiedosto yhteensopiva Ogg-standardin kanssa.

Tiedoston validoimiseksi voit käyttää komentorivityökalua oggz-validate:

$ 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 järjesteltyjä Ogg-tiedostoja. Nämä toimivat yleensä, mutta voivat aiheuttaa ongelmia, kuten ajoittaista pysähtelyä, tai lisätä muistin käyttöä. Työkalu oggz-sort voi auttaa korjaamaan nämä järjestysongelmat:

$ oggz-sort -o output.ogv input.ogv

Paljon tarkempi kuva saadaan työkaluilla oggz-dump ja oggDump. Molemmat näistä työkaluista kirjoittavat yksityiskohtaista ulostulotietoa konsoliin.

oggz-dump voi tuoda pakettien ulostulon kaikista tai joistain erityisistä striimeistä annetun Ogg-tiedoston sisällä.

$ oggz-dump myfile.ogv
[ ... ]
    0b40: 6f13 abc9 f3ac 9dc2 cec5 9c62 0e70 1fab  o..........b.p..
    0b50: f891 01a8 0633 430e 308a 6f8c 86c3 131a  .....3C.0.o.....
    0b60: 3ab6 840d edab e79f fe24 a4              :.. .....$.

00:00:32.104: serialno 0938763527, calc. gpos 513664, packetno 1022: 269 bytes
    0000: 3eb7 e92b 50b4 0028 a93c 8bc4 0039 0948  >..+P..(.<...9 H
    0010: 1d58 0000 0080 5f03 db01 ee92 2482 48dd  .X...._.....$.H.
    0020: d73f 2562 feeb de81 94fe 75fb b7ff decf  .?%b......u.....
    0030: 18c0 b830 619f b6c5 cf0d 00f3 b5f5 bbbd  ...0a.... ......
[ ... ]

Komennon oggDump avulla voit päättää, jos tahdot nähdä sivut tai pakettitiedot Ogg-tiedostosta asettamalla -p (paketti) tai -g (sivu) option. Edelleenkin voit spesifioida striimin detaljitason käyttämällä -l (detail) asetusta. Detaljit voidaan asettaa arvosta 1 (ei yksityiskohtia) arvoon 5 (eniten yksityiskohtia):

$ oggDump -l3 -g myVideo.ogv
[ ... ]
Ogg Page: header length = 42 and body length = 3600
Header Information:
        Ogg Version      : 0
        Serial No        : 0x37f46507
        Packet Type      : fresh packet
        Page Type        : normal page
        Last Page        : normal page
        Granule 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 hyödyllisiä tapoja, joilla voi käyttää useita yllä kuvattuja työkaluja.

Striimin ajallinen kesto

Videon ajallisen pituuden saamiseksi selville voit käyttää komentoa oggz-info tai ogginfo, mutta tässä tapauksessa joudut hankkimaan informaation skriptillä ulostulon kautta. oggLength antaa sinulle toisen tavan saada pituus ulos suoraan, jotta voit käyttää sitä helpommin.

Luo Ogg Vorbis -tiedosto, joka on täynnä hiljaisuutta, ja sopii täsmälleen videoon

$ oggSilence -l`oggLength videoFile.ogv` -o audioSilence.oga

Äänileikkeen luominen videon osasta

Nämä 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

Lisätään tekstitykset striimin sisään

Oletko tehnyt saksankielisen tekstityksen englanninkieliseen videoon, jonka löysit 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 0000020573, calc. gpos 0|7, packetno 10: 414 bytes 00:00:00.500: serialno 0000020573, calc. gpos 0|8, packetno 11: 692 bytes 00:00:00.562: serialno 0000020573, calc. gpos 0|9, packetno 12: 600 bytes 00:00:00.625: serialno 0000020573, granulepos 0|10, packetno 13: 859 bytes 00:00:00.687: serialno 0000020573, calc. gpos 0|11, packetno 14: 700 bytes 00:00:00.750: serialno 0000020573, calc. gpos 0|12, packetno 15: 1.154 kB 00:00:00.812: serialno 0000020573, calc. gpos 0|13, packetno 16: 878 bytes 00:00:00.875: serialno 0000020573, 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

Lisenssi

Kaikki kappaleet ovat kirjoittajien tekijänoikeuden alaisia. Jos muuten ei sanota, kaikki luvut tässä käyttöoppaassa on lisensoitu GNU General Public License version 2 mukaisesti.

Tämä dokumentaatio on vapaata dokumentaatiota: voit jakaa sitä eteenpäin ja/tai muokata sitä Free Software Foundationin GNU General Public License mukaisesti; joko lisenssin version 2, tai (tahtoessasi) minkä tahansa myöhemmän version.

Dokumentaatiota jaellaan siinä toivossa, että se on käyttökelpoisa, mutta ILMAN MITÄÄN TAKUUTA; ilman edes MYYTÄVYYDEN tai TIETTYYN KÄYTTÖÖN SOPIVUUDEN oletettua takuuta. Katso lisätietoja GNU General Public Licensestä.

Tämän dokumentaation mukana olisi pitänyt tulla kopio GNU General Public Licensestä, mikäli sitä ei tullut kirjoita osoitteeseen Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Suomenkielisen version kääntäjät ja kirjoittajat

OGG THEORA

Muokkaukset:


OGG THEORA

Muokkaukset:
TomiToivio - 2012, 2011

TÄSTÄ KÄYTTÖOPPAASTA

Muokkaukset:
TomiToivio - 2012

TÄSTÄ KÄYTTÖOPPAASTA

Muokkaukset:

MITÄ VIDEO ON?

Muokkaukset:

MITÄ VIDEO ON?

Muokkaukset:
TomiToivio - 2012

MITÄ THEORA ON?

Muokkaukset:

MITÄ THEORA ON?

Muokkaukset:
TomiToivio - 2012

MIKÄ ON KOODEKKI?

Muokkaukset:
TomiToivio - 2011, 2012

KOODEKIT

Muokkaukset:

SÄILÖT

Muokkaukset:

SÄILÖT

Muokkaukset:
TomiToivio - 2012

KUINKA THEORAA TOISTETAAN

Muokkaukset:

THEORAN TOISTAMINEN

Muokkaukset:
TomiToivio - 2011, 2012

VLC

Muokkaukset:

TOISTO VLC:LLÄ

Muokkaukset:
TomiToivio - 2011, 2012

MIRO

Muokkaukset:
TomiToivio - 2012

MIRO

Muokkaukset:

THEORA VERKOSSA

Muokkaukset:
TomiToivio - 2011, 2012

THEORAN KÄYTTÖ VERKOSSA

Muokkaukset:
TomiToivio - 2011

HTML5

Muokkaukset:
TomiToivio - 2012

HTML5

Muokkaukset:

THEORA SIVUILLASI

Muokkaukset:

THEORA SIVUILLASI

Muokkaukset:
TomiToivio - 2012

HOTELLEJA THEORALLE

Muokkaukset:

HOTELLEJA THEORALLE

Muokkaukset:
TomiToivio - 2012

ENKOODAUKSEN PERUSTEET

Muokkaukset:

JOHDANTO ENKOODAUKSEEN

Muokkaukset:
TomiToivio - 2011, 2012

FIREFOGG

Muokkaukset:
TomiToivio - 2012

FIREFOGG

Muokkaukset:

ENKOODAUS VLC:LLÄ

Muokkaukset:
TomiToivio - 2011, 2012

VLC

Muokkaukset:

ENKOODAUS FFMPEG2THEORALLA

Muokkaukset:
TomiToivio - 2011, 2012

FFMPEG2Theora

Muokkaukset:

THOGGEN

Muokkaukset:
TomiToivio - 2012

THOGGEN

Muokkaukset:

TEKSTITYKSIEN PERUSTEET

Muokkaukset:
TomiToivio - 2011, 2012

JOHDANTO TEKSTITYKSIIN

Muokkaukset:

JAKELU

Muokkaukset:
TomiToivio - 2012

JAKELU

Muokkaukset:

TEKSTITYKSIEN LIITTÄMINEN

Muokkaukset:

TEKSTITYKSIEN LIITTÄMINEN

Muokkaukset:
TomiToivio - 2012

TEKSTITYKSIEN TOISTAMINEN

Muokkaukset:

TEKSTITYKSIEN TOISTAMINEN

Muokkaukset:
TomiToivio - 2012

JULKAISEMINEN

Muokkaukset:

JULKAISEMINEN

Muokkaukset:
TomiToivio - 2012

SUORATOISTON PERUSTEET

Muokkaukset:
TomiToivio - 2011, 2012

MITÄ ON SUORATOISTO

Muokkaukset:

ICECAST

Muokkaukset:

ICECAST

Muokkaukset:
TomiToivio - 2012

TSS

Muokkaukset:

TSS

Muokkaukset:
TomiToivio - 2012

FFMPEG2THEORA-STREAMAUS

Muokkaukset:
TomiToivio - 2011, 2012

FFMPEG2THEORA

Muokkaukset:

VLC-STREAMAUS

Muokkaukset:
TomiToivio - 2011, 2012

VLC

Muokkaukset:

VIRTAUSTOISTON TALLENTAMINEN

Muokkaukset:
TomiToivio - 2012

VIRTAUSTOISTON TALLENTAMINEN

Muokkaukset:

JOHDANTO EDITOITIIN

Muokkaukset:
TomiToivio - 2011, 2012

EDITOINNIN PERUSTEET

Muokkaukset:

PITIVI

Muokkaukset:

PITIVI

Muokkaukset:
TomiToivio - 2012

ESIKATSELUN KÄYTTÖ

Muokkaukset:
TomiToivio - 2011, 2012

ESIKATSELUN KÄYTTÖ

Muokkaukset:
TomiToivio - 2011

TEE ESIKATSELUKUVIA

Muokkaukset:

TEE ESIKATSELUKUVIA

Muokkaukset:
TomiToivio - 2012

TEE DIAESITYS

Muokkaukset:
TomiToivio - 2012

TEE DIAESITYS

Muokkaukset:

TEE ESIKATSELUVIDEO

Muokkaukset:

TEE ESIKATSELUVIDEO

Muokkaukset:
TomiToivio - 2012

THEORA JA KOMENTORIVI

Muokkaukset:
TomiToivio - 2011, 2012

KOMENTORIVIN KÄYTTÖ

Muokkaukset:

THEORAN TEORIA

Muokkaukset:
TomiToivio - 2012

THEORAN TEORIA

Muokkaukset:

TIEDOSTON JAKAMINEN

Muokkaukset:
TomiToivio - 2012

TIEDOSTON JAKAMINEN

Muokkaukset:

TIEDOSTON LEIKKAAMINEN

Muokkaukset:

TIEDOSTON LEIKKAAMINEN

Muokkaukset:
TomiToivio - 2012

TIEDOSTOJEN LIITTÄMINEN

Muokkaukset:
TomiToivio - 2012

TIEDOSTOJEN LIITTÄMINEN

Muokkaukset:

TIEDOSTOJEN YHDISTÄMINEN

Muokkaukset:

TIEDOSTOJEN YHDISTÄMINEN

Muokkaukset:
TomiToivio - 2012

KOON MUUTTAMINEN

Muokkaukset:

KOON MUUTTAMINEN

Muokkaukset:
TomiToivio - 2012

OGGIN ANALYSOIMINEN

Muokkaukset:

OGGIN ANALYSOIMINEN

Muokkaukset:
TomiToivio - 2012

TEKIJÄT

Muokkaukset:

TEKIJÄT

Muokkaukset:
TomiToivio - 2012

 

TÄSTÄ KÄYTTÖOPPAASTA
© Tomi Toivio 2009, 2010


OGGIN ANALYSOIMINEN
© Tomi Toivio 2009, 2010


VIRTAUSTOISTON TALLENTAMINEN
© Tomi Toivio 2009, 2010
Modifications:
Tomi Toivio 2009


TIEDOSTOJEN YHDISTÄMINEN
© Tomi Toivio 2009, 2010


KOODEKIT
© Tomi Toivio 2009, 2010
Modifications:
TWikiGuest 2009


SÄILÖT
© Tomi Toivio 2009, 2010, 2011


JAKELU
© Tomi Toivio 2009, 2010


TEE ESIKATSELUVIDEO
© Tomi Toivio 2009, 2010


TEE DIAESITYS
© Tomi Toivio 2009, 2010


TEE ESIKATSELUKUVIA
© Tomi Toivio 2009, 2010


TEKIJÄT
© adam hyde 2006, 2007
Modifications:
Tomi Toivio 2009, 2010


TIEDOSTON LEIKKAAMINEN
© Tomi Toivio 2009, 2010


JOHDANTO
© Tomi Toivio 2009, 2010


TEKSTITYKSIEN LIITTÄMINEN
© Tomi Toivio 2009, 2010


JOHDANTO
© Tomi Toivio 2009, 2010
Modifications:
Tomi Toivio 2009


FFMPEG2Theora
© Tomi Toivio 2009, 2010
Modifications:
Tomi Toivio 2009


FFMPEG2THEORA
© Tomi Toivio 2009, 2010
Modifications:
Tomi Toivio 2009


FIREFOGG
© Tomi Toivio 2009, 2010
Modifications:
Tomi Toivio 2009


HTML5
© Tomi Toivio 2009, 2010
Modifications:
Tomi Toivio 2009


HOTELLEJA THEORALLE
© Tomi Toivio 2009, 2010
Modifications:
Tomi Toivio 2009


ICECAST
© Tomi Toivio 2009, 2010


JOHDANTO
© adam hyde 2006, 2007
Modifications:
Tomi Toivio 2009, 2010
TWikiGuest 2009
Tomi Toivio 2009


TIEDOSTOJEN LIITTÄMINEN
© Tomi Toivio 2009, 2010


JOHDANTO
© Tomi Toivio 2009, 2010


MIRO
© Tomi Toivio 2009, 2010
Modifications:
Tomi Toivio 2009


THEORA SIVUILLASI
© Tomi Toivio 2009, 2010
Modifications:
Tomi Toivio 2009


KOON MUUTTAMINEN
© Tomi Toivio 2009, 2010


JOHDANTO
© Tomi Toivio 2009, 2010
Modifications:
Tomi Toivio 2009


PITIVI
© Tomi Toivio 2009, 2010


KUINKA THEORAA TOISTETAAN
© Tomi Toivio 2009, 2010


TEKSTITYKSIEN TOISTAMINEN
© Tomi Toivio 2009, 2010


JULKAISEMINEN
© Tomi Toivio 2009, 2010
Modifications:
Tomi Toivio 2009


TIEDOSTON JAKAMINEN
© Tomi Toivio 2009, 2010


JOHDANTO
© Tomi Toivio 2009, 2010
Modifications:
Tomi Toivio 2009


TSS
© Tomi Toivio 2009, 2010
Modifications:
Tomi Toivio 2009


THEORAN TEORIA
© Tomi Toivio 2009, 2010


THOGGEN
© Tomi Toivio 2009, 2010
Modifications:
Tomi Toivio 2009


VLC
© Tomi Toivio 2009, 2010
Modifications:
Tomi Toivio 2009


VLC
© Tomi Toivio 2009, 2010
Modifications:
Tomi Toivio 2009


VLC
© Tomi Toivio 2009, 2010


MITÄ ON SUORATOISTO
© Tomi Toivio 2009, 2010
Modifications:
Tomi Toivio 2009


MITÄ THEORA ON?
© Tomi Toivio 2009, 2010
Modifications:
Tomi Toivio 2009


MITÄ VIDEO ON?
© Tomi Toivio 2009, 2010


JOHDANTO
© Tomi Toivio 2009, 2010


 

Englanninkielisen version tekijät

ABOUT THIS MANUAL
© adam hyde 2009
Modifications:
David Kühling 2009
William Merriam 2009


ACCESSIBILITY
© TWikiGuest 2009
Modifications:
adam hyde 2009
Silvia Pfeiffer 2009


ANALYSING OGG
© Mark Hancock 2009
Modifications:
adam hyde 2009
Jan Gerber 2009
ogg k 2009
Jörn Seger 2009


STREAM RIPPING
© adam hyde 2007, 2009
Modifications:
Alan Toner 2009
Edward Cherlin 2009
Holmes Wilson 2009
Jan Gerber 2009
ogg k 2009
Thomas Middleton 2008
Jörn Seger 2009


CAT FILES
© adam hyde 2009
Modifications:
Robert Valliant 2009
Jörn Seger 2009


CODECS
© TWikiGuest 2008
Modifications:
adam hyde 2009
Holmes Wilson 2009
Jaap Hoetmer 2009
Jan Gerber 2009
ogg k 2009
Robert Valliant 2009
susanne lang 2009
Jörn Seger 2009


CONTAINERS
© TWikiGuest 2008
Modifications:
adam hyde 2009
Holmes Wilson 2009
Jan Gerber 2009
ogg k 2009
susanne lang 2009
Jörn Seger 2009


DISTRIBUTION
© adam hyde 2007, 2009
Modifications:
Holmes Wilson 2009
ogg k 2009
susanne lang 2009
Thomas Middleton 2008


CREATE PREVIEW
© Jörn Seger 2009
Modifications:
adam hyde 2009
Alan Toner 2009
David Kühling 2009


CREATE SLIDESHOWS
© Jörn Seger 2009
Modifications:
adam hyde 2009
Alan Toner 2009
David Kühling 2009
Edward Cherlin 2009


CREATE THUMBNAILS
© Jörn Seger 2009
Modifications:
adam hyde 2009
Alan Toner 2009
David Kühling 2009
Mark Hancock 2009


CREDITS
© adam hyde 2006, 2007, 2009


CUT A FILE
© adam hyde 2009
Modifications:
David Kühling 2009
Edward Cherlin 2009
Robert Valliant 2009


INTRODUCTION
© adam hyde 2007, 2009
Modifications:
Alan Toner 2009
Edward Cherlin 2009
Holmes Wilson 2009
Jan Gerber 2009
salsa man 2009
susanne lang 2009
Thomas Middleton 2008
Jörn Seger 2009


EMBEDDING SUBTITLES
© adam hyde 2009
Modifications:
Edward Cherlin 2009
Holmes Wilson 2009
Jan Gerber 2009
susanne lang 2009


INTRODUCTION
© TWikiGuest 2008
Modifications:
adam hyde 2009
David Kühling 2009
Jan Gerber 2009
jay maechtlen 2009
Jörn Seger 2009


FFMPEG2THEORA
© TWikiGuest 2008
Modifications:
adam hyde 2009
David Kühling 2009
Edward Cherlin 2009
Holmes Wilson 2009
Jan Gerber 2009
ogg k 2009
Jörn Seger 2009


FFMPEG2THEORA
© adam hyde 2007, 2009
Modifications:
Alan Toner 2009
Holmes Wilson 2009
Jan Gerber 2009
Thomas Middleton 2008
Jörn Seger 2009


FIREFOGG
© maxigas maxigas 2007
Modifications:
adam hyde 2009
David Kühling 2009
Jan Gerber 2009
Peter W 2009
Thomas Middleton 2008
Jörn Seger 2009


GLOSSARY
© adam hyde 2006, 2009
Modifications:
Edward Cherlin 2009
Holmes Wilson 2009
Jan Gerber 2009
ogg k 2009
Thomas Middleton 2008


HTML5
© Jörn 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
© TWikiGuest 2008
Modifications:
adam hyde 2009
Andrew Nicholson 2009
Holmes Wilson 2009
Jan Gerber 2009


ICECAST
© adam hyde 2006, 2007, 2008
Modifications:
Zita Joyce 2008


INTERESTING EXTRAS
© TWikiGuest 2009
Modifications:
adam hyde 2009
Jan Gerber 2009
Silvia Pfeiffer 2009


INTRODUCTION
© adam hyde 2006, 2007, 2009
Modifications:
Brylie Oxley 2009
David Kühling 2009
Edward Cherlin 2009
Holmes Wilson 2009
Jan Gerber 2009
Maik Merten 2009
ogg k 2009
susanne lang 2009
Thomas Middleton 2008


JOIN FILES
© adam hyde 2009
Modifications:
David Kühling 2009
Robert Valliant 2009


INTRODUCTION
© TWikiGuest 2008
Modifications:
adam hyde 2009
David Kühling 2009
Edward Cherlin 2009
Holmes Wilson 2009
ogg k 2009
Robert Valliant 2009
Jörn Seger 2009


MIRO
© Jörn Seger 2008
Modifications:
adam hyde 2009
Holmes Wilson 2009
TWikiGuest 2008
Thom Hastings 2009


HOSTING THEORA YOURSELF
© TWikiGuest 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
Jörn Seger 2009


INTRODUCTION
© TWikiGuest 2008
Modifications:
adam hyde 2009
Jan Gerber 2009
ogg k 2009
susanne lang 2009
Jörn Seger 2009


PITIVI
© adam hyde 2006, 2009
Modifications:
Edward Cherlin 2009
Holmes Wilson 2009
Jan Gerber 2009
Thomas Middleton 2008


HOW TO PLAY THEORA
© TWikiGuest 2008
Modifications:
adam hyde 2009
Gergely Máté 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


PUBLISHING
© adam hyde 2007, 2009
Modifications:
another sam 2009
Edward Cherlin 2009
Holmes Wilson 2009
Jan Gerber 2009
Mark Grandi 2009
susanne lang 2009
Thomas Middleton 2008


SPLIT A FILE
© adam hyde 2009
Modifications:
David Kühling 2009
ogg k 2009
Robert Valliant 2009
Jörn Seger 2009


INTRODUCTION
© ogg k 2009
Modifications:
adam hyde 2009
Edward Cherlin 2009
Holmes Wilson 2009
susanne lang 2009


TSS
© TWikiGuest 2008
Modifications:
adam hyde 2009
Alan Toner 2009
alejo duque 2009
Holmes Wilson 2009


THEORA THEORY
© Jörn Seger 2008, 2009
Modifications:
adam hyde 2008, 2009
Alan Toner 2009
David Kühling 2009
Robert Valliant 2009


THOGGEN
© adam hyde 2007, 2009
Modifications:
David Kühling 2009
Edward Cherlin 2009
Jan Gerber 2009
ogg k 2009
Jörn Seger 2009


VLC
© TWikiGuest 2008
Modifications:
adam hyde 2009
David Kühling 2009
Dennis J 2009
Mark Hancock 2009
Jörn Seger 2009


VLC
© TWikiGuest 2008
Modifications:
adam hyde 2009
Holmes Wilson 2009
Jan Gerber 2009


VLC
© adam hyde 2007, 2009
Modifications:
Alan Toner 2009
Edward Cherlin 2009
jay maechtlen 2009
Thomas Middleton 2008
Jörn Seger 2009


WHAT IS STREAMING?
© TWikiGuest 2008
Modifications:
adam hyde 2009
Alan Toner 2009
Jörn Seger 2009


WHAT IS THEORA?
© TWikiGuest 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?
© TWikiGuest 2008
Modifications:
adam hyde 2009
Brylie Oxley 2009
Edward Cherlin 2009
Holmes Wilson 2009
Lachlan Musicman 2009
susanne lang 2009


INTRODUCTION
© Mark Hancock 2009
Modifications:
adam hyde 2009
Alan Toner 2009
David Kühling 2009
susanne lang 2009
Jörn Seger 2009


100

Vapaat käyttöoppaat vapaille ohjelmille

 

 

 

		    GNU GENERAL PUBLIC LICENSE
		       Version 2, June 1991

 Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
 51 Franklin Street, Fifth Floor, Boston, MA 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 GNU General 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
General 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 GNU Lesser General Public License instead.)  You can apply it to
your programs, too.

  When we speak of free software, we are referring to freedom, not
price.  Our General 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.

  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.

		    GNU GENERAL PUBLIC LICENSE
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

  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 General 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
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.

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.  Many 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 General 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.  Our 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 PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.

  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.

		     END OF TERMS AND CONDITIONS