[Icecast] Re: low bandwidth broadcasting using ices2
Andy Baxter
andy at earthsong.free-online.co.uk
Mon Aug 30 03:27:05 UTC 2004
On Mon, 30 Aug 2004 04:01:58 +0100, Andy Baxter wrote:
> On Sun, 29 Aug 2004 17:53:29 -0700, Ralph Giles wrote:
>
>> On Mon, Aug 30, 2004 at 03:03:28AM +0100, Andy Baxter wrote:
>>
>>> Is there any way to bring the bitrate in ices2 down below 32 kbps?
>>
>> Generally the trick for this is to downsample the audio before encoding.
>> You can ask ices to do this with a resample stanza in the config file:
>>
>> <resample>
>> <in-rate>44100</in-rate>
>> <out-rate>22050</out-rate>
>> </resample>
>
> Thanks, that does it.
>
>>
>>> Specifically, I have a machine with 2 versions of oggenc on it, one
>>> from debian woody, and one compiled from source. The woody version will
>>> encode mono wavs down to 16kbps, but the (later) hand compiled version
>>> will only go down to 32 kbps. The quality of the 16kbps files isn't that
>>> great, but it's still ok to listen to - no obvious distortion or spurious
>>> noises, just a loss of clarity.
>>
>> You don't tell us what compression options you tried, but hopefully the
>> resampling issue is the one you're missing.
>>
>
> The ones I've tried are:
>
> channels sample rate nominal bitrate
> 2 44100 65536 good stereo sound
> 2 44100 131072 probably better but I can't hear the difference.
> 1 44100 32768 streams at 35-40 kbps, good sound
> 1 44100 16384 encoder won't start.
> 1 22050 16384 streams at about 25 kbps
> 1 14700 16384 streams at about 21-23 kbps. starting to sound
> bad.
> 1 22050 16384 with managed bitrate, max=18000. works, but sounds weird
> and metallic.
> 1 11025 16384 streams at 19-20 kbps. sounds flat and dull.
>
> I reckon I should be able to find something that will do alright from
> these, so cheers.
>
> andy.
This one looks the best so far (streams at about 20-22 kbps with slight
metallic sound on some tracks):
<?xml version="1.0"?>
<ices>
<background>0</background> <!-- run in background? (unimplemented) -->
<logpath>/tmp</logpath> <!-- where logs, etc go. -->
<logfile>ices.log</logfile>
<loglevel>4</loglevel> <!-- 1=error,2=warn,3=info,4=debug -->
<logsize>2048</logsize> <!-- the size the log file must be before rotation -->
<consolelog>0</consolelog> <!-- set this to 1 to log to the console instead
of to the file above -->
<pidfile>/var/ices/ices.pid</pidfile> <!-- file to write process id to -->
<stream>
<!-- input module -->
<input>
<module>jack</module>
<param name="channels">1</param>
<param name="clientname">ices32</param>
</input>
<runner>
<!-- Stream instance -->
<instance>
<shout>
<!-- Server details: -->
<hostname>localhost</hostname>
<port>8000</port>
<password>hackme</password>
<mount>/mono.ogg</mount>
<reconnectdelay>2</reconnectdelay>
<reconnectattempts>5</reconnectattempts>
</shout>
<resample>
<out-rate>22050</out-rate>
</resample>
<encode>
<!-- VBR mode can be selected via quality or nominal-bitrate -->
<!-- selecting enabling managed has to be done separately as -->
<!-- it's slower, but can be used to limit a high threshold -->
<managed>1</managed>
<maximum-bitrate>22000</maximum-bitrate>
<nominal-bitrate>22000</nominal-bitrate>
</encode>
</instance>
</runner>
</stream>
</ices>
More information about the Icecast
mailing list