Требуется транслировать звук в интернет с минимальной задержкой. Использую Icecast 2 2.3.1 и IceS 2.0.1 (готов выслушать предложения взять другие программы), это всё в Fedora 11. Я вроде везде всё покрутил в этом направлении (ну то есть burst-on-connect поставил 0) , но всё равно задержка секунд 10, что сильно много.
Слушать пытаюсь командой
Слушайте, я вот тут подумал-прикинул так на досуге, так cache=32 (минимальное допустимое значение кэша для mplayer) при битрейте в 24 килоБИТА как раз и означает секунд 10-15 задержки. Может, в этом всё дело и есть? Тогда подскажите, пожалуйста, каким плеером пользоваться, чтобы можно было гибче регулировать кэш. А еще ведь для венды плеер искать ... Ужас
P.S. Я видел параметр -cache-min, но его использование ничего не меняет почему-то :S А с ключиком -no-cache вообще ничего не играет. :S
<quality>10</quality>
и resample отключите, в результате задержка окажется в районе 2-3 сек.
Кстати по Ices+Icecast... У меня с течением времени кеш mplayer-а, как и любого другого плеера стремится к нулю, зачем он так делает? Когда у mplayer кеш становится загружен на 0-1 % звук начинает неприятно прерываться, как выйти из положения? Это нормально? Везде так? Просто мне нада бы чтобы он хотябы в течение двух часов нормально вел себя без единого перерыва...
Кстати по Ices+Icecast... У меня с течением времени кеш mplayer-а, как и любого другого плеера стремится к нулю, зачем он так делает? Когда у mplayer кеш становится загружен на 0-1 % звук начинает неприятно прерываться, как выйти из положения? Это нормально? Везде так? Просто мне нада бы чтобы он хотябы в течение двух часов нормально вел себя без единого перерыва...
Но такое качество не пойдёт. Звук-то для интернета, просто я из локальной сетки тестирую, а на самом деле мне реально нужно 0.
К тому же, гипотеза о битрейте вроде бы не оправдалась - повышение битрейта не привело к уменьшению задержки :S
Это очень странно, ибо у меня при изменении качества с 5 до 10 задержка уменьшается с 6-7 сек до 2-3... я так думаю при качестве 0 так и будет задержка примерно 10 сек...
По поводу кеша плееров, такое наблюдается почему то только при трансляции с собственного ices2, а вот при ретрансляции ogg потоков с не моего icecast+ices сервака (да даже с моего же ShoutCast сервера, но это уже mp3) (тем не менее ретранслирует именно мой icecast) - кеш вроде в порядке...может я что-то не так настроил??
<?xml version="1.0"?>
<ices>
<!-- run in background -->
<background>1</background>
<!-- where logs go. -->
<logpath>/var/log/ices</logpath>
<logfile>ices.log</logfile>
<logsize>2048</logsize>
<!-- 1=error, 2=warn, 3=infoa ,4=debug -->
<loglevel>4</loglevel>
<!-- logfile is ignored if this is set to 1 -->
<consolelog>0</consolelog>
<!-- optional filename to write process id to -->
<pidfile>/var/run/ices.pid</pidfile>
<stream>
<!-- metadata used for stream listing -->
<metadata>
<name>RADIO</name>
<genre></genre>
<description>radio.dynalias.org</description>
<url>http://radio.dynalias.org</url>
</metadata>
<!-- Input module.
This example uses the 'oss' module. It takes input from the
OSS audio device (e.g. line-in), and processes it for live
encoding. -->
<input>
<module>alsa</module>
<param name="rate">44100</param>
<param name="channels">2</param>
<param name="device">default:0</param>
<!-- Read metadata (from stdin by default, or -->
<!-- filename defined below (if the latter, only on SIGUSR1) -->
<param name="metadata">0</param>
<param name="metadatafilename">test</param>
</input>
<!-- Stream instance.
You may have one or more instances here. This allows you to
send the same input data to one or more servers (or to different
mountpoints on the same server). Each of them can have different
parameters. This is primarily useful for a) relaying to multiple
independent servers, and b) encoding/reencoding to multiple
bitrates.
If one instance fails (for example, the associated server goes
down, etc), the others will continue to function correctly.
This example defines a single instance doing live encoding at
low bitrate. -->
<instance>
<!-- Server details.
You define hostname and port for the server here, along
with the source password and mountpoint. -->
<hostname>localhost</hostname>
<port>8000</port>
<password>Убрано цензурой</password>
<mount>/radio.ogg</mount>
<yp>0</yp> <!-- allow stream to be advertised on YP, default 0 -->
<!-- Live encoding/reencoding:
channels and samplerate currently MUST match the channels
and samplerate given in the parameters to the oss input
module above or the remsaple/downmix section below. -->
<encode>
<quality>9</quality>
<samplerate>44100</samplerate>
<channels>2</channels>
</encode>
<!-- stereo->mono downmixing, enabled by setting this to 1 -->
<downmix>0</downmix>
<!-- resampling.
Set to the frequency (in Hz) you wish to resample to, -->
<!-- <resample>
<in-rate>44100</in-rate>
<out-rate>44100</out-rate>
</resample> -->
</instance>
</stream>
</ices>