# [HOWTO] Streamer sa musique sur internet

## Trevoke

Ceci a marche depuis quelques semaines maintenant; mon ordinateur a la maison streame la musique et je l'ecoute au boulot. Si necessaire, je SSH dans l'ordi et je vais a la prochaine chanson avec xmms-shell (ou alors j'ai un bot sur IRC avec un script qui attend une trigger).

Voila ce qu'il vous faut:

* Software that will receive the stream and broadcast it

    * Sofware that will make the stream and send it to the server

    * Something to make into a stream

Voila ce que j'ai utilise:

```

*  net-misc/ices

      Latest version available: 2.0.0

      Latest version installed: 2.0.0

      Size of downloaded files: 398 kB

      Homepage:    http://www.icecast.org/ices.php

      Description: icecast MP3 streaming client. supports on the fly re-encoding

      License:     GPL-2

*  net-misc/icecast

      Latest version available: 2.0.2

      Latest version installed: 2.0.2

      Size of downloaded files: 732 kB

      Homepage:    http://www.icecast.org/

      Description: An opensource alternative to shoutcast that supports mp3 and ogg streaming

      License:     GPL-2

*  media-sound/xmms

      Latest version available: 1.2.10-r9

      Latest version installed: 1.2.10-r9

      Size of downloaded files: 2,765 kB

      Homepage:    http://www.xmms.org/

      Description: X MultiMedia System

      License:     GPL-2
```

[1]

Alors vous installez icecast, ices et xmms. Il va probablement falloir creer un utilisateur special pour icecast pour eviter les mechants qui abusent des problems dans le code et lui donne acces a /var/lib/log/icecast (ou peu importe la ou vous mettez les logs).

De meme pour ices, /var/log/ices par defaut, l'utilisateur qui lance ices doit pouvoir ecrire la-dedans.

Quant a XMMS, bon, on le lance pas avec root  :Smile: 

Maintenant, l'essentiel: les fichiers de configuration.

/etc/icecast2/icecast.xml pour commencer.

c'est aps complet, j'ai seulement mis les endroits qu'il FAUT regarder, le reste pour votre plaisir de tweakage.

```

    <authentication>

        <!-- Sources log in with username 'source' -->

        <source-password>$PASSWORD1</source-password>

        <!-- Relays log in username 'relay' -->

        <relay-password>$PASSWORD2</relay-password>

        <!-- Admin logs in with the username given below -->

        <admin-user>$ADMIN-USERNAME</admin-user>

        <admin-password>$PASSWORD3</admin-password>

    </authentication>

    <hostname>$HOSTNAME(i.e. IP-ADDRESS)</hostname>

    <!-- You can use these two if you only want a single listener -->

<!--    <port>8000</port> -->

<!--    <bind-address>127.0.0.1</bind-address> -->

    <!-- You may have multiple <listener> elements -->

    <listen-socket>

        <port>8000</port>

<!--        <bind-address>127.0.0.1</bind-address> -->

    </listen-socket>

        <!--

    <listen-socket>

        <port>8001</port>

    </listen-socket>

        -->

<!--    <master-server>127.0.0.1</master-server> -->

<!--    <master-server-port>8000</master-server-port> -->

<!--    <master-update-interval>120</master-update-interval> -->

<!--    <master-password>$PASSWORD4</master-password> -->

    <relay>

        <server>127.0.0.1</server>

        <port>8000</port>

        <mount>$MOUNTPOINT</mount> # /example.ogg

<!--       <local-mount>$LOCALMOUNTPOINT</local-mount> -->

```

Tout d'abord, <!-- ... --> montre des commentaires, donc ces lignes ne sont pas utilisees, mais je les ai gardees de facon a ce que ca ait une tete acceptable et comprehensible pour autant de monde que possible.

En fait, si vous singez le morceau avec listen et bind points,  ca devait marcher. Les deux bind-address sont commentees.. faut avoir la foi.

IMPORTANT: si vous avez un firewall, rappelez-vous d'ouvrir le port dont vous avez besoin.

Et maintenant, /etc/ices2/ices-live.xml.dist

Je sais, je sais, ils disent qu'il faut retirer le .dist.. C'est pas obligatoire.

A nouveau je ne montre que les morceaux qui risquent de devoir etre changes, le reste sera pour votre discretion.

input device parexemple sera change d'apres ce que vous utilisez pour creer le stream.

```

        <input>

            <module>alsa</module>

            <param name="rate">44100</param>

            <param name="channels">2</param>

            <param name="device">hw:0,0</param>

            <!-- Read metadata (from stdin by default, or -->

            <!-- filename defined below (if the latter, only on SIGUSR1) -->

            <!--<param name="periods">2</param>

            <param name="buffer-time">500</param>-->

            <param name="metadata">1</param>

            <param name="metadatafilename">playing</param>

        </input>

        <instance>

            <!--    Server details.

                You define hostname and port for the server here, along

                with the source password and mountpoint.  -->

            <hostname>$ADDRESS-OF-ICECAST-SERVER</hostname>

            <port>$PORT-FROM-ICECAST-FILE</port>

            <password>$PASSWORD1-FROM-ICECAST-FILE</password>

            <mount>$MOUNTPOINT-FROM-ICECAST-FILE</mount>

```

Allez, on est partis:

icecast -b -c /path/to/file/icecast.xml

ices /path/to/file/ices-live.xml.dist

http://$IP-ADDRESS/$MOUNTPOINT devrait marcher.

----------

## dyurne

merci monsieur.

----------

## anigel

 *Trevoke wrote:*   

> Ceci a marche depuis quelques semaines maintenant; mon ordinateur a la maison streame la musique et je l'ecoute au boulot. Si necessaire, je SSH dans l'ordi et je vais a la prochaine chanson avec xmms-shell (ou alors j'ai un bot sur IRC avec un script qui attend une trigger).

 

Geekissime ! J'adore  :Wink:  !

----------

## zdra

c'est pas plus facile de lancer un xmms normal ché toi, et te connecter à ton serveur son à distance ? Ca existe le meme principe que VNC mais pour le son...

Fin cela dis c'est joli qd meme de faire un stream  :Smile:  c'est plus geek aussi  :Very Happy: 

----------

## Trevoke

zdra, je vois pas, la ..

Mon serveur son c'est chez moi, mon ordinateur principal.. c'est XMMS qui tourne..

Au boulot je lance XMMS et je me connecte chez moi..  :Smile: 

----------

## yuk159

Merci pour le how-to (et à kernel_sensei de me l'avoir montré).

Je profite de ce thread pour vous dire que si je tarde à mettre un how-to dans la liste n'hésitez pas me prévenir sur ma MP.

@+ yuk

----------

## kwenspc

sympa   :Smile: 

faut avoir une bonne bande passante en upload non?

au passage, hop une chtite pub pour "la plus mondiâle des radio locâââles"

http://studios.radio666.com:8000/radio666.ogg

----------

## Trevoke

Ben oui vaut mieux bien avoir de l'upload; je peux servir 2 personnes np, je pense jusqu'a 4 mais j'ai jamais essaye.. Enfin, de toute facon tu peux descendre jusqu'a 30 kbps, le son ne change pas trop (enfin, je suis pas vachement melomane non plus lol)

----------

## iznogoud

Voilà, juste parce que je l'ai traduite il y a peu, je signale, pour ceux qui préfèreraient shoutcast a icecast, une doc officielle existe, et a même été traduite par votre serviteur.

SHOUTcast config

Je pense qu'elle est un bon complément à celle-ci.

----------

