====== Сервер ======
[[http://www.icecast.org/|IceCast]]
===== Сборка DEB-пакета =====
sudo apt-get install devscripts debhelper
wget -cS http://downloads.xiph.org/releases/icecast/icecast-2.4.0.tar.gz
cp icecast-2.4.0.tar.gz icecast_2.4.0.orig.tar.gz
tar xvf icecast-2.4.0.tar.gz
cd icecast-2.4.0
mkdir debian
mcedit debian/control
Source: icecast
Maintainer: Maintainer Name
Package: icecast
Architecture: i386
Depends: libc6 (>= 2.3.6-6~), libcurl3-gnutls (>= 7.16.2), libogg0 (>= 1.0rc3),
libspeex1 (>= 1.2~beta3-1), libssl1.0.0 (>= 1.0.0),
libtheora0 (>= 0.0.0.alpha7.dfsg), libvorbis0a (>= 1.1.2),
libxml2 (>= 2.7.4), libxslt1.1 (>= 1.1.25)
Section: sound
Priority: extra
Homepage: Homepage: http://www.icecast.org/
Description: streaming media server
Icecast is a versatile multimedia streaming server which can create
(for instance) a private jukebox or "Internet radio station". It
supports Ogg streaming using the Vorbis and Theora codecs, as well as
other formats such as MP3, AAC, or NSV, and is compatible with most
media players.
dch --create -v 2.4.0-1 --package icecast
mcedit debian/rules
#!/usr/bin/make -f
%:
dh $@
//**Примечание:** в файле "debian/rules" перед строкой// ''dh $@v'' //стоит один знак табуляции, а не пробелы!//
debuild -us -uc
cd ..
sudo dpkg -i icecast_2.4.0-1_i386.deb
====== Источники ======
[[http://www.icecast.org/ices.php|Ices]]
[[http://v2v.cc/~j/oggfwd/ | oggfwd]] -- supports OPUS
[[http://savonet.sourceforge.net/|Liquidsoap]]
[[http://www.icecast.org/3rdparty.php|Список поддерживаемых клиентов на Icecast.org]]
====== Скрипты ======
===== Ретрансляция =====
FIXME
Для ретрансляции потока на примере канала "Acid Jazz" на MyRadio.com.ua использовался следующий скрипт:
#!/bin/bash
RUNNING_INSTANCES=`pidof -x listen-newjazz.sh`
pkill -TERM -x -f "curl --connect-timeout 10 -s -o /var/tmp/ices2/newjazz.fifo http://music.myradio.com.ua:8000/newjazz32.ogg"
for PID in "${RUNNING_INSTANCES}"
do
if [ "$PID" != "$$" ]
then
# echo "Killing process ${PID}"
kill -TERM $PID
fi
done
if [ ! -x "/var/tmp/ices2" ]
then
mkdir /var/tmp/ices2
fi
if [ ! -p "/var/tmp/ices2/newjazz.fifo" ]
then
mkfifo /var/tmp/ices2/newjazz.fifo
fi
if [ ! -x "/var/log/ices2" ]
then
mkdir /var/log/ices2
fi
#nohup curl -s http://music.myradio.com.ua:8000/newjazz128.ogg > /var/tmp/ices2/newjazz.fifo 2> /dev/null &
nohup curl --connect-timeout 10 -s -o /var/tmp/ices2/newjazz.fifo http://music.myradio.com.ua:8000/newjazz32.ogg 2> /dev/null &
sleep 1
echo "/var/tmp/ices2/newjazz.fifo"
exit 0
Для возобновления прерванного потока использовался следующий bash-скрипт:
#!/bin/bash
#echo $1 2>&1
sleep 5
case $1 in
/KropivaRadio-newjazz32.ogg)
pkill -TERM -x -f "/usr/bin/ices2 /etc/ices2/ices-myradio-newjazz-script.xml"
/usr/bin/ices2 /etc/ices2/ices-myradio-newjazz-script.xml
;;
/KropivaRadio-country32.ogg)
pkill -TERM -x -f "/usr/bin/ices2 /etc/ices2/ices-myradio-country-script.xml"
/usr/bin/ices2 /etc/ices2/ices-myradio-country-script.xml
;;
*) exit 0
;;
esac
===== Jamendo =====
FIXME
====== Сайт радиостанции ======
http://kropiva.org.ua
FIXME