darkice(1)

NAME
darkice - an icecast live audio streamer

SYNOPSIS
darkice [options] -c config.file

DESCRIPTION

DarkIce is an IceCast live audio streamer. It takes audio input from a sound card, encodes it into mp3, and sends the stream to an IceCast server. DarkIce uses POSIX real-time scheduling to keep up with sound card input. POSIX real-time scheduling is only available if the program is run as root. Therefore it is recommended that DarkIce is run as root. DarkIce uses the Lame mp3 encoder as a library to encode audio intput to mp3.

OPTIONS

-c config.file

--config=config.file
    Specifies what configuration file to use.

-v n

--verbosity=n
    Sets the verbosity level, between 0 and 10. 0 is silent, 10 is loud. Defaults to 1.

-h

--help
    Prints the help page and exists.

CONFIGURATION FILE
DarkIce needs a configuration file to operate. The configuration file consists of sections, with key = value pairs 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
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 mp3 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)

[lamex] 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. [lame0] ... [lame7]). The stream will be reachable at http://<server>:<port>/<mountPoint> At least one such section is required. Required values:

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

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

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

password
    The password to use to connet to the IceCast 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

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

lowpass
    Lowpass filter setting for the lame encoder. If not set, the encoder's default behaviour is used

highpass
    Highpass filter setting for the lame encoder. If not set, the encoder's default behaviour is used

A sample configuration file follows. This file makes DarkIce stream for 1 minute (60 seconds) from the audio device /dev/dsp at 22kHz, 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/live96.mp3 on the server side.
[general]
duration        = 60
bufferSecs      = 5
[input]
device          = /dev/dsp
sampleRate      = 22050
bitsPerSample   = 16
channel         = 2
[lame0]
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/live96.mp3

BUGS

Lots of bugs.

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

ACKNOWLEDGEMENTS
Some contributions by Jim Crilly <JCrilly@MSA.com>

LINKS
Project homepage: http://darkice.sourceforge.net/ IceCast homepage: http://www.icecast.org/ Lame homepage: http://www.mp3dev.org/mp3/