Kirjoittaja Aihe: darkice - Oma live nettiradioasema  (Luettu 8479 kertaa)

Jiku

  • Käyttäjä
  • Viestejä: 248
    • Profiili
darkice - Oma live nettiradioasema
« : 26.12.09 - klo:14.09 »
Tämä ohje ei ole vielä valmis. Ole ystävällinen, äläkä käytä tätä ellet tiedä mitä teet!


Haluaisiko joku auttaa minua tekemään oppaan darkicestä wikiin? Olen tuossa dokumenttien luomisessa wikiin täysi tumpelo, valmiita osaan sentään editoida.  :)

**********************************************************************'
Darkice on icecast2-palvelinta käyttävä ohjelmisto jolla voi helposti perustaa oman nettiradioaseman.
Tässä esimerkissä luomme lähetyksen joka toistaa kaiken koneella kuullun äänen matkapuhelimen internet-radio sovelluksen käyttöön. Lisäksi lähetystä voi kuunnella tavallisella tietokoneella käyttämällä VLC-soitinta.

VALMISTELU
Jotta kaikkien sovellusten äänet varmasti saadaan välitettyä, tehdään äänikortissa looppi äänikorttiin itseensä.
Äänikortin kaiutinulostulo kytketään linja sisään liittimeen 3.5mm uros stereo <--> 3.5mm uros stereo kaapelilla.
Eli käytännössä kaapeli kytketään äänikortin sinisestä rei'ästä vihreään reikään.

SOVELLUSTEN ASENNUS
Asennetaan tarvittavat sovellukset:
Koodia: [Valitse]
sudo apt-get install icecast2 darkice
SOVELLUSTEN MÄÄRITYS
luodaan tiedosto /etc/darkice.cfg
Koodia: [Valitse]
sudo nano /etc/darkice.cfg/etc/darkice.cfg sisältö:
Koodia: [Valitse]
# Yleiset asetukset
[general]
duration = 0 # Pitkäkö lähetys tehdään (sekunteja). 0 = ikuinen
bufferSecs = 2 # Darkicen slip bufferin koko sekunteina

# Äänilähteen valinta
[input]
device = /dev/dsp # OSS DSP äänikortti
sampleRate = 22050 # sample rate Hz. Toimivia 11025, 22050 tai 44100
bitsPerSample = 16 # samplen bittimäärä, oletuksena 16
channel = 1 # kanavien määrä 1=mono 2=stereo

# Nettiradioserveriyhteyden asetukset
[icecast2-0]
bitrateMode = cbr # Striimin pakkaustapa cbr, vbr tai abr
bitrate = 16 # Striimin nopeus. radio.toimii.net serverillä 128kbps suurin sallittu
format = mp3 # Striimin formaatti mp3 tai vorbis
quality = 0.8 # Pakkauksen laatu
server = 127.0.0.1 # Nettiradioserverin osoite
port = 8000 # Nettiradiserverin portti, yleensä 8000


password =***SALASANA*** # Salasana nettiradioserverille OLTAVA SAMA KUIN /etc/icecast2/icecast2.xml -tiedostossa
mountPoint = omaradio # radion "kanava"

Name = Matti meikäläisen oma radio # striimin nimi
description = Matti testaa nettradiota # lisäselitys
url = http://www.mattiradio.fi # nettiradion urli
genre = Live # Lähetyksen genre
public = no # Saako striimin näyttää luetteloissa

määritetään tiedosto /etc/icecast2/icecast.xml. jostain syystä ei anna sudolla tehdä mitään, joten kirjaudutaan rootiksi.
(miten saisi sudolla muutettua?)

Koodia: [Valitse]
sudo su
nano /etc/icecast2/icecast.xml

muutetaan tiedoston sisältö seuraavaksi:
Koodia: [Valitse]
<icecast>
    <limits>
        <clients>100</clients>
        <sources>2</sources>
        <threadpool>5</threadpool>
        <queue-size>524288</queue-size>
        <client-timeout>30</client-timeout>
        <header-timeout>15</header-timeout>
        <source-timeout>10</source-timeout>
        <!-- If enabled, this will provide a burst of data when a client
             first connects, thereby significantly reducing the startup
             time for listeners that do substantial buffering. However,
             it also significantly increases latency between the source
             client and listening client.  For low-latency setups, you
             might want to disable this. -->
        <burst-on-connect>1</burst-on-connect>
        <!-- same as burst-on-connect, but this allows for being more
             specific on how much to burst. Most people won't need to
             change from the default 64k. Applies to all mountpoints  -->
        <burst-size>65535</burst-size>
    </limits>

    <authentication>
        <!-- Sources log in with username 'source' -->
        <source-password>***SALASANA***</source-password>
        <!-- Relays log in username 'relay' -->
        <relay-password>***SALASANA***</relay-password>

        <!-- Admin logs in with the username given below -->
        <admin-user>admin</admin-user>
        <admin-password>***SALASANA***</admin-password>
    </authentication>

    <!-- set the mountpoint for a shoutcast source to use, the default if not
         specified is /stream but you can change it here if an alternative is
         wanted or an extension is required
    <shoutcast-mount>/live.nsv</shoutcast-mount>
    -->

    <!-- Uncomment this if you want directory listings -->
    <!--
    <directory>
        <yp-url-timeout>15</yp-url-timeout>
        <yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url>
    </directory>
     -->

    <!-- This is the hostname other people will use to connect to your server.
    It affects mainly the urls generated by Icecast for playlists and yp
    listings. -->
    <hostname>localhost</hostname>

    <!-- You may have multiple <listener> elements -->
    <listen-socket>
        <port>8000</port>
        <!-- <bind-address>127.0.0.1</bind-address> -->
        <!-- <shoutcast-mount>/stream</shoutcast-mount> -->
    </listen-socket>
    <!--
    <listen-socket>
        <port>8001</port>
    </listen-socket>
    -->

    <!--<master-server>127.0.0.1</master-server>-->
    <!--<master-server-port>8001</master-server-port>-->
    <!--<master-update-interval>120</master-update-interval>-->
    <!--<master-password>hackme</master-password>-->

    <!-- setting this makes all relays on-demand unless overridden, this is
         useful for master relays which do not have <relay> definitions here.
         The default is 0 -->
    <!--<relays-on-demand>1</relays-on-demand>-->

    <!--
    <relay>
        <server>127.0.0.1</server>
        <port>8001</port>
        <mount>/example.ogg</mount>
        <local-mount>/different.ogg</local-mount>
        <on-demand>0</on-demand>

        <relay-shoutcast-metadata>0</relay-shoutcast-metadata>
    </relay>
    -->

    <!-- Only define a <mount> section if you want to use advanced options,
         like alternative usernames or passwords
    <mount>
        <mount-name>/example-complex.ogg</mount-name>

        <username>othersource</username>
        <password>hackmemore</password>

        <max-listeners>1</max-listeners>
        <dump-file>/tmp/dump-example1.ogg</dump-file>
        <burst-size>65536</burst-size>
        <fallback-mount>/example2.ogg</fallback-mount>
        <fallback-override>1</fallback-override>
        <fallback-when-full>1</fallback-when-full>
        <intro>/example_intro.ogg</intro>
        <hidden>1</hidden>
        <no-yp>1</no-yp>
        <authentication type="htpasswd">
                <option name="filename" value="myauth"/>
                <option name="allow_duplicate_users" value="0"/>
        </authentication>
        <on-connect>/home/icecast/bin/stream-start</on-connect>
        <on-disconnect>/home/icecast/bin/stream-stop</on-disconnect>
    </mount>

    <mount>
        <mount-name>/auth_example.ogg</mount-name>
        <authentication type="url">
            <option name="mount_add"       value="http://myauthserver.net/notify_mount.php"/>
            <option name="mount_remove"    value="http://myauthserver.net/notify_mount.php"/>
            <option name="listener_add"    value="http://myauthserver.net/notify_listener.php"/>
            <option name="listener_remove" value="http://myauthserver.net/notify_listener.php"/>
        </authentication>
    </mount>

    -->

    <fileserve>1</fileserve>

    <paths>
<!-- basedir is only used if chroot is enabled -->
        <basedir>/usr/share/icecast2</basedir>

        <!-- Note that if <chroot> is turned on below, these paths must both
             be relative to the new root, not the original root -->
        <logdir>/var/log/icecast2</logdir>
        <webroot>/usr/share/icecast2/web</webroot>
        <adminroot>/usr/share/icecast2/admin</adminroot>
        <!-- <pidfile>/usr/share/icecast2/icecast.pid</pidfile> -->

        <!-- Aliases: treat requests for 'source' path as being for 'dest' path
             May be made specific to a port or bound address using the "port"
             and "bind-address" attributes.
          -->
        <!--
        <alias source="/foo" dest="/bar"/>
          -->
        <!-- Aliases: can also be used for simple redirections as well,
             this example will redirect all requests for http://server:port/ to
             the status page
          -->
        <alias source="/" dest="/status.xsl"/>
    </paths>

    <logging>
        <accesslog>access.log</accesslog>
        <errorlog>error.log</errorlog>
        <!-- <playlistlog>playlist.log</playlistlog> -->
       <loglevel>3</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
       <logsize>10000</logsize> <!-- Max size of a logfile -->
        <!-- If logarchive is enabled (1), then when logsize is reached
             the logfile will be moved to [error|access|playlist].log.DATESTAMP,
             otherwise it will be moved to [error|access|playlist].log.old.
             Default is non-archive mode (i.e. overwrite)
        -->
        <!-- <logarchive>1</logarchive> -->
    </logging>

    <security>
        <chroot>0</chroot>
        <!--
        <changeowner>
            <user>nobody</user>
            <group>nogroup</group>
        </changeowner>
        -->
    </security>
</icecast>

Jos halutaan että icecast2-palvelin käynnistyy koneen käynnistymisen myötä automaattisesti,
muutetaan tiedostoa /etc/default/icecast2
Koodia: [Valitse]
sudo su
nano /etc/default/icecast2


viimeisen rivin teksti
Koodia: [Valitse]
ENABLE=falsemuutetaan muotoon:
Koodia: [Valitse]
ENABLE=true
MUUTOSTEN KÄYTTÖÖNOTTO JA RADION KÄYNNISTÄMINEN
Radiomme on nyt säädetty toimivaksi, mutta muutokset pitää vielä ottaa käyttöön.
Tehdään se nyt:
Koodia: [Valitse]
sudo /etc/init.d/icecast2 restart
OHJELMAN LÄHETTÄMINEN PALVELIMELLE
Käynnistetään ohjelman lähettäminen äänikortin sisääntulosta palvelimelle:
Koodia: [Valitse]
sudo darkice
PALOMUURIN SÄÄTÄMINEN ADSL-MODEEMISTA
Jos käytössäsi on NAT-yhteys, joudut vielä palomuurin asetuksista ohjaamaan portin 8000 omalle koneellesi.
Palomuureja on monenlaisia joten siitä ei tässä enempää. ADSL-laitteesi ohjekirjasta löytyy tähän ohjeet.

MUSIIKKI SOIMAAN
Nyt voit omalla suosikkisoittimellasi laittaa musiikin soimaan ja sen pitäisi olla kännykällä kuultavissa.

KUUNTELU
Kännykän internet-radioon laitat osoitteeksi http://omaip.jossain:8000/omaradio
Ellet tiedä omaa julkista ip-osoitettasi, katso se tietokoneesi selaimella vaikkapa täältä:
http://ihminen.org/ip/


TEKIJÄNOIKEUSMAKSUT
Huomaa että jos radiossa soittamasi musiikki on tekijänoikeuden alaista, joudut maksamaan siitä korvauksia.
lisätietoja:
http://www.teosto.fi/
http://www.gramex.fi/

LUETTAVAA
http://www.mbnet.fi/nettijatkot/2006/07/omanettiradio/
http://wiki.ubuntu-fi.org/Dynaaminen_DNS

JUONTAMINEN
Kaikki mitä itsekin kuulet tietokoneellasi, myös lähetetään. Mikäli haluat juontaa lähetystä, feidaa musiikkia soittavasta sovelluksesta ääni alas ja avaa mikseristä mikrofoni.
(pakettienhallinnasta löydät paketin "gnome-alsamixer", tutustu siihen).
!!!varo! joissain äänikorteissa mikki vuotaa enemmän tai vähemmän line-in:iin joten turvallisinta olisi että mikrofoni olisi aivan fyysisesti katkaistu vaikkapa mekaanisella kytkimellä.

PROPELLIHATTU
Mikäli haluat automaattisesti tuottaa vaikkapa tiedotteita musiikin päälle puhesyntetisaattorilla, tutustu ohjeeseen:
http://wiki.ubuntu-fi.org/festvox-suopuhe
Käytä skripteissäsi muodossa:
Koodia: [Valitse]
pasuspender sano minä olen tärkeä tiedote. Anteeksi kun keskeytin musiikin kuuntelusiniin taustalla soiva musiikki sammutetaan automaattisesti viestin ajaksi. Huomaa että tässä on myös kymmenien sekuntien viive lähetystekniikasta johtuen.


******************************************************************
Haluaisiko joku testailla ohjetta ja kertoa mitä puutteita siinä on?
tuota kohtaa /etc/icecast2/icecast.xml saa kanssa selventää, siinä on aika paljon turhaakin..
Kieltämättä tämän ohjeen fiksaaminen aloittelijoillekin ymmärrettävään muotoon on melkoinen haaste :)
Olisiko helpompi tehdä installeri, joka kysyy tarpeelliset tiedot ja tekee säädöt automaattisesti?

« Viimeksi muokattu: 27.12.09 - klo:06.35 kirjoittanut Jiku »
Puoliksi suunniteltu on hyvin tehty

Asmo Koskinen

  • Käyttäjä
  • Viestejä: 4443
    • Profiili
Vs: darkice - Oma live nettiradioasema
« Vastaus #1 : 26.12.09 - klo:15.24 »
Haluaisiko joku testailla ohjetta ja kertoa mitä puutteita siinä on?
Kieltämättä tämän ohjeen fiksaaminen aloittelijoillekin ymmärrettävään muotoon on melkoinen haaste :)
Olisiko helpompi tehdä installeri, joka kysyy tarpeelliset tiedot ja tekee säädöt automaattisesti?

Hienoa, että olet tehnyt tämän. Itsekin olen vastaavaa kirjoitellut joskus esihistoriallisena aikana.

http://forum.ubuntu-fi.org/index.php?topic=928.0

Itse pidän Flumotionista, sen saa syöttämään kuvaa ja ääntä Icecast-palvelimelle.

http://www.arkki.info/howto/Icecast2/Flumotion-Icecast2_01.png



Voin testata ohjettasi lähipäivinä, mutta nämä ovat kuitenkin sen verran vaativia asioita, että ei niitä kannata edes yrittää ohjeistaa aivan aloittelijoille, niin ajattelen. Valmis skripti olisikin sitten jo kokonaan toinen juttu.

Ystävällisin terveisin Asmo Koskinen.

Jiku

  • Käyttäjä
  • Viestejä: 248
    • Profiili
Vs: darkice - Oma live nettiradioasema
« Vastaus #2 : 26.12.09 - klo:15.39 »
Haluaisiko joku testailla ohjetta ja kertoa mitä puutteita siinä on?
Kieltämättä tämän ohjeen fiksaaminen aloittelijoillekin ymmärrettävään muotoon on melkoinen haaste :)
Olisiko helpompi tehdä installeri, joka kysyy tarpeelliset tiedot ja tekee säädöt automaattisesti?

Hienoa, että olet tehnyt tämän. Itsekin olen vastaavaa kirjoitellut joskus esihistoriallisena aikana.

http://forum.ubuntu-fi.org/index.php?topic=928.0

Itse pidän Flumotionista, sen saa syöttämään kuvaa ja ääntä Icecast-palvelimelle.

http://www.arkki.info/howto/Icecast2/Flumotion-Icecast2_01.png



Voin testata ohjettasi lähipäivinä, mutta nämä ovat kuitenkin sen verran vaativia asioita, että ei niitä kannata edes yrittää ohjeistaa aivan aloittelijoille, niin ajattelen. Valmis skripti olisikin sitten jo kokonaan toinen juttu.

Ystävällisin terveisin Asmo Koskinen.

Kiitos paljon, eiköhän tästä vielä ohje saada. Tai jos ei niin ehkä se installeri olisi helpompi toteuttaa..
Tästä darkicestä oli aika hemmetin huonosti informaatiota suomeksi tähän käyttötarkoitukseen johon ohjetta nyt yritin väsätä.
Enkä nyt itsekään voi itseäni ammattilaiseksi kutsua joten pulassa olin välillä ja katsoin v*ttu googlesta ja taas kvg.


Tuota sun wikiin kirjoittamaa flumotion-ohjetta jo aiemmin tutkailinkin ja se on myös mielenkiintoinen, joskin jos sillä haluaisi kännyyn streamata niin taitaisi olla real media ainoa vaihtoehto. Ja uusissakin noksun kännyissä on sellainen "ominaisuus" että jos real-soittimen laittaa taustalle, loppuu toistokin. Mutta lähiverkon toimintoihin se vaikuttaisi olevan enemmän kuin sopiva systeemi.


Kiitos vastauksesta!

edit: kun enemmän järkeilin asiaa niin taitaa olla ainoa helppo vaihtoehto tehdä installeri joka hoitaa nuo asennukset ja säädöt.
sekin tosin vaatisi sitä testaamista, koska en missään nimessä halua sellaista skriptiä laittaa jakoon ainakaan tänne mistä loppukäyttäjälle voisi olla haittaa.
itse pystyn testaamaan virtuaalikoneella kyllä, mutta olisi hienoa jos jollain olisi ihan fyysinen kone testailla tätä.

mutta aloitan asian suunnittelulla ja tuoda jakeluun niin toimivan installerin kuin vain on mahdollista.
« Viimeksi muokattu: 26.12.09 - klo:15.58 kirjoittanut Jiku »
Puoliksi suunniteltu on hyvin tehty

Jiku

  • Käyttäjä
  • Viestejä: 248
    • Profiili
Vs: darkice - Oma live nettiradioasema
« Vastaus #3 : 26.12.09 - klo:17.03 »
asennusskriptin säätö:

Huom! Älä käytä tätä skriptiä vielä. Skripti on aivan vaiheessa, skripti lataa koneelle tarvittavat ohjelmat pakettienhallinnasta, muttei tee muuta.

*******************
#/bin/bash
clear
echo "asennukseen tarvitaan pääkäyttäjän salasana.\nellet halua jatkaa asennusta paina ctrl+c\n"
echo "om du vill installera på svenska,\ntryck nu ctrl+c och skriv sh svnettiradio.sh"
echo "\npaina enter jatkaaksesi asennusta suomeksi"
read ss
clear
echo "koneellesi aseennetaan webradio-lähetin. Jos haluat keskeyttää, paina ctrl+C"
echo "paina enter jatkaaksesi asennusta"
read onko
clear
echo "asennetaan ohjelmia, anna tarvittaessa pääkäyttäjän salasana"
sudo apt-get install icecast2 darkice
clear
echo "anna asemasi nimi, jolla se löydetään. käytä pelkkiä kirjaimia ilman ääkkösiä."
echo "esim: munradio"
read asema
clear
echo $asema salasana tälle asemalle:
read salasana
clear
echo "tähän loppui tämä skripti nyt mutta tarkoituksena tämän on"
echo "\n pian asentaa koko webradio-softa käyttöösi"
*******************
« Viimeksi muokattu: 26.12.09 - klo:17.06 kirjoittanut Jiku »
Puoliksi suunniteltu on hyvin tehty

Asmo Koskinen

  • Käyttäjä
  • Viestejä: 4443
    • Profiili
Vs: darkice - Oma live nettiradioasema
« Vastaus #4 : 26.12.09 - klo:19.59 »
Tuota sun wikiin kirjoittamaa flumotion-ohjetta jo aiemmin tutkailinkin ja se on myös mielenkiintoinen, joskin jos sillä haluaisi kännyyn streamata niin taitaisi olla real media ainoa vaihtoehto. Ja uusissakin noksun kännyissä on sellainen "ominaisuus" että jos real-soittimen laittaa taustalle, loppuu toistokin. Mutta lähiverkon toimintoihin se vaikuttaisi olevan enemmän kuin sopiva systeemi.

Kun lisätään soppaan vielä Festival, niin saadaan melkoinen propag... öh, siis asiallinen tiedotusradioasema, vieläpä miehittämätön sellainen.

http://arkki.info/howto/Ubuntu_Studio_Testing/zappa.ogg

FF 3.5x soittaa linkin kivasti suoraan omalla soittimellaan.

Ystävällisin terveisin Asmo Koskinen.