diff --git a/darkice/trunk/ChangeLog b/darkice/trunk/ChangeLog index 96e7412..f5a608f 100644 --- a/darkice/trunk/ChangeLog +++ b/darkice/trunk/ChangeLog @@ -1,3 +1,9 @@ +DarkIce 0.4 + + o support for external command line encoder removed, replaced + with using lame as a shared object or statically linked library + o added darkice man page + 26-08-2001: DarkIce 0.3.1 released o support for unlimited time encoding diff --git a/darkice/trunk/Makefile.am b/darkice/trunk/Makefile.am index 070742b..646bf1c 100644 --- a/darkice/trunk/Makefile.am +++ b/darkice/trunk/Makefile.am @@ -1,11 +1,14 @@ -SUBDIRS = src -EXTRA_DIST = stl doc darkice.cfg +KDOC_DIR=kdoc -dist-hook: kdocs +SUBDIRS = src man + +EXTRA_DIST = stl $(KDOC_DIR) darkice.cfg + +dist-hook: $(KDOC_DIR) kdocs: src - cd src; kdoc --private --strip-h-path --name DarkIce --outputdir ../doc/ *.h + cd src; kdoc --private --strip-h-path --name DarkIce --outputdir ../$(KDOC_DIR)/ *.h kdocs_clean: - rm -rf doc/ + rm -rf $(KDOC_DIR) diff --git a/darkice/trunk/README b/darkice/trunk/README index 9897028..df606bb 100644 --- a/darkice/trunk/README +++ b/darkice/trunk/README @@ -1,17 +1,11 @@ -DarkIce 0.2 live audio streamer, http://darkice.sourceforge.net -Copyright (C) 2000, Tyrell Hungary, http://tyrell.hu +DarkIce 0.4 live audio streamer, http://darkice.sourceforge.net +Copyright (c) 2000-2001, Tyrell Hungary, http://tyrell.hu Contents -------- 1. Compiling and installing -2. Configuration file format -2.1 Section [general] -2.2 Section [input] -2.3 Section [lamex] -3. Supported encoders -4. Kown bugs and issues @@ -23,110 +17,15 @@ impatient, try: ./configure make -make install The executable built is src/darkice. +To install, try as root: -For command line syntax, try: - -darkice --help - -It is recommended to run DarkIce as root. +make install -2. Configuration file format ----------------------------- +For documentation, try: -DarkIce requires a configuration file. Please take a look at the supplied -darkice.cfg sample configuration file. - -The file has to following general format: - -[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 required: - - -2.1 Section [general] ---------------------- -This section describes general operational parameters. - -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. - - -2.2 Section [input] ---------------------- -This section describes the input. - -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) -bitsPerSample Bites 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) - - -2.3 Section [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]). - -Required values: - -encoder The command used to invoke the encoder -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 -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 - -Optional values: - -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 - - - -3. Supported encoders ---------------------- - -Currently the lame encoder is supported (http://www.mp3dev.org/mp3/). -Tests were made with version 3.86. - - - -4. Kown bugs and issues ------------------------ - -Lots of bugs, this is the first release. - -You must have write permissions in the directory you execute DarkIce. - -DarkIce was only tested under RedHat Linux +man darkice diff --git a/darkice/trunk/TODO b/darkice/trunk/TODO index e8808f1..aa6b311 100644 --- a/darkice/trunk/TODO +++ b/darkice/trunk/TODO @@ -1,8 +1,7 @@ o change Ref to follow inheritance -o make a master config file, and a small one -o add support for shared object lame +o make a master config file, and a small one ? o add support for VBR encoding o reconnect to server if connection is dropped -o add support for multiple servers for one stream -o create man page +o add support for multiple servers for one stream ? o create RPMs +o update INSTALL file with DarkIce specific options diff --git a/darkice/trunk/configure.in b/darkice/trunk/configure.in index ce8a13f..52c699b 100644 --- a/darkice/trunk/configure.in +++ b/darkice/trunk/configure.in @@ -48,5 +48,5 @@ AC_ARG_ENABLE( static, -AC_OUTPUT(Makefile src/Makefile) +AC_OUTPUT(Makefile src/Makefile man/Makefile) diff --git a/darkice/trunk/man/Makefile.am b/darkice/trunk/man/Makefile.am new file mode 100644 index 0000000..b0fbfb1 --- /dev/null +++ b/darkice/trunk/man/Makefile.am @@ -0,0 +1,4 @@ +man_MANS = darkice.1 + +EXTRA_DIST = ${man_MANS} + diff --git a/darkice/trunk/man/darkice.1 b/darkice/trunk/man/darkice.1 new file mode 100644 index 0000000..fa25e4b --- /dev/null +++ b/darkice/trunk/man/darkice.1 @@ -0,0 +1,249 @@ +.TH darkice 1 "August 27, 2001" "DarkIce" "DarkIce live audio streamer" +.SH NAME +darkice \- an icecast live audio streamer +.SH SYNOPSIS +.B darkice +[options] -c config.file +.SH DESCRIPTION +.PP +.B DarkIce +is an +.B IceCast +live audio streamer. It takes audio input from a +sound card, encodes it into mp3, and sends the stream to an +.B IceCast +server. + +.B DarkIce +uses +.SM POSIX +real-time scheduling to keep up with sound card input. +.SM POSIX +real-time scheduling is only available if the program is run as root. +Therefore it is recommended that +.B DarkIce +is run as root. + +.B DarkIce +uses the +.B Lame +mp3 encoder as a library to encode audio intput to mp3. + +.SH OPTIONS +.TP +.BI "\-c " config.file +.br +.ns +.TP +.BI \-\-config= config.file +Specifies what configuration file to use. + +.TP +.BI "\-v " n +.br +.ns +.TP +.BI \-\-verbosity= n +Sets the verbosity level, between 0 and 10. 0 is silent, 10 is loud. +Defaults to 1. + +.TP +.BI "\-h " +.br +.ns +.TP +.BI \-\-help +Prints the help page and exists. + + +.SH "CONFIGURATION FILE" +.B DarkIce +needs a configuration file to operate. +The configuration file consists of sections, with key = value pairs +inside each secion: + +.nf +[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 +.fi + +In particular, the following sections and values are recognized: +.PP +.B [general] + +This section describes general operational parameters (required). + +Required values: + +.TP +.I duration +Time for DarkIce to run, in seconds. If 0, run forever. +.TP +.I 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. + +.PP +.B [input] + +This section describes the input (required). + +Required values: + +.TP +.I device +OSS DSP audio device to record from (e.g. /dev/dsp) +.TP +.I 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) +.TP +.I bitsPerSample +Bites to use for each sample (e.g. 8 bits or 16 bits) +.TP +.I channel +Number of channels to record (e.g. 1 for mono, 2 for stereo) + +.PP +.B [lamex] + +This section describes an output to an +.B 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 +.I http://:/ +At least one such section is required. + +Required values: + +.TP +.I bitrate +Bit rate to encode to in kBits / sec (e.g. 96) +.TP +.I server +The +.B IceCast +server's name (e.g. yp.sourserver.com) +.TP +.I port +The port to connect to the IceCast server (e.g. 8000) +.TP +.I password +The password to use to connet to the +.B IceCast +server +.TP +.I mountPoint +Mount point for the stream on the server +.TP +.I name +Name of the stream +.TP +.I description +Description of the stream +.TP +.I url +Url related to the stream +.TP +.I genre +Genre of the stream +.TP +.I public +"yes" or "no", wether the stream is public + +.PP +Optional values: + +.TP +.I remoteDumpFile +The file the +.B IceCast +server should dump the contents of +this stream on its side. +.TP +.I lowpass +Lowpass filter setting for the lame encoder. If not set, +the encoder's default behaviour is used +.TP +.I highpass +Highpass filter setting for the lame encoder. If not set, +the encoder's default behaviour is used + +.PP +A sample configuration file follows. This file makes +.B DarkIce +stream for 1 minute (60 seconds) from the audio device +.I /dev/dsp +at 22kHz, 16 bit stereo. +It will build up a connection to the +.B 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 +.I http://yp.yourserver.com:8000/live96 +to mp3 players. +The encoding session will be stored by +.B IceCast +in the file +.I /tmp/live96.mp3 +on the server side. + +.nf +[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 +.fi + + +.SH BUGS +.PP +Lots of bugs. + + +.SH AUTHOR +Akos Maroy +.I + + +.SH LINKS +Project homepage: +.I http://darkice.sourceforge.net/ + +.B IceCast +homepage: +.I http://www.icecast.org/ + +.B Lame +homepage: +.I http://www.mp3dev.org/mp3/ +