
Первым делом сделаем checkout исходников этой программы:
# svn co svn.oddsock.org/public/trunk/streamTranscoderv3
Для сборки этих исходников понадобилось поставить следующие пакеты (сервер у меня на Ubuntu 10.04):
# apt-get install automake libtool libmad0-dev libflac-dev libfaac-dev
Чтобы сборка прошла успешно, пришлось немного допилить файлы, шедшие в комплекте исходников.
1. Добавил в Makefile.am строчку:
ACLOCAL_AMFLAGS = -I m4
2. Раскомментировал в configure.in строчку
AC_PROG_CXX
3. Чтобы утилита скомпилировалась с поддержкой AAC, пришлось дописать в файл configure.in еще строчку:
AC_DEFINE(HAVE_FAAC,1)
сразу перед строкой
FAAC_CFLAGS
4. Для корректной сборки мне пришлось указать еще вот такой «костылек»:
LIBFLAC_LIBDIR=. ./autogen.sh
После компиляции получаем бинарник streamTranscoderv3, который помещаем, к примеру, в /opt/streamtranscoder.
# mkdir -p /opt/streamTranscoder
# mv streamTranscoderv3 /opt/streamTranscoder
# cd /opt/streamTranscoder
# ./streamTranscoderv3
Первый запуск бинарника создаст в текущем каталоге конфиг streamTranscoder_0.cfg, в котором нужно будет указать параметры потока-источника. Редактируем до примерно такого состояния:
# The source URL for the broadcast. It must be in the form http://server:port/mountpoint. For those servers without a mountpoint (Shoutcast) use http://server:port.
SourceURL=http://127.0.0.1:1976/apple
AutomaticReconnectSecs=10
AutoConnect=1
# Log Level 1 = LOG_ERROR, 2 = LOG_ERROR+LOG_INFO, 3 = LOG_ERROR+LOG_INFO+LOG_DEBUG
LogLevel=2
# Log File
LogFile=streamTranscoder
# Number of encoders to use
NumEncoders=2
Параметр SourceURL указывает на поток-источник, который уже существует. Помимо остальных более-менее понятных параметров, мы также указали параметр NumEncoders=2, что означает, что мы будем формировать два дополнительных потока (в нашем случае 64Kbps MP3 и 48Kbps AAC).
Запустив бинарник еще раз, получим конфиги кодировщиков, в нашем случае streamTranscoder_1.cfg и streamTranscoder_2.cfg. Они гораздо увесистее, комментировать каждый пункт нет смысла, просто приведу ссылку на то, как выглядит мой конфиг для AAC.
Оценить качество звучания вы можете на странице подкаста AppleInsider.ru, либо скормив эти ссылки в свой любимый плеер: Hi (MP3 128Kbps), Low (MP3 64Kbps), AAC (48Kbps).