Icecast

icecast_cover_5_en

Verkon äänen ja videon maailmassa on joukko teknologioita, joita kutsutaan streamaukseksi. Streamaus on yksinkertaisimmillaan äänen ja videon välittämistä verkon yli reaaliajassa. Perinteisesti streamausta on käytetty internetin suoriin radiolähetyksiin tai tapahtumien lähettämiseen suorana netissä, jotta niitä voi katsella kotoa. 

Streamausta kuvaillaan usein käyttäen vertauskuvia joukkotiedotusvälineiden lähetysteknologiasta. Internetin ääni- ja videolähetykset nähdään usein samankaltaisina kuin radio- ja televisiolähetykset. Ihmiset puhuvat usein suorista ääni- ja videostreameista "netissä lähettämisenä" tai "nettilähetyksenä". Nämä käsitteet ovat hyödyllisiä, jotta ymmärrämme streamauksen tarkoitukset, mutta niitä ei kannata ottaa liian kirjaimellisesti. On kuitenkin hyödyllistä viitata näihin malleihin, kun selostamme Icecastin toimintaa.

Radio- ja televisiolähetyksiä lähetetään lähettimellä, joka välittää studiosta lähetetyn signaalin televisioon tai radioon.

radio_en

Internet-lähetyksissä (streamauksessa) korvaat lähettimen streamauspalvelimella, joka on itse asiassa tietokone-ohjelma.

transmit_server_en 

Icecast on tällainen ohjelma. Se mahdollistaa suoran ääni- ja videolähetyksen internetissä reaaliajassa. Tämä on kuitenkin vain osa kokonaisuudesta. Tarvitset myös streamikoodaajan, joka voi lähettää alkuperäisen ääni- tai videostreamin Icecastiin. Icecast jakelee streamin, se ei luo sitä - streamin luominen on koodaajan homma. 

Icecast on hyvin kypsä teknologia ja hyvin kestävä. Se tukee monien eri äänistreamausformaattien lähettämistä (myös MP3 ja Ogg Vorbis) ja se tukee Ogg Theoran käyttöä videon streamaamiseen. Icecast toimii Linuxissa ja Windowsissa. Jos tahdot asentaa sen Linuxiin, tarvitset jonkin verran kokemusta Linuxin käytöstä; erityisesti ohjelmien asentamisesta komentoriviltä, sekä tekstiin perustuvien konfiguraatiotiedostojen muokkaamisesta. Windowsin asennusprosessi on paljon suoraviivaisempi, mutta sinun täytyy silti tuntea tekstiin perustuvien konfiguraatiotiedostojen editointi. 

Icecastin asentamista ja käyttöä ei suositella kokemattomille käyttäjille.

 

Mitä streamaus on?

Streamattua mediaa käytetään kuvailemaan äänen tai videon reaaliaikaista lähetystä internetissä. Streamaava media sallii äänen tai videon suoran lähetyksen internetin yli, jolloin internet muuttuu joukkoviestintävälineeksi. Sisältöä voi myös tallentaa streamaaviin tiedostomuotoihin, jolloin internetin käyttäjät voivat katsoa jälkeenpäin tallenteita tapahtumista. 

Erilaiset streamaustavat

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 kaistanleveydellä. Esimerkiksi korkealaatuinen elokuva voidaan ladata minkä tahansa internet-yhteyden yli. Elokuvaa ei kuitenkaan voi toistaa ennen kuin koko tiedosto on ladattu, jolloin 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 tiedostojen jakaminen on erittäin suosittua internetissä. Koska laajakaistayhteydet ovat yleisiä monissa maissa, lataa ja soita -elokuvien jako verkoissa lisääntyy. 

 

 Soitto ladattaessa

Soitto ladattaessa merkitsee median soittamista sen latautuessa kovalevylle. Tämä on käyttökelpoinen menetelmä, mutta ei niin hyödyllinen kuin todellinen streamaus, koska se ei voi esimerkiksi tarjota monen tiedonsiirtonopeuden 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 tätä menetelmää "Fast Startiksi". Tämä osoittaa yhden ongelman streamauksen opettelemisessa ja teknologioiden erittelyssä: jokainen teknologian valmistaja 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 streamauksen 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 soitto ladattaessa, 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 "streamattu media" (jota sanotaan yleensä vain streamaukseksi").

Ladattaessa toistamisen ja todellisen streamauksen välinen ero ei aina ole ilmeinen. Jos käyttäjällä on hyvin nopea verkkoyhteys, soitto ladattessa voi näyttää toimivan täsmälleen samalla tavalla kuin todellinen streamaus.

Lataus ja soitto, soitto ladattaessa 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ä, soita ladataessa, 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 streamaus.

Koodaus

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

Pakkaus

On kaksi pakkaustapaa - häviöllinen ja häviötön 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. 

Häviötön 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, pussin koko supistuu, vaikka pussissa oleva esine ei kutistu.

Häviöllinen 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.

Häviöllinen 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.

Koodekit

Ääntä ja videota pakkaavat, koodaavat ja tiedostomuodot luovat algoritmit tunnetaan "koodekkeina". Sana on tehty kahdesta yleisestä termistä: kompressoida ja dekompressoida. Koodausohjelmisto käyttää kodekkia "kompressoimaan" streami, jotta sisältö voidaan siirtää verkon yli siirtämistä varten, ja sisältöä toistava ohjelma käyttää koodekkia "dekompressoimaan" sisällön toistoa varten.

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

Tiedonsiirtonopeus

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

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

Tiedonsiirtonopeuden valitseminen vaatii useamman eri seikan huomioimista. Näihin seikkoihin sisältyvät: 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 streamauksen 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 streamauksen ja saadakseen täyden toiminnallisuuden ja tehokkuuden vaaditaan streamausmediapelvelinta. 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.gif

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. Niinpä 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, yleisö ei tule olemaan suuri... Joten streamausta käytetään jakelemaan ääni usemmille ihmisille. 

transmit_server.gif

Esimerkki on ilmeinen... Tietokone korvaa radiostudion, streamauspalvelin korvaa lähettimen, ja kuuntelijat kytkeytyvä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ä.

 

 

Icecastin asentaminen lähdekoodista (Linux)

Tämä luku käsittelee Icecastin asentamista Linux-koneelle käyttäen lähdekoodia.  Tämä merkitsee, että joudut kääntämään sovelluksen uudestaan komentoriviä käyttäen.

Icecast-verkkosivun etusivulla on linkki "Download": klikkaa tätä ja pääset verkkosivun latausosioon (http://www.icecast.org/).

Tätä kirjoitettaessa viimeisin versio on 2.3.2, on kuitenkin todennäköisempää, että työskentelet erilaisen version parissa. Sillä ei ole merkitystä ellet lue tätä vuonna 2040, yleensä asennusprosessin pitäisi olla suunnilleen samanlainen. voit havaita, että ohjelmasta on erilaisia versioita saatavilla - Redhat-versioita ja Windows-versio. Tahtomamme versio on lähdekoodi. Tämä on yksittäinen pakattu ladattava tiedosto, jossa on kaikki asennustiedostot. 

Voit ladata seuraavan lähdetiedoston Icecast-sivustolta. Voit myös ladata tätä versiota uudemman version. 
icecast-2.3.2.tar.gz
Toivottavasti latasit tiedoston paikkaan, johon pääset käsiksi. Yleensä lataan itse tiedostot oman kotihakemistoni alahakemistoon, jonka nimi on src. Voit laittaa tiedostosi minne haluat, kunhan pääset käsiksi niihin, mutta älä täytä tiedostojärjestelmääsi siellä täällä lojuvilla asennustiedostoilla. Suosittelen, että laitat sen kotihakemistoosi. Kotihakemistosi on hakemisto, jonka nimi on käyttäjänimesi, ja joka on /home -hakemiston alla. Päästäksesi kotihakemistoosi voit kirjoittaa seuraavan komennon pääteikkunassa:
cd /home/käyttäjänimi

  Jossa "käyttäjänimi" on käyttäjänimesi, esimerkiksi oma käyttäjänimeni on "adam", joten kirjoittaisin: 

cd /home/adam
Tai kokeile tätä:
cd ~

Komento cd on lyhenne sanoista change directory (vaihda hakemistoa) ja voit käyttää tätä komentoa aina navigoidaksesi tiedostojärjestelmässä. Jos olet kotihakemistossasi, etsi hakemistoa nimeltä src. Tehdäksesi tämän, kirjoita: 

ls -al
Komento "ls" sanasta "list" (listaa), sen kirjoittaminen näyttää sinulle kaikki tiedostot kotihakemistossasi. Jos et näe src-hakemistoa, kirjoita seuraava:
mkdir src
Komento mkdir on lyhenne sanoista "makdirectory" (tee hakemisto), ja sen kirjoittaminen luo hakemiston, jota kutsutaan nimellä "src": nyt sinun täytyy vaihtaa hakemistoa tuohon uuteen hakemistoon komennolla cd. Tänne on hyvä laittaa kaikki lataamasi lähdekoodi, ellei sinulla ole niille parempaa paikkaa. Jos et ole vielä ladannut lähdekoodia, lataa ne tähän hakemistoon. Jos olet jo ladannut lähdekoodin, siirrä se tähän hakemistoon käyttäen mv-komentoa (jos tiedät missä lähdekoodi on.  
mv /home/käyttäjänimi/icecast-2.3.2.tar.gz /home/käyttäjänimi/src
Edellisessä esimerkissä latasin vahingossa lähdekoodin hakemisoon /home/adamja siirrän ne uuteen src-hakemistooni.

 

Ladattujen tiedostojen purkaminen

Nyt purammejuuri lataamamme tiedostot... Tehdäksesi tämän, kirjoita (jos sinulla on Icecastin versio 2.3.2, muuten muuta tiedoston nimi siihen, joka sinulla on):
tar -zxvf icecast-2.3.2.tar.gz
Tämä heittää paljon roskaa päätteen ikkunaan. Siinä on lista kaikista arkistosta puretuista tiedostoista. Oppiaksesi enemmän tar-komennosta käytä tätä komentoa: 
man tar

Nyt näet toivottavasti uuden haksmiston, kun käytät ls -al -komentoa.

 

Nyt voit käyttää komentoa cd siirtyäksesi uuteen hakemistoon (tässä tapauksessa hakemiston nimi on icecast-2.3.2).

cd icecast-2.3.2

Tämän jälkeen joudut kirjoittamaan seuraavan komennon:

./configure
Tämä on configure-konfigurointikomento, jota joudut käyttämään aina asentaessasi jotain lähdekoodista Linuxissa. Jos olet onnekas, näet kasoittain tekstiä vierimässä päätteen läpi. Tämä on konfiguraatio-ohjelma, joka tarkastaa että kaikki on kunnossa tietokoneellasi, ennen kuin se antaa sinun asentaa ohjelman. Jos kaikki menee hyvin, sinulla pitäisi olla siisti konfiguraatioprosessi ilman ongelmia.

 

Kirjoita nyt seuraava komento:

make
Tämä make-komento tekee binääritiedoston lähdekoodeista, periaatteessa tämä merkitsee, että configure-ohjelma on selvittänyt, kuinka ohjelma tehdään sinun järjestelmääsi varten, ja make-komento käyttää tätä tietoa tehdäkseen (kompiloidakseen) ohjelman. Jos make-prosessi on mennyt hyvin, päädyt jälleen siistiin terminaaliin ilman virheitä.

icecast_term2_en

Jos olet kohdannut virheitä, ei tässä ole juurikaan tilaa käsitellä kaikkia mahdollisuuksia. Kannattaa etsiä vastauksia hakukoneiden avulla. Parasta on kopioida virheviesti hakukoneeseen ja katsoa mitä löytyy. Luultavasti joku muu on törmännyt samaan ongelmaan ja dokumentoinut ratkaisun, tai ehkä joku on lähettänyt aiheesta neuvoja uutisryhmään. Joka tapauksessa monia erilaisia ongelmia voi syntyä, eikä niitä kaikkia voi ennustaa tässä käyttöoppaassa.

Jos kaikki on sujunut hyvin, on tässä vielä yksi komento kirjoitettavaksi:

make install
Tämä komento asentaa käännetyn ohjelman oikeaan paikkaan järjestelmässäsi. Tarkastaaksesi, että kaikki on mennyt hyvin, kirjoita seuraava komento:
icecast
Tämä komento käynnistää uuden Icecast2-palvelimesi... 

 

 

Icecastin asentaminen Windowsiin 

Ohjelman nimi: Icecast 
Kotisivu: http://www.icecast.org/ 
Tähän asennukseen käytetty ohjelman versio: 2.3.2 
Tähän asennukseen käytetty käyttöjärjestelmä: Windows XP

Ei ole liian vaikeaa asentaa Icecastia Windowsiin. Voit asentaa sen omalle koneellesi ja leikkiä omalla striimauspalvelimellasi, tai voit asentaa Icecastin Windows-palvelimeen.

Lataa asennusohjelma

Aluksi täytyy käydä Icecast-verkkosivulla ja ladata asennusohjelma. Mene siis selaimellasi osoitteeseen http://www.icecast.org ja näet asennusohjelman etusivulla:

ScreenHunter_02_Nov._12_21.22

Jos klikkaat Windows-asennuslinkkiä, asennusohjelma aloittaa latauksen. Lataa se työpöydällesi tai johonkin muualle, josta löydät sen. Kun lataus on valmis, näet asennusohjelman työpöydälläsi, tai siinä kansiossa johon tallensit sen. Sen pitäisi näyttää tältä:

ScreenHunter_03_Nov._12_21.30

Tuplanapsauta nyt ikonia:

ScreenHunter_04_Nov._12_21.33

Paina Next > ja pääset lisenssiruudulle:

ScreenHunter_05_Nov._12_22.02
Jos tahdot, voit lukea lisenssin, tai mennä muuten vain eteenpäin ja napsauttaa 'I accept the agreement' ja Next > :

setup3_en

Nyt voimme asentaa ohjelman minne tahomme, voit muuttaa asennuspaikkaa klikkaamalla "Browse" -nappia ja valitsemalla toisen hakemiston Icecastin asentamiseen. Nyt käytämme oletusasetuksia ja painamme Next > :

setup4_en 

Tässä voidaan valita mikä ohjelman nimen pitäisi olla Windowsin Käynnistä-valikossa, jotta Icecast voidaan käynnistää nopeasti. Jätämme tämän asetuksen oletukselle:

setup5_en

Edellisessä ikkunassa valitset yksinkertaisesti, tahdotko kuvakkeen ilmestyvän Työpöydälle, jotta voit käynnistää Icecastin nopeasti sillä tavalla. Jätämme sen oletusarvoonsa ja napsautamme Next > :

setup6_en 

Ylläolevassa ikkunassa on vain kokoelma edellisissä ruuduissa tekemiäsi valintoja. Tarkasta, että kaikki on kunnossa, ja napsauta sitten Install:

installing_en

Edistyspalkki vilahtaa ruudun yli, ja kun asennus on valmis, näet tämän:

installing2_en

Windows-asennusohjelmassa tämä tieto ei ole niin tärkeää, joten klikkaa Next > :

last_en

Tämä on ainoa todellinen valinta, joka sinun täytyy tehdä. Windows Service merkitsee, että asennat Icecastin toimimaan "taustalla." Tämä tunnetaan palveluna tai demonina. Palvelin, kuten streamauspalvelin, on yleensä tietokone, joka ajaa streamausohjelmaa (kuten Icecast) palveuina. Jos sinulla on palvelin ja tämä on päämääräsi, jätä oletusarvo rastituksi, muuten (jos tahdot esimerkiksi vain kokeilla Icecastia työpöydän koneella tai läppärillä), poista rasti ja napsauta Finish. 

Icecastin ajaminen

Ajaaksesi Icecastin sinun täytyy kaksoisnapsauttaa työpöydälläsi olevaa ikonia:

icon2_en

näet jotain tällaista:

started_en

 

Icecastin käynnistäminen Linuxissa

Linuxissa Icecastia kontrolloidaan kokonaan komentoriviltä. Tämä on hyvin käytännöllistä, mikäli tahdot käyttää sitä etäkäyttönä palvelimella, kuten sitä yleensä käytetäänkin.

Icecastin ajamisen peruskomento on:

icecast -c icecast.xml
Sinun täytyy kuitenkin etsiä "icecast.xml"-tiedostosi. jos asensit lähdekoodista, joudut etsimään tiedoston Icecast2-lähdehakemistosta conf-hakemiston sisältä. Tiedostoa kutsutaan "icecast.xml.dist"-nimellä.  Jos sitä ei löydy, käytä komentoa locate tai slocate köytääksesi sen. Sanotaanpa, että olen Icecast2 -lähdehakemistossa, ja "icecast.xml.dist"  -tiedosto on "conf"-hakemistossa. Tällöin on helpompaa siirtää se hakemistoon, jossa työskentelen, ja nimetä se "icecast.xml" -tiedostoksi. Käytän cp-komentoa, koska tahdon jättää alkuperäisestä kopion varuuden vuoksi... niinpä kirjoitan komennon: 
cp conf/icecast.xml.dist icecast.xml
Nyt voin ajaa komennon:
icecast -c icecast.xml
Hyvällä onnella se toimii... Parametri "-c" merkitsee konfiguraatiota, joten tämä on tapa saada Icecast käyttämään konfiguraatiotiedostoa "icecast.xml". 

Jos törmäät virheeseen, katso seuraavaa kappaletta Icecast2 -konfiguraatioasetusten tekemisestä.

Jos se kuitenkin toimii, ainoa tarpeellinen asia, joka sinun täytyy tietää, on oletussalasana "hackme".

Ajaaksesi ohjelmaa MuSE juuri asentamasi Icecast-palvelimen kanssa, käytä seuraavia asetuksia (joista kaikki voidaan vaihtaa muokkaamalla "icecast.xml" -tiedostoa):

port: 8000

password: hackme

host: localhost
Tämän jälkeen mikä tahansa mountpoint toimii hyvin, esimerkiksi /firststream.

Nyt voit testata streamausoptiota ja kirjoittaa "open location" -kenttään seuraavan URLin:

http://localhost:8000/firststream
Nyt sinun pitäisi kuulla mitä tulee ulos äänikortiltasi.

 

 

Icecastin käynnistys (Windows)

Käynnistääksesi Icecastin voit tuplanapsauttaa työpöydälläsi olevaa kätevää ikonia:

icon2_en

Näkyviin tulee tällainen ikkuna:

started_en

 

Käynnistääksesi Icecastin voit yksinkertaisesti painaa Start Server -nappia:

startserver_en

Icecastin pitäisi käynnistyä ja näyttää tältä:

running_en

Jos tahdot kokeilla streamausta uudella Icecast-palvelimellasi, voit ajaa streamin koodaajaa samalla koneella. Jos tahdot tehdä näin, lataa ja asenna M3W streamikoodaaja (http://www.informatik.fh-muenchen.de/~ruckert/m3w/).

 

 

 

Polut ja lokitiedostot

Joskus huomaan, että Icecast heittää virheviestin, kun se yrittää luoda lokitiedostoja. Virheviesti näyttää tältä:
FATAL: could not open error logging
FATAL: could not open access logging
FATAL: Could not start logging
Tässä tapauksessa avaan suosikkitekstieditorini ja katson "icecast.xml"-tiedostoa. Näen nämä rivit:
 /usr/local/var/log/icecast
        /usr/local/share/icecast/web
        /usr/local/share/icecast/admin
Muutan nämä arvot osoittamaan kotitiedostooni:
 /home/adam
        home/adam
        /home/adam
Joudut tietenkin käyttämään oman hakemistosi nimeä. Muuta myös seuraavat konfiguraatiotiedoston arvot tällaisiksi: 
 
        access.log
        error.log
        4 

    

Tee sitten seuraava komento kotihakemistossasi: 

touch access.log error.log
Tämä komento yksinkertaisesti luo tyhjiä tiedostoja, joihin Icecast2 voi sitten kirjoittaa. Nyt Icecast2 toimii hyvin. Jos muutat salasanaa ja muita tietoja Icecastin jo toimiessa, sinun täytyy pysäyttää Icecast2 ja käynnistää Icecast uudestaan käyttäen aiemmin käyttämääsi komentoa.

 

 

Icecastin konfigurointi (Windows ja Linux)

Linuxissa tarvitset tekstieditorin muuttaaksesi konfiguraatiotiedostoa. Sinun täytyy myös tietää missä osassa käyttöjärjestelmääsi konfiguraatiotiedosto on. Windowsissa se on hieman helpompaa. Jos tahdot editoida Icecastin konfiguraatiotiedostoa Windowsissa, joudut ensin varmistamaan, että Icecast on avoinna mutta ei päällä. Tämän jälkeen napsauta "Configuration" valikkopalkissa ja valitse "Edit Configuration". 

editconfig_en

Tämän jälkeen konfiguraatiota voi muokata Notepad-ohjelmassa: 

notepad_en

Icecast2 voidaan konfiguroida Linuxissa tai Windowsissa editoimalla konfiguraatiotiedostoa tekstieditorilla. Tämä dokumentti noudattaa tiettyä syntaksia, joka tunnetaan nimellä XML, joten Icecast2-konfiguraatiotiedosto tulisi nimetä "icecast.xml". Jos sinulla on tiedosto, jonka nimi on "icecast.xml.dist",  on tämä tiedosto Icecast2:n esimerkkitiedosto. Nimeä tämä tiedosto tiedostoksi "icecast.xml". Konfiguraatiotiedostojen XML-formaatti on formaatti, joka käyttää samankaltaisia tageja kuin HTML. On tärkeää tietää, että jokaisen "avaustagin" jälkeen täytyy olla "sulkutagi", sillä muuten palvelin ei hyväksy tiedostoa. Tagi on jotain, joka on pienemmyys- ja suuremmuusmerkin välissä, kuten tässä:

 
Tätä esimerkkiä sanotaan "avaavaksi" tagiksi, ja jokaista tällaista kohden täytyy olla sulkutagi. Sulkutagit alkavat avaavalla pienemmyysmerkillä, jota seuraa vinoviiva, kuten tässä:

Niinpä tagi, joka alkaa "

hackme

Joksikin tällaiseksi:

salasanani

Kommentit

Kommentteja käytetään usein konfiguraatiotiedostossa. Kommentit ovat yksinkertaisesti huomautuksia, jotka on laitettu tiedostoon Icecast2-ohjelmoijien toimesta, jotta ymmärrät konfiguraatiotiedoston eri osia. Jokainen kommentti alkaa merkillä " 

Konfiguraatiotiedoston muutokset

Kun aloitat Icecast2-palvelimen käytön konfiguraatiotiedostossa on vain muutama asia, joista sinun täytyy murehtia.

Autentikaatio

    
        hackme<⁞/source-password>
        hackme;
        admin
        hackme
    

Yllä olevat kentät hallitsevat minkä tahansa Icecast-palvelimeen kytkeytyvän ohjelman sisäänkirjautumisprosesseja. Poikkeuksena mediasoitinten (Winamp/XMMS jne.) ei tarvitse käyttää sisäänkirjautumista, ne vain kytkeytyvät ilman mitään autentikaatiota. Nyt sinun tarvitsee välittää vain lähteen salasanaa (source password) käsittelevästä osasta tässä tiedostossa. Lähteen salasana (source password) on salasana, jota koodaajien täytyy käyttää kytkeytyessään Icecast-palvelimeen. Lähettääkseen striimin koodaajan täytyy ensin identifioida itsensä Icecast-palvelimelle lähettämällä oikean salasanan. Jos salasana on oikein, palvelin hyväksyy yhteyden ja voit aloittaa streamauksen. Jos salasana on väärin, tai jos koodaaja ei ole lähettänyt salasanaa, Icecast2-palvelin ei hyväksy yhteyttä ja et voi streamata. Koodausohjelmalle on vain vain yksi salasana, joten jos 10 ihmistä lähettää eri streameja serverille, jokaisen täytyy käyttää samaa salasanaa, joka on listattu tässä. Oletusarvoinen lähteen salasana kaikille Icecast2-palvelimille on "hackme", joten on hyvä idea muuttaa tämä joksikin muuksi, sillä monet ihmiset tuntevat tämän joka tapauksessa.

 

 Internet-osoite ja portti

Tässä vaiheessa ei tarvitse tietää mitä internet-osoite ja portti ovat. Nyt sinun täytyy vain asettaa näihin oikeat arvot.

    localhost

    
        8000
        
    

Jokaisella verkkoon kytketyllä koneella on internet-osoite. Tämä on kentässä . Löytääksesi tämän voit kirjoittaa Linuxin komentorivillä komennon "hostname" ja kirjoittaa komennon tuloksen tähän osaan. Jos kirjoitan "hostname" terminaaliin ja saan vastaukseksi "liquidsky.net", hostname-kentän tulisi näyttää tältä:

 liquidsky.net

Icecast2-palvelimen oletusarvoinen portti on "8000", anna sen olla näin toistaiseksi. Huomaa: nämä kaksi arvoa sinun täytyy muistaa, sillä ne täytyy laittaa koodaajan vastaaviin kenttiin.

 

 

Käyttäjätilien luominen

Icecast-käyttäjätilit Linuxissa ja Windowsissa luodaan editoimalla konfiguraatiotiedostoa suoraan tekstieditorilla. Luultavasti työskentelet konfiguraatiotiedoston parissa palvelimella, joten on tarpeen käyttää tekstieditoria päätteellä. Kokeile ohjelmia nano, pico, emacs, vi tai vim. Jos sinulla ei ole kokemusta päätteeseen perustuvista tekstieditoreista, kokeile kahta ensimmäistä. 

Jos tahdot yhden salasanan kaikille koodaajille (Icecastin oletusarvoinen asetus), sinun täytyy katsoa seuraavaa osaa: 

hackme

Tässä tilanteessa kuka tahansa voi luoda striimin missä tahansa mountpointissa palvelimellasi käyttäen tätä salasanaa ("hackme"). Jos tahdot vaihtaa salasanan, kirjoita uusi salasana tagien väliin tavallisilla kirjaimilla.

Voit kuitenkin luoda yksittäisiä mountpointteja yksittäisille käyttäjille, jolloin käyttäjät joutuvat tunnistautumaan omilla salasanoillaan. Näitä käyttäjätilejä varten sinun täytyy määritellä käytettävä mountpoint. Näiden mountpointtien hallinnan parametrit ovat aika moninaisia, ja voit rajoittaa kuulijoiden määrää, bittinopeutta, minne striimi tallennetaan arkistona, ja jopa introtiedoston, joka soitetaan ennen kuin kuulija kuulee streamin (muiden seikkojen ohella). 

Jokainen tämän tyyppinen tili on listattu tagien välissä. Jost tahdot aloittaa hyvin yksinkertaisen tilin, jossa annat jollekin käyttäjänimen ja salasanan, ja käyttäjä voi striimata serverille, voit lisätä näin yksinkertaisen rivin:  

 newuser.mp3hackmetoo

Valitettavasti lisätessäsi mount-käyttäjätilejä, kuten yllä, konfiguraatiotiedostoon, joudut pakottamaan Icecastin lukemaan konfiguraatiotiedoston uudelleen ennen kuin muutokset tapahtuvat. Icecastia ei tarvitste käynnistää uudelleen, jotta tämä tapahtuu, mutta sinun täytyy lähettää sille SIGHUP-signaali komentoriviltä. Tämän voit tehdä antamalla seuraavan komennon:  

killall -HUP icecast 
Voit lisätä myös mitkä tahansa seuraavista parametreista (mount-name tarvitaan aina): 
  • mount-name
  • username
  • password
  • max-listeners
  • max-listener-duration
  • dumpfile
  • intro
  • fallback mount
  • fallback-override
  • fallback-when-full
  • public
  • stream-name
  • stream-description
  • stream-url
  • genre
  • bitrate
  • type
  • subtype
  • hidden
  • burst-size
  • mp3-metadata-interval
  • authentication-type
  • on-connect
  • on-disconnect 

Yleiset käyttäjätilin asetukset

Se mihin viittaamme käyttäjätilin asetuksina on itse asiassa yksittäisiä mountpointteja varten. Seuraavassa on joitain käyttökelpoisimmista asetuksista: 

password (salasana)

Password on salasana, jota vaaditaan ennen kuin mitään streamia hyväksytään serverin kyseiseen mountpointtiin. Salasana kirjoitetaan koodaajan salasanakenttään, jos koodaaja on komentorivin koodaaja, salasana kirjoitetaan joko komentorivillä tai kirjoitetaan tekstikonfiguraatiotiedostoon. Jos koodaajassa on graafinen käyttöliittymä, siitä löytyy yleensä joku lomakekenttäkäyttöliittymä salasanaa varten. 

max-listeners (kuuntelijoiden maksimimäärä)

Maksimimäärä kuuntelijoita, jota mountpoint voi tukea samaan aikaan. Jos asetat arvoksi 50, sinulla voi olla 50 kuuntelijaa tai katselijaa jonain tiettynä hetkenä.

dump-file (arkistotiedosto)

Polku ja tiedostonimi, johon tämän mountpointin streami arkistoidaan (tallennetaan).

intro (johdanto-ohjelma)

Tämä merkitsee, että intro täytyy soittaa mountpointilla ennen kuin kuuntelija kuulee striimin. Esimerkiksi jos tapahtumassa on suoran lähetyksen streami, tahdot ehkä soittaa lyhyen johdantojuonnon kun kuuntelija kytkeytyy streami, jonka jälkeen varsinainen streami alkaa. Tässä tapauksessa sinun tulee käyttää tätä vaihtoehtoa ja laittaa linkki tiedostoon, joka soitetaan ennen streamia.

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

Icecast

Muokkaukset:
TomiToivio - 2012


Mitä streamaus on?

Muokkaukset:
TomiToivio - 2012

Asennus Linuxiin

Muokkaukset:
TomiToivio - 2012

Asennus Windowsiin

Muokkaukset:
TomiToivio - 2012

Käynnistäminen Linuxissa

Muokkaukset:
TomiToivio - 2012

Käynnistäminen Windowsissa

Muokkaukset:
TomiToivio - 2012

Lokitiedostot

Muokkaukset:
TomiToivio - 2012

Icecastin konfigurointi

Muokkaukset:
TomiToivio - 2012

Käyttäjätilien luominen

Muokkaukset:
TomiToivio - 2012

Lisenssi

Muokkaukset:
TomiToivio - 2012

Peruskonfiguraatio
© Tomi Toivio 2009, 2010


Tilit
© Tomi Toivio 2009, 2010
Tekijät
© adam hyde 2006, 2007
Modifications:
Tomi Toivio 2009, 2010

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

Windows
© Tomi Toivio 2009, 2010
Johdanto
© adam hyde 2006, 2007
Modifications:
Tomi Toivio 2009, 2010

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

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

Windows
© Tomi Toivio 2009, 2010
Streamaus
© Tomi Toivio 2009, 2010
 

Englanninkielisen version tekijät

BASIC CONFIG 
© adam hyde 2006, 2007, 2008 
Modifications: 
Zita Joyce 2008


ACCOUNTS 
© adam hyde 2006, 2008 
Modifications: 
Zita Joyce 2008 

CREDITS 
© adam hyde 2006, 2007, 2008
GLOSSARY 
© adam hyde 2007
LINUX (SOURCE) 
© adam hyde 2006, 2007, 2008 
Modifications: 
Zita Joyce 2008 

LINUX (DEBIAN or UBUNTU) 
© maxigas maxigas 2007 
Modifications: 
adam hyde 2007, 2008 

WINDOWS 
© adam hyde 2007, 2008 
Modifications: 
Zita Joyce 2008 

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

LINKS 
© adam hyde 2005, 2006, 2007 
Modifications: 
Stella Brennan 2005 
Thomas Middleton 2008 
Zita Joyce 2008 

LOGS (LINUX) 
© adam hyde 2006, 2008 
Modifications: 
Zita Joyce 2008 

STARTING (LINUX) 
© adam hyde 2006, 2008 
Modifications: 
Zita Joyce 2008 

STARTING (WINDOWS) 
© adam hyde 2007, 2008
WHAT IS STREAMING? 
© adam hyde 2005, 2006, 2007 
Modifications: 
Ruckert Martin 2006 
Stella Brennan 2005 
Thomas Middleton 2008 
Zita Joyce 2008 

100 

Free manuals for free software

 

 

 

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.

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