home | help
darkice.cfg(5)		   DarkIce live audio streamer		  darkice.cfg(5)

NAME
     darkice.cfg - configuration file for darkice

DESCRIPTION
     The  configuration  file consists of sections, with key = value pairs sepa-
     rated 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  en-
	    coder.  Each  buffer  will be able to hold this many seconds of sam-
	    ples.

     Optional values:

     reconnect
	    Try to reconnect to the server(s) if the connection is broken during
	    streaming, "yes" or "no". (optional parameter, defaults to "yes")

     realtime
	    Use POSIX realtime scheduling, "yes" or "no".  (optional  parameter,
	    defaults to "yes")

     rtprio
	    Scheduling	priority for the realtime threads.  (optional parameter,
	    defaults to 4)

     [input]

     This section describes the input (required).

     Required values:

     device
	    Specify the device to record from, which can be an OSS  DSP  device,
	    an	ALSA source, PulseAudio source or you can use Jack audio.  - OSS
	    DSP audio device to record from (e.g. /dev/dsp) -  ALSA  DSP  device
	    name  (e.g.  hwplug:0,0)  -  for  PulseAudio  use "pulseaudio" - the
	    string 'jack', to have an unconnected Jack port, or
	      'jack_auto' to  automatically  make  Jack  connect  to  the  first
	    source.

     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)

     jackClientName
	    The name of the jack input channel created by darkice if device=jack
	    is specified.

     paSourceName
	    The name of the PulseAudio source to use. It can  be  "default",  an
	    index or a device string obtained from running "pactl list"

     [icecast-x]

     This  section  describes  an  output  to  an IceCast 1.3.x server or Darwin
     Streaming 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:

     bitrateMode
	    The bit rate mode of the encoding, either  "cbr",  "abr"  or  "vbr",
	    standing  for  constant  bit rate, average bit rate and variable bit
	    respectively. Use the bitrate and/or quality values to  specify  de-
	    tails of the appropriate bit rate mode.

     bitrate
	    Bit  rate  to encode to in kBits / sec (e.g. 96). Only used when cbr
	    or abr bit rate modes are specified.

     quality
	    The quality of encoding a value between 0.0 .. 1.0 (e.g. 0.8),  with
	    1.0  being	the  highest quality. Use a value greater than 0.0. Only
	    used when cbr or vbr bit rate modes are specified.

     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,  de-
	    faults to the value of the input sample rate.

     channel
	    Number  of	channels  for  the  mp3  output  (e.g. 1 for mono, 2 for
	    stereo).  If not specified, defaults to the value of the input  sam-
	    ple 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", whether 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.

     fileAddDate
	    "yes"  or  "no" if you want to automatically insert a date string in
	    the localDumpFile name before its extension or at the  end	of  file
	    name if no extension present

     fileDateFormat
	    The date format to use for appending the date to the dump file name.
	    Defaults  to "[%m-%d-%Y-%H-%M-%S]". All format strings acceptable by
	    strftime() can be used, see the strftime man page for details.  Only
	    applicable is fileAddDate is "true".

     lowpass
	    Lowpass  filter  setting  for  the	lame encoder, in Hz. Frequencies
	    above the specified value will be cut.  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, in Hz. Frequencies be-
	    low the specified value will be cut.  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] ... [ice-
     cast2-7]).  The stream will be reachable at  http://<server>:<port>/<mount-
     Point>

     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. Supported formats
	    are 'vorbis', 'opus', 'mp3', 'mp2', 'aac' and 'aacp'.

     bitrateMode
	    The bit rate mode of the encoding, either  "cbr",  "abr"  or  "vbr",
	    standing  for  constant  bit rate, average bit rate and variable bit
	    respectively. Use the bitrate and/or quality values to  specify  de-
	    tails of the appropriate bit rate mode. Ogg Opus only supports 'cbr'
	    and 'abr'.

     bitrate
	    Bit  rate  to encode to in kBits / sec (e.g. 96). Only used when cbr
	    or abr bit rate modes are specified.

     quality
	    The quality of encoding a value between 0.0 .. 1.0 (e.g. 0.8),  with
	    1.0  being	the  highest quality. Use a value greater than 0.0. Only
	    used when vbr bit rate mode is specified for Ogg Vorbis  format,  or
	    in vbr and abr modes for mp3 and mp2 format.

     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:

     sampleRate
	    The sample rate of the encoded output. If not specified, defaults to
	    the  value of the input sample rate.  Please note that Ogg Opus only
	    supports 48kHz sample rate, and will resample to this rate.

     channel
	    Number of channels for the output (e.g. 1 for mono, 2  for	stereo).
	    If	not  specified,  defaults to the value of the input sample rate.
	    Different channels for input and output are only supported for  mp3,
	    but not for Ogg Vorbis.

     maxBitrate
	    The maximum bitrate of the stream. Only used when in cbr mode and in
	    Ogg Vorbis format.

     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", whether the stream is public

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

     fileAddDate
	    "yes" or "no" if you want to automatically insert a date  string  in
	    the  localDumpFile	name  before its extension or at the end of file
	    name if no extension present

     fileDateFormat
	    The date format to use for appending the date to the dump file name.
	    Defaults to "[%m-%d-%Y-%H-%M-%S]". All format strings acceptable  by
	    strftime()	can be used, see the strftime man page for details. Only
	    applicable is fileAddDate is "true".

     lowpass
	    Lowpass filter setting for the  lame  encoder,  in	Hz.  Frequencies
	    above  the specified value will be cut.  If not set or set to 0, the
	    encoder's default behaviour is used.  If set to -1,  the  filter  is
	    disabled.  Only has effect if the mp3 or mp2 format is used.

     highpass
	    Highpass filter setting for the lame encoder, in Hz. Frequencies be-
	    low  the  specified  value will be cut.  If not set or set to 0, the
	    encoder's default behaviour is used.  If set to -1,  the  filter  is
	    disabled.  Only has effect if the mp3 or mp2 format is used.

     [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] ... [shout-
     cast-7]).	The stream will be reachable at http://<server>:<port-1>/

     Required values:

     bitrateMode
	    The bit rate mode of the encoding, either  "cbr",  "abr"  or  "vbr",
	    standing  for  constant  bit rate, average bit rate and variable bit
	    respectively. Use the bitrate and/or quality values to  specify  de-
	    tails of the appropriate bit rate mode.

     bitrate
	    Bit  rate  to encode to in kBits / sec (e.g. 96). Only used when cbr
	    or abr bit rate modes are specified.

     quality
	    The quality of encoding a value between 0.0 .. 1.0 (e.g. 0.8),  with
	    1.0  being	the  highest quality. Use a value greater than 0.0. Only
	    used when cbr or vbr bit rate modes are specified.

     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:

     mountPoint
	    Mount point for the stream on  the	server.  Only  works  on  Darwin
	    Streaming  Server,	the  original  Shoutcast server does not support
	    mount points

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

     channel
	    Number  of	channels  for  the  mp3  output  (e.g. 1 for mono, 2 for
	    stereo).  If not specified, defaults to the value of the input  sam-
	    ple rate.

     name   Name of the stream

     url    Url related to the stream

     genre  Genre of the stream

     public
	    "yes" or "no", whether 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, in Hz. Frequencies
	    above the specified value will be cut.  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, in Hz. Frequencies be-
	    low the specified value will be cut.  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.

     fileAddDate
	    "yes"  or  "no" if you want to automatically insert a date string in
	    the localDumpFile name before its extension or at the  end	of  file
	    name if no extension present

     fileDateFormat
	    The date format to use for appending the date to the dump file name.
	    Defaults  to "[%m-%d-%Y-%H-%M-%S]". All format strings acceptable by
	    strftime() can be used, see the strftime man page for details.  Only
	    applicable is fileAddDate is "true".

     [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', 'mp2', 'vorbis', 'opus',
	    'aac' or 'aacp'.

     bitrateMode
	    The bit rate mode of the encoding, either  "cbr",  "abr"  or  "vbr",
	    standing  for  constant  bit rate, average bit rate and variable bit
	    respectively. Use the bitrate and/or quality values to  specify  de-
	    tails of the appropriate bit rate mode.

     bitrate
	    Bit  rate  to encode to in kBits / sec (e.g. 96). Only used when cbr
	    or abr bit rate modes are specified.

     quality
	    The quality of encoding a value between 0.0 .. 1.0 (e.g. 0.8),  with
	    1.0  being	the  highest quality. Use a value greater than 0.0. Only
	    used when cbr or vbr bit rate modes are specified.

     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,  de-
	    faults to the value of the input sample rate.  Only used if the out-
	    put format is mp3.

     lowpass
	    Lowpass  filter  setting  for  the	lame encoder, in Hz. Frequencies
	    above the specified value will be cut.  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, in Hz. Frequencies be-
	    low the specified value will be cut.  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.yours-
     erver.com	on port 8000 with the password "hackme".  The stream will be en-
     coded  to	96  kb/s  mp3  with  quality  0.8,  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]
     bitrateMode     = cbr
     bitrate	     = 96
     quality	     = 0.8
     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
     fileAddDate     = no

     The following sample configuration file simply encodes the  16  bit  stereo
     44.1  kHz	sound card input into Ogg Vorbis at average bit rate 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
     bitrateMode     = abr
     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  average
     bit  rate	96 kb/s mp3 and resampled to 22.05kHz and 1 channel (mono).  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
     constant bit rate 128 kb/s mp3 with quality 0.8, 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
     channel	     = 1
     bitrateMode     = abr
     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]
     bitrateMode     = cbr
     bitrate	     = 128
     quality	     = 0.8
     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@tyrell.hu>

LINKS
     Project homepage: http://darkice.org/

     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/

     Ogg Opus homepage: http://www.opus-codec.org/

DarkIce 			February 25, 2007		  darkice.cfg(5)

home | help