Skip to content

Instantly share code, notes, and snippets.

@Lax
Forked from schaerli/Icecast-mp3.md
Created December 9, 2018 03:16
Show Gist options
  • Save Lax/3d7abd7f59b0357612c7d1a25d9bc5aa to your computer and use it in GitHub Desktop.
Save Lax/3d7abd7f59b0357612c7d1a25d9bc5aa to your computer and use it in GitHub Desktop.

Revisions

  1. @schaerli schaerli revised this gist Feb 5, 2015. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions Icecast-mp3.md
    Original file line number Diff line number Diff line change
    @@ -102,7 +102,10 @@ Once again, create a ``playlist.txt`` with each line containing full path to som
    Now you can run the Ices0 as root:

    ```
    find /Gentoo-server/Mp3/**/* -iname "*.mp3" > /home/icecast/playlist.txt
    find /Gentoo-server/Mp3/FUNK/**/* -iname "*.mp3" > /home/icecast/funk.txt
    /usr/local/bin/ices -c /etc/ices/ices.conf -v
    /usr/local/bin/ices -c /etc/ices/ices_funk.conf -v
    ```
    and verify using

  2. @schaerli schaerli revised this gist Oct 24, 2014. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions Icecast-mp3.md
    Original file line number Diff line number Diff line change
    @@ -112,6 +112,8 @@ mplayer http://hostname:port/listen

    Thats all.

    find /Gentoo-server/Mp3/**/* -iname "*.mp3" > /home/icecast/playlist.txt

    Optinally, if you want to re-encode your stream on-the-fly, you can edit ``ices.conf`` like below:

    ```xml
  3. @bdsatish bdsatish revised this gist Jul 19, 2014. 1 changed file with 20 additions and 0 deletions.
    20 changes: 20 additions & 0 deletions Icecast-mp3.md
    Original file line number Diff line number Diff line change
    @@ -158,6 +158,26 @@ It means that you're not using ``/etc/ices/ices.conf``. If the conf file is in s
    /usr/local/bin/ices -c /etc/ices/ices.conf
    ```

    ## Altenative to ices: ezstream

    Why ezstream? It plays both mp3 and ogg without the need to manually compile ices0

    ```
    sudo apt-get install ezstream
    # without re-encoding
    cp /usr/share/doc/ezstream/examples/ezstream_mp3.xml .
    # This has more options, if you want to re-encode, etc.
    # make sure you `apt-get install madplay lame`
    cp /usr/share/doc/ezstream/examples/ezstream_reencode_mp3.xml .
    ```

    It has the same parameters that can be tweaked as for ices. Some help is [here](https://github.com/usrbinnc/netcat-cpi-kernel-module/wiki/icecast-streaming-with-ezstream) and [here](http://www.dataparadis.net/osp/gnu-linux-server/audio-gnu-linux-server/ezstream-icecast2-headless-audio-server/).





    #### References

  4. @bdsatish bdsatish revised this gist Jul 19, 2014. 1 changed file with 22 additions and 0 deletions.
    22 changes: 22 additions & 0 deletions Icecast-mp3.md
    Original file line number Diff line number Diff line change
    @@ -123,6 +123,7 @@ Optinally, if you want to re-encode your stream on-the-fly, you can edit ``ices.

    ## Troubleshooting

    ### ices2

    The logs of ices2 are in ``/var/log/ices/ices.log``. If you see the error:

    @@ -141,10 +142,31 @@ EROR playlist-builtin/playlist_read Cannot play same file twice in a row, skippi
    It means that you've only one line in your ``playlist.txt``. Add more entries there and the error goes away.


    ### ices0

    Logfile is in ``/tmp/ices.log``.

    ```
    Logfile opened
    Could not find a valid playlist file.
    Ices Exiting...
    ```

    It means that you're not using ``/etc/ices/ices.conf``. If the conf file is in some other location, then you are screwed. Always start ices as:

    ```
    /usr/local/bin/ices -c /etc/ices/ices.conf
    ```


    #### References

    1. [Setting up Icecast2 on Debian](http://jameswestby.net/weblog/debian/07-icecast2-debian.html)

    2. [Streaming MP3s with Icecast](http://backtrace.blogspot.fi/2011/09/howto-stream-mp3s-with-icecast-on.html)

    3. [ices0 ertor](http://icecast.imux.net/viewtopic.php?t=5150&sid=96b0eb7e007bfacd24080f8c91c0e8f7%3Cbr%20/%3E)

    4. [Failed initial connect to localhost:8000](http://icecast.imux.net/viewtopic.php?p=1373&)

    5. [Icecast under Debian 4.0](http://icecast.imux.net/viewtopic.php?t=6209&sid=9c70d821a2c7a1b05c15b6302d1d2b8e)
  5. @bdsatish bdsatish revised this gist Jul 19, 2014. 1 changed file with 17 additions and 0 deletions.
    17 changes: 17 additions & 0 deletions Icecast-mp3.md
    Original file line number Diff line number Diff line change
    @@ -124,6 +124,23 @@ Optinally, if you want to re-encode your stream on-the-fly, you can edit ``ices.
    ## Troubleshooting


    The logs of ices2 are in ``/var/log/ices/ices.log``. If you see the error:

    ```
    EROR stream/ices_instance_stream Failed initial connect to my.example.com:1234 (Couldn't connect: Connection timed out)
    ```

    then it means that you've entered ``my.example.com`` instead of ``localhost`` in ``ices-playlist.xml`` (see above). Also check that the port number is same in all 3 cases (first during apt-get, second in ``icecast.xml`` and third in ``ices-playlist.xml``).

    Another error:

    ```
    EROR playlist-builtin/playlist_read Cannot play same file twice in a row, skipping
    ```

    It means that you've only one line in your ``playlist.txt``. Add more entries there and the error goes away.



    #### References

  6. @bdsatish bdsatish revised this gist Jul 19, 2014. 1 changed file with 57 additions and 0 deletions.
    57 changes: 57 additions & 0 deletions Icecast-mp3.md
    Original file line number Diff line number Diff line change
    @@ -67,6 +67,63 @@ and test using

    That's all

    ## Mp3 streaming with Ices0

    Mp3 streaming is disabled in Ices2 (Ices2 supports only ogg), so you've to manually download, compile & install Ices0.

    ```
    apt-get install libmp3lame-dev libxml2-dev libshout-dev libvorbis-dev
    cd /tmp/
    wget http://downloads.us.xiph.org/releases/ices/ices-0.4.tar.gz
    tar xf ices-0.4.tar.gz
    cd ices-0.4/
    ./configure --prefix=/usr/local --with-pic --with-lame
    make
    make install
    mkdir /etc/ices
    cp /usr/local/etc/ices.conf.dist /etc/ices/ices.conf
    ```

    Once again, create a ``playlist.txt`` with each line containing full path to some mp3 files. Then adjust these variables in ``ices.conf``:

    ```xml
    <File>/home/user/music/playlist.txt</File>
    <!-- must be localhost (*not* your hostname!), else won't work! -->
    <Hostname>localhost</Hostname>
    <!-- This port must be same as what was entered in icecast.xml -->
    <Port>1234</Port>
    <!-- stream encoder password as what was entered in icecast.xml -->
    <Password>hackMeee</Password>
    <!-- enuser accesses the stream as http://hostname:1234/listen -->
    <Mountpoint>/listen</Mountpoint>
    ```
    Now you can run the Ices0 as root:

    ```
    /usr/local/bin/ices -c /etc/ices/ices.conf -v
    ```
    and verify using

    ```
    mplayer http://hostname:port/listen
    ```

    Thats all.

    Optinally, if you want to re-encode your stream on-the-fly, you can edit ``ices.conf`` like below:

    ```xml
    <Reencode>1</Reencode> <!-- change 0 to 1 -->
    <Bitrate>24</Bitrate> <!-- new bitrate in kbps -->
    <Samplerate>24000</Samplerate> <!-- new sample rate in Hz -->
    <Channels>2</Channels> <!-- mono = 1, stereo = 2 -->
    ```

    ## Troubleshooting



    #### References

  7. @bdsatish bdsatish revised this gist Jul 18, 2014. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion Icecast-mp3.md
    Original file line number Diff line number Diff line change
    @@ -39,7 +39,7 @@ Now edit these important entries in ``ices-playlist.xml``:
    <!-- The list of oggs will be from this playlist -->
    <param name="file">/home/user/music/playlist.txt</param>

    <!-- must be localhost, else won't work! -->
    <!-- must be localhost (*not* your hostname!), else won't work! -->
    <hostname>localhost</hostname>

    <!-- This port must be same as what was entered in icecast.xml -->
  8. @bdsatish bdsatish revised this gist Jul 18, 2014. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion Icecast-mp3.md
    Original file line number Diff line number Diff line change
    @@ -43,7 +43,7 @@ Now edit these important entries in ``ices-playlist.xml``:
    <hostname>localhost</hostname>

    <!-- This port must be same as what was entered in icecast.xml -->
    <port>4501</port>
    <port>1234</port>

    <!-- This is the stream password entered in icecast.xml -->
    <password>hackMeee</password>
  9. @bdsatish bdsatish revised this gist Jul 18, 2014. 1 changed file with 12 additions and 2 deletions.
    14 changes: 12 additions & 2 deletions Icecast-mp3.md
    Original file line number Diff line number Diff line change
    @@ -28,8 +28,8 @@ Create some directory where you'll store your Oggs for streaming. Copy the sampl

    ```
    mkdir /var/log/ices
    mkdir $HOME/music
    cd $HOME/music
    mkdir /home/user/music
    cd /home/user/music
    cp /usr/share/doc/ices2/examples/ices-playlist.xml .
    ```

    @@ -53,9 +53,19 @@ Now edit these important entries in ``ices-playlist.xml``:
    <mount>/play</mount>
    ```

    Then create a file ``playlist.txt`` with the full path to some .ogg files, one per line.

    Then run as root
    ```
    ices2 ices-playlist.xml
    ```
    and test using

    ```
    mplayer http://hostname:port/play
    ```

    That's all


    #### References
  10. @bdsatish bdsatish revised this gist Jul 18, 2014. 1 changed file with 13 additions and 2 deletions.
    15 changes: 13 additions & 2 deletions Icecast-mp3.md
    Original file line number Diff line number Diff line change
    @@ -36,10 +36,21 @@ cp /usr/share/doc/ices2/examples/ices-playlist.xml .
    Now edit these important entries in ``ices-playlist.xml``:

    ```xml
    <param name="file">/home/user/music/playlist.txt</param> <!-- The list of oggs will be from this playlist -->
    <!-- The list of oggs will be from this playlist -->
    <param name="file">/home/user/music/playlist.txt</param>

    <hostname>localhost</hostname> <!-- must be localhost, else won't work! -->
    <!-- must be localhost, else won't work! -->
    <hostname>localhost</hostname>

    <!-- This port must be same as what was entered in icecast.xml -->
    <port>4501</port>

    <!-- This is the stream password entered in icecast.xml -->
    <password>hackMeee</password>

    <!-- Can be anything other than / so that end users will
    access the stream as http://hostname:port/play -->
    <mount>/play</mount>
    ```


  11. @bdsatish bdsatish revised this gist Jul 18, 2014. 1 changed file with 30 additions and 0 deletions.
    30 changes: 30 additions & 0 deletions Icecast-mp3.md
    Original file line number Diff line number Diff line change
    @@ -16,6 +16,36 @@ sudo service icecast2 restart

    Then open your web browser to ``http://hostname:port/``. The administrator interface username is ``admin`` and password is whatever you set in ``icecast.xml``.

    ## Ogg streaming with Ices2

    Start by installing:

    ```
    sudo apt-get install ices2
    ```

    Create some directory where you'll store your Oggs for streaming. Copy the sample config. (All commands run as root).

    ```
    mkdir /var/log/ices
    mkdir $HOME/music
    cd $HOME/music
    cp /usr/share/doc/ices2/examples/ices-playlist.xml .
    ```

    Now edit these important entries in ``ices-playlist.xml``:

    ```xml
    <param name="file">/home/user/music/playlist.txt</param> <!-- The list of oggs will be from this playlist -->

    <hostname>localhost</hostname> <!-- must be localhost, else won't work! -->

    ```






    #### References

  12. @bdsatish bdsatish revised this gist Jul 18, 2014. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions Icecast-mp3.md
    Original file line number Diff line number Diff line change
    @@ -14,6 +14,8 @@ It will ask for 3 passwords. Give them whatever you want. The stream password is
    sudo service icecast2 restart
    ```

    Then open your web browser to ``http://hostname:port/``. The administrator interface username is ``admin`` and password is whatever you set in ``icecast.xml``.


    #### References

  13. @bdsatish bdsatish revised this gist Jul 18, 2014. 1 changed file with 16 additions and 1 deletion.
    17 changes: 16 additions & 1 deletion Icecast-mp3.md
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,19 @@
    This is a quick set-up guide on how to install Icecast for Mp3 and Ogg streaming, sort of online radio. Tested on Debian Wheezy. Probably works on Ubuntu, etc.
    This is a quick set-up guide on how to install Icecast for Mp3 and Ogg streaming, sort of online radio. Tested on Debian Wheezy. Probably works on Ubuntu, etc. Icecast is a "server-like". It offers the HTTP URL/port through which end-users can play the media. However, Icecast itself does not serve the files. It must get its input from other "client-like" software. For example, Ices0 sends mp3 input to Icecast and then Icecast delivers to the end user. Similarly, Ices2 sends ogg input to Icecast and then Icecast delivers to the end user.

    ## Set up icecast

    Start by installing:

    ```
    sudo apt-get install icecast2
    ```

    It will ask for 3 passwords. Give them whatever you want. The stream password is something that will be later needed by Ices, so remember that. The domain name must be the one which you want your users to connect to. Same with port number. After installation, you must manually set the 3 passwords again in ``/etc/icecast2/icecast.xml``. Similarly edit hostname and port in the same file. After that edit ``/etc/default/icecast2`` to enable the daemon and finally:

    ```
    sudo service icecast2 restart
    ```


    #### References

  14. @bdsatish bdsatish created this gist Jul 18, 2014.
    8 changes: 8 additions & 0 deletions Icecast-mp3.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,8 @@
    This is a quick set-up guide on how to install Icecast for Mp3 and Ogg streaming, sort of online radio. Tested on Debian Wheezy. Probably works on Ubuntu, etc.

    #### References

    1. [Setting up Icecast2 on Debian](http://jameswestby.net/weblog/debian/07-icecast2-debian.html)

    2. [Streaming MP3s with Icecast](http://backtrace.blogspot.fi/2011/09/howto-stream-mp3s-with-icecast-on.html)