darkice.cfg(5)

NAME
darkice.cfg - configuration file for darkice

DESCRIPTION

The configuration file consists of sections, with key = value pairs separated with spaces and/or tabs inside each secion:
[section1]
# this is a whole line comment
key = value
an ugly key name = long value    # this end is a comment too
[section2]
# this is a whole line comment in section 2
key = value
an ugly key name = long value    # this end is a comment too
A proper DarkIce configuration file contains the following sections:
[general]
[input]
[icecast-0] ... [icecast-7]
[icecast2-0] ... [icecast2-7]
[shoutcast-0] ... [shoutcast-7]
[file-0] ... [file-7]
The order of the sections is not important. Sections [general] and [input] are required, and at least one of [icecast-x], [icecast2-x], [shoutcast-x] or [file-x] is needed. In particular, the following sections and values are recognized:

[general] This section describes general operational parameters (required). Required values:

duration
    Time for DarkIce to run, in seconds. If 0, run forever.

bufferSecs
    Data read from the sound card is buffered before sent to the encoder. Each buffer will be able to hold this many seconds of samples.

[input] This section describes the input (required). Required values:

device
    OSS DSP audio device to record from (e.g. /dev/dsp)

sampleRate
    The sample rate to record with, samples per second (e.g. 44100 for 44.1kHz CD-quality audio, 22050 for 22kHz or 11025 for 11kHz)

bitsPerSample
    Number of bits to use for each sample (e.g. 8 bits or 16 bits)

channel
    Number of channels to record (e.g. 1 for mono, 2 for stereo)

[icecast-x] This section describes an output to an IceCast server, while encoding with a lame encoder. There may be at most 8 outputs, numbered from 0 ... 7. The number is included in the section name (e.g. [icecast-0] ... [icecast-7]). The stream will be reachable at http://<server>:<port>/<mountPoint> Required values:

bitrate
    Bit rate to encode to in kBits / sec (e.g. 96)

server
    The IceCast server's name (e.g. yp.yourserver.com)

port
    The port to connect to the IceCast server (e.g. 8000)

password
    The password to use to connect to the IceCast server

mountPoint
    Mount point for the stream on the server

Optional values:

sampleRate
    The sample rate of the encoded mp3 output. If not specified, defaults to the value of the input sample rate.

name
    Name of the stream

description
    Description of the stream

url Url related to the stream

genre
    Genre of the stream

public
    "yes" or "no", wether the stream is public

remoteDumpFile
    The file the IceCast server should dump the contents of this stream on its side.

localDumpFile
    Dump the same mp3 data sent to the IceCast server to this local file.

lowpass
    Lowpass filter setting for the lame encoder. If not set or set to 0, the encoder's default behaviour is used. If set to -1, the filter is disabled.

highpass
    Highpass filter setting for the lame encoder. If not set or set to 0, the encoder's default behaviour is used. If set to -1, the filter is disabled.

[icecast2-x] This section describes an output to an IceCast2 server, while encoding with the ogg vobis encoder. There may be at most 8 outputs, numbered from 0 ... 7. The number is included in the section name (e.g. [icecast2-0] ... [icecast2-7]). The stream will be reachable at http://<server>:<port>/<mountPoint>

DarkIce supports both fixed bitrate and variable bitrate vorbis streams. When using fixed bitrate, specify the bitrate using the bitrate field. When using variable bitrate, specify the quality of the stream by the quality field, which is a value between 0.0 and 1.0. Required values:

format
    Format of the stream sent to the IceCast2 server. Currently the only supported value here is 'vorbis'.

bitrate
    Bit rate to encode to in kBits / sec (e.g. 96) If specified, the quality field may not be specified.

quality
    Quality of a variable bitrate stream, a number between 0.0 ... 1.0 (e.g. 0.8). If specified, the bitrate field may not be specified.

server
    The IceCast2 server's name (e.g. yp.yourserver.com)

port
    The port to connect to the IceCast server (e.g. 8000)

password
    The password to use to connect to the IceCast2 server

mountPoint
    Mount point for the stream on the server

Optional values:

name
    Name of the stream

description
    Description of the stream

url Url related to the stream

genre
    Genre of the stream

public
    "yes" or "no", wether the stream is public

localDumpFile
    Dump the same Ogg Vorbis data sent to the IceCast2 server to this local file.

[shoutcast-x] This section describes an output to a ShoutCast server, while encoding with a lame encoder. There may be at most 8 outputs, numbered from 0 ... 7. The number is included in the section name (e.g. [shoutcast-0] ... [shoutcast-7]). The stream will be reachable at http://<server>:<port-1>/ Required values:

bitrate
    Bit rate to encode to in kBits / sec (e.g. 96)

server
    The ShoutCast server's name (e.g. yp.yourserver.com)

port
    The source port to connect to the ShoutCast server (e.g. 8001)

password
    The password to use to connect to the ShoutCast server

Optional values:

sampleRate
    The sample rate of the encoded mp3 output. If not specified, defaults to the value of the input sample rate.

name
    Name of the stream

url Url related to the stream

genre
    Genre of the stream

public
    "yes" or "no", wether the stream is public

irc IRC information related to the stream

aim AIM information related to the stream

icq ICQ information related to the stream

lowpass
    Lowpass filter setting for the lame encoder. If not set or set to 0, the encoder's default behaviour is used. If set to -1, the filter is disabled.

highpass
    Highpass filter setting for the lame encoder. If not set or set to 0, the encoder's default behaviour is used. If set to -1, the filter is disabled.

localDumpFile
    Dump the same mp3 data sent to the ShoutCast server to this local file.

[file-x] This section describes an output to a local file in either Ogg Vorbis or mp3 format. There may be at most 8 outputs, numbered from 0 ... 7. The number is included in the section name (e.g. [file-0] ... [file-7]). Required values:

format
    Format to encode in. Must be either 'mp3' or 'vorbis'.

bitrate
    Bit rate to encode to in kBits / sec (e.g. 96)

fileName
    The name of the local file to save the encoded data into.

Optional values:

sampleRate
    The sample rate of the encoded mp3 output. If not specified, defaults to the value of the input sample rate. Only used if the output format is mp3.

lowpass
    Lowpass filter setting for the lame encoder. If not set or set to 0, the encoder's default behaviour is used. If set to -1, the filter is disabled. Only used if the output format is mp3.

highpass
    Highpass filter setting for the lame encoder. If not set or set to 0, the encoder's default behaviour is used. If set to -1, the filter is disabled. Only used if the output format is mp3.

A sample configuration file follows. This file makes DarkIce stream for 1 minute (60 seconds) from the audio device /dev/dsp at 22.05kHz, 16 bit stereo. It will build up a connection to the IceCast server yp.yourserver.com on port 8000 with the password "hackme". The stream will be encoded to 96 kb/s mp3, and will be reachable at http://yp.yourserver.com:8000/live96 to mp3 players. The encoding session will be stored by IceCast in the file /tmp/server-dump.mp3 on the server side, and also by DarkIce in the file /tmp/encoder-dump.mp3 on the encoder side.
[general]
duration        = 60
bufferSecs      = 5
[input]
device          = /dev/dsp
sampleRate      = 22050
bitsPerSample   = 16
channel         = 2
[icecast-0]
bitrate         = 96
server          = yp.yourserver.com
port            = 8000
password        = hackme
mountPoint      = live96
name            = DarkIce trial
description     = This is only a trial
url             = http://www.yourserver.com
genre           = live
public          = no
remoteDumpFile  = /tmp/server-dump.mp3
localDumpFile   = /tmp/encoder-dump.mp3

The following sample configuration file simply encodes the 16 bit stereo 44.1 kHz sound card input into Ogg Vorbis at 96 kb/s for 60 seconds, and saves it in the local file at /tmp/save.ogg.
[general]
duration        = 60
bufferSecs      = 5
[input]
device          = /dev/dsp
sampleRate      = 44100
bitsPerSample   = 16
channel         = 2
[file-0]
format          = vorbis
bitrate         = 96
fileName        = /tmp/save.ogg

A bit more complicated sample follows. This one makes DarkIce stream for 1 hour (3600 seconds) from the audio device /dev/dsp at 44.1kHz, 16 bit stereo. It will build up a connection to an IceCast server yp.your-ice-server.com on port 8000 with the password "ice-hackme". The sound for this stream will be cut at 10500 Hz from above. The stream will be encoded to 96 kb/s mp3 and resampled to 22.05kHz. The stream will be reachable at http://yp.your-ice-server.com:8000/live96 to mp3 players. The encoding session will be stored by IceCast in the file /tmp/live96.mp3 on the server side. It will also connect to a ShoutCast server at yp.your-shout-server.com on port 8001 with the password "shout-hackme" This stream will be encoded to 128 kb/s mp3, and will be reachable at http://yp.your-shout-server.com:8000 to mp3 players.
[general]
duration        = 3600
bufferSecs      = 5
[input]
device          = /dev/dsp
sampleRate      = 22050
bitsPerSample   = 16
channel         = 2
[icecast-0]
sampleRate      = 22050
bitrate         = 96
lowpass         = 10500
server          = yp.your-ice-server.com
port            = 8000
password        = ice-hackme
mountPoint      = live96
name            = DarkIce trial
description     = This is only a trial
url             = http://www.yourserver.com
genre           = live
public          = yes
remoteDumpFile  = /tmp/live96.mp3
[shoutcast-0]
bitrate         = 128
server          = yp.your-shout-server.com
port            = 8001
password        = shout-hackme
name            = DarkIce trial
url             = http://www.yourserver.com
genre           = live
public          = yes
irc             = irc.yourserver.com
aim             = aim here
icq             = I see you too

BUGS

Lots of bugs.

SEE ALSO
darkice(1)

AUTHOR
Akos Maroy <darkeye@users.sourceforge.net>

LINKS
Project homepage: http://darkice.sourceforge.net/ IceCast homepage: http://www.icecast.org/ ShoutCast homepage: http://www.shoutcast.com/ Lame homepage: http://www.mp3dev.org/mp3/ Ogg Vorbis homepage: http://www.xiph.org/ogg/vorbis/