Difference between revisions of "Streaming Service with Icecast"

From Run Your Own
Jump to: navigation, search
(Installation (Debian))
(Installation (Debian))
Line 1: Line 1:
 
Note: we will be using the <code>icecast-kh</code> fork that contains some extra stuff (FIXME: unpack stuff).
 
Note: we will be using the <code>icecast-kh</code> fork that contains some extra stuff (FIXME: unpack stuff).
  
== Installation (Debian) ==
+
== Installation ==
 +
=== Software ===
 
'''Note:''' At time of writing, <code>icecast-kh</code> suffers from [https://github.com/karlheyes/icecast-kh/issues/260 a small compilation problem with OpenSSL].
 
'''Note:''' At time of writing, <code>icecast-kh</code> suffers from [https://github.com/karlheyes/icecast-kh/issues/260 a small compilation problem with OpenSSL].
  
* Install dependencies
+
* Install dependencies (Debian)
 
  apt install libxslt1-dev libogg-dev libvorbis-dev libtheora-dev libcurl4-openssl-dev
 
  apt install libxslt1-dev libogg-dev libvorbis-dev libtheora-dev libcurl4-openssl-dev
 
* Get the sources
 
* Get the sources
Line 14: Line 15:
 
  make
 
  make
 
  make install
 
  make install
 +
 +
=== Firewall ===
 
* 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
 +
 +
You can adjust to your liking, 8000 is the default for Icecast.
 +
 +
=== Basic Configuration ===
 +
 +
=== Service file and autostart (systemd) ===
 
* Create a <code>systemd</code> service file:
 
* Create a <code>systemd</code> service file:
 
<pre>
 
<pre>
Line 31: Line 40:
 
* Enable the service on boot:
 
* Enable the service on boot:
 
  systemctl enable icecast
 
  systemctl enable icecast
 +
* Manage the service with
 +
service icecast start
 +
service icecast status
 +
service icecast stop
  
 
== Configuration ==
 
== Configuration ==

Revision as of 00:18, 17 December 2019

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

Installation

Software

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

  • Install dependencies (Debian)
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

Firewall

  • Make sure you listen on 8000, adjust your iptables:
-A INPUT -p tcp -m tcp --dport 8000 -j ACCEPT

You can adjust to your liking, 8000 is the default for Icecast.

Basic Configuration

Service file and autostart (systemd)

  • 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
  • Enable the service on boot:
systemctl enable icecast
  • Manage the service with
service icecast start
service icecast status
service icecast stop

Configuration