Streaming Service with Icecast: Difference between revisions

From Run Your Own
Jump to navigation Jump to search
No edit summary
No edit summary
Line 16: Line 16:
* Make sure you listen on 8000, adjust your <code>iptables</code>:
* Make sure you listen on 8000, adjust your <code>iptables</code>:
  -A INPUT -p tcp -m tcp --dport 8000 -j ACCEPT
  -A INPUT -p tcp -m tcp --dport 8000 -j ACCEPT
* Create a <code>systemd</code> service file:
<pre>
[Unit]
Description=Icecast
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/icecast -c /usr/local/etc/icecast.xml
ExecReload=/usr/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
</pre>


== Configuration ==
== Configuration ==

Revision as of 22:09, 16 December 2019

Note: we will be using the icecast-kh fork that contains some extra stuff (FIXME: unpack stuff).

Installation (Debian)

Note: At time of writing, icecast-kh suffers from a small compilation problem with OpenSSL.

  • Install dependencies
apt install libxslt1-dev libogg-dev libvorbis-dev libtheora-dev libcurl4-openssl-dev
  • Get the sources
cd /usr/src
git clone https://github.com/karlheyes/icecast-kh
  • Compile and install
cd icecast-kh
./configure --with-openssl
make
make install
  • Make sure you listen on 8000, adjust your iptables:
-A INPUT -p tcp -m tcp --dport 8000 -j ACCEPT
  • Create a systemd service file:
[Unit]
Description=Icecast
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/icecast -c /usr/local/etc/icecast.xml
ExecReload=/usr/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target

Configuration