| View previous topic :: View next topic |
| Author |
Message |
n8tgc
Joined: 26 Feb 2008 Posts: 5
|
Posted: Tue Feb 26, 2008 6:42 pm Post subject: CPU load with CBR |
|
|
Running Ices 2.x. streaming live audio.
I've noticed that when encoding a single live feed to three encoded VBR streams (low, medium and high bandwidth), the cpu load on ices is about 55% on a PIII 500MHz.
However, if I run the live audio to a single CBR encoded stream (32 kHz.) the CPU load approaches 80%.
Three VBR streams = 55%
One CBR stream = 80%
Am I missing something here?
Is this discrepancy consistent with other people have found? Or is it possibly indicative of something more? |
|
| Back to top |
|
 |
karlH Code Warrior

Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Tue Feb 26, 2008 6:48 pm Post subject: |
|
|
managed mode in general uses more CPU as the encoder it trying to keep to a certain bitrate range. It's usually not extreme like that but then we don't know what settings you have specified.
karl. |
|
| Back to top |
|
 |
n8tgc
Joined: 26 Feb 2008 Posts: 5
|
Posted: Tue Feb 26, 2008 8:28 pm Post subject: |
|
|
Good point. To clear any confusion. Here's what I am running on the single CBR stream that is CPU hungry. Following, is what is running on the triple/VBR setup.
**** SINGLE CBR
<?xml version="1.0"?>
<ices>
<background>1</background>
<logpath>/tmp</logpath>
<logfile>ices.log</logfile>
<loglevel>4</loglevel>
<consolelog>0</consolelog>
<pidfile>/usr/local/icecast2/ices.pid</pidfile>
<stream>
<metadata>
<name>Test Stream</name>
<genre>music</genre>
<description>A test stream</description>
<url>http://icecast.mydomain.com</url>
</metadata>
<input>
<module>oss</module>
<param name="rate">44100</param>
<param name="channels">2</param>
<param name="device">/dev/dsp</param>
<param name="metadata">0</param>
<param name="metadatafilename">live</param>
</input>
<instance>
<hostname>127.0.0.1</hostname>
<port>8000</port>
<password>xxxx</password>
<mount>/xxxx.ogg</mount>
<yp>0</yp>
<reconnectdelay>2</reconnectdelay>
<reconnectattempts>5</reconnectattempts>
<maxqueuelength>80</maxqueuelength>
<downmix>1</downmix>
<resample>
<in-rate>44100</in-rate>
<out-rate>22050</out-rate>
</resample>
<encode>
<nominal-bitrate>32000</nominal-bitrate>
<minimum-bitrate>32000</minimum-bitrate>
<managed>1</managed>
<samplerate>22050</samplerate>
<channels>2</channels>
<quality>1</quality>
</encode>
</instance>
</stream>
</ices>
****
Here's the other one
**** TRIPLE VBR
<?xml version="1.0"?>
<ices>
<background>1</background>
<logpath>/tmp</logpath>
<logfile>ices.log</logfile>
<loglevel>4</loglevel>
<consolelog>0</consolelog>
<pidfile>/usr/local/icecast2/ices.pid</pidfile>
<stream>
<metadata>
<name>Test Stream</name>
<genre>music</genre>
<description>A test stream</description>
<url>http://icecast.mydomain.com</url>
</metadata>
<input>
<module>oss</module>
<param name="rate">44100</param>
<param name="channels">2</param>
<param name="device">/dev/dsp</param>
<param name="metadata">0</param>
<param name="metadatafilename">live</param>
</input>
<instance>
<hostname>127.0.0.1</hostname>
<port>8000</port>
<password>xxxx</password>
<mount>/xxxxhigh.ogg</mount>
<yp>0</yp>
<reconnectdelay>2</reconnectdelay>
<reconnectattempts>5</reconnectattempts>
<maxqueuelength>80</maxqueuelength>
<encode>
<quality>2</quality>
<nominal-bitrate>96000</nominal-bitrate>
<samplerate>44100</samplerate>
<channels>2</channels>
</encode>
</instance>
<instance>
<hostname>127.0.0.1</hostname>
<port>8000</port>
<password>xxxx</password>
<mount>/xxxxmid.ogg</mount>
<yp>0</yp>
<reconnectdelay>2</reconnectdelay>
<reconnectattempts>5</reconnectattempts>
<maxqueuelength>80</maxqueuelength>
<downmix>1</downmix>
<resample>
<in-rate>44100</in-rate>
<out-rate>22050</out-rate>
</resample>
<encode>
<nominal-bitrate>32000</nominal-bitrate>
<samplerate>22050</samplerate>
<channels>2</channels>
<quality>1</quality>
</encode>
</instance>
<instance>
<hostname>127.0.0.1</hostname>
<port>8000</port>
<password>xxxx</password>
<mount>/xxxxlow.ogg</mount>
<yp>0</yp>
<reconnectdelay>2</reconnectdelay>
<reconnectattempts>5</reconnectattempts>
<maxqueuelength>80</maxqueuelength>
<downmix>1</downmix>
<resample>
<in-rate>44100</in-rate>
<out-rate>11000</out-rate>
</resample>
<encode>
<nominal-bitrate>16000</nominal-bitrate>
<samplerate>11000</samplerate>
<channels>1</channels>
<quality>-1</quality>
</encode>
</instance>
</stream>
</ices>
****
Perhaps a stupid question. It is possible to have an unmanaged CBR stream?
Thanks |
|
| Back to top |
|
 |
karlH Code Warrior

Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Tue Feb 26, 2008 11:53 pm Post subject: |
|
|
many believe that setting the nominal, max and min will make a CBR stream it doesn't. I suspect it just makes the encoder work much harder than it needs to. Also don't specify quality and nominal bitrate. As an example to try out, try nominal 32k, max 45k, min 20k. It's been a while but experiment with the settings.
karl. |
|
| Back to top |
|
 |
|