1
0
mirror of https://github.com/vimagick/dockerfiles.git synced 2024-12-23 01:39:27 +02:00
dockerfiles/ices/README.md

110 lines
2.4 KiB
Markdown
Raw Normal View History

2017-03-05 18:40:01 +02:00
ices
====
[IceS][1] is a source client for the Icecast streaming server. The purpose of this
client is to provide an audio stream to Icecast, so that one or more listeners
can access the stream. With this layout, the source client can be situated
remotely from the Icecast server.
How It Works
------------
```
+-> (LAN) -> (icecast) -+
(in) -> (ices) -| |-> (out) -> (mpd) -> (file)
+-> (WAN) -> (icecast) -+
```
docker-compose.yml
------------------
```yaml
2022-06-28 08:42:22 +02:00
version: "3.8"
services:
ices:
image: vimagick/ices
volumes:
- ./data:/etc/ices
devices:
- /dev/snd
depends_on:
- icecast
restart: unless-stopped
icecast:
image: vimagick/icecast
ports:
- "8000:8000"
restart: unless-stopped
2017-03-05 18:40:01 +02:00
```
ices.xml
--------
```xml
<?xml version="1.0"?>
<ices>
<background>0</background>
<loglevel>4</loglevel>
<consolelog>1</consolelog>
<pidfile>/var/run/ices.pid</pidfile>
<stream>
<metadata>
<name>Example stream name</name>
<genre>Example genre</genre>
<description>A short description of your stream</description>
<url>http://easypi.info</url>
</metadata>
<input>
<module>alsa</module>
<param name="rate">44100</param>
<param name="channels">1</param>
<param name="device">hw:1,0</param>
2017-03-23 18:00:41 +02:00
<param name="metadata">1</param>
<param name="metadatafilename">/etc/ices/ices.txt</param>
2017-03-05 18:40:01 +02:00
</input>
<instance>
<hostname>icecast</hostname>
<port>8000</port>
<password>hackme</password>
<mount>/live.ogg</mount>
<encode>
<quality>0</quality>
<samplerate>44100</samplerate>
<channels>1</channels>
</encode>
</instance>
</stream>
</ices>
```
> You can setup multiple `instances` (e.g. LAN & WAN).
2017-03-23 18:00:41 +02:00
ices.txt
--------
```ini
artist=Various Artists
title=Untitled Song
```
Running
-------
2017-03-23 16:25:31 +02:00
```bash
$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 1: Device [USB Audio Device], device 0: USB Audio [USB Audio]
Subdevices: 0/1
Subdevice #0: subdevice #0
$ alsamixer -c 1
2017-03-23 18:00:41 +02:00
$ docker-compose up -d
$ streamripper http://localhost:8000/live.ogg
$ vi data/ices.txt
$ docker-compose kill -s SIGUSR1
2017-03-23 16:25:31 +02:00
```
2017-03-05 18:40:01 +02:00
[1]: http://icecast.org/ices/