I managed to get aac encoding working with StreamTranscoder V3 in Linux!
I tried to send this information directly to the developer but I didn't got an answer. Also I have problems to get an account for his forum, so I post my stuff here and hope that people find it.
_Installation Manual for aac support for StreamTranscoderV3_
For debian based distributions.
Add the following repository to your /etc/apt/sources.list file:
deb http://www.debian-multimedia.org stable main
Install all the necessary libraries and there HEADER files too:
apt-get install libogg0 libogg-dev libvorbis0a libvorbis-dev liblame0 liblame-dev libfaac0 libfaac-dev libfaad0 libfaad-dev libmad0 libmad0-dev libflac8 libflac-dev automake libtool
Now we have to patch the StreamTranscoder configure.in file: the patch was produced with this command:
diff -u old/configure.in new/configure.in
Save the following patch to a file called “streamTranscoder-aac.patch”:
--- old/configure.in 2006-08-09 06:17:39.000000000 +0200 +++ new/configure.in 2009-10-24 19:26:40.000000000 +0200 @@ -5,9 +5,10 @@ AM_INIT_AUTOMAKE AC_PROG_CC -#AC_PROG_CXX +AC_PROG_CXX AC_CANONICAL_HOST AM_PROG_LIBTOOL +AC_PROG_RANLIB dnl Set some options based on environment @@ -100,6 +101,7 @@ FAAC_CFLAGS="" else FAAC_CFLAGS="-DHAVE_FAAC" + AC_DEFINE(HAVE_FAAC) fi CFLAGS="$OLDCFLAGS"
Extract the sources:
tar -xzf streamtranscoderv3-3.1.11.tar.gz
Change directory to the extracted streamTranscoder sources:
cd streamtranscoderv3-3.1.11
Apply the patch:
patch -p1 < ../streamTranscoder-aac.patch
Regenerate the build files:
aclocal -I m4/
autoconf
automake
Compile and install in the normal way:
./configure
make
make install
Change the encoder setting in your config file (in my case /etc/streamTranscoder/streamTranscoder_3.cfg): Encode=AAC
Restart streamtranscoderv3 and check the logfiles for errors.
Finished!
I post here also a nice init script written by me, changes the UID/GID and sets a the nice level to a higher priority than default: /etc/init.d/streamTranscoder restart
Here is my /etc/init.d/streamTranscoder
#! /bin/sh
#
# streamTranscoder
#
# Written by Miquel van Smoorenburg <miquels@cistron.nl>.
# Modified for Debian
# by Ian Murdock <imurdock@gnu.ai.mit.edu>.
#
# Further modified by Keegan Quinn <ice@thebasement.org>
# for use with Icecast 2
#
# adopted to use with streamTranscoder v3 from oddsock
# by christoph zimmermann <christoph@bigbeat.ch>
#
### BEGIN INIT INFO
# Provides: streamTranscoder
# Required-Start: $net $syslog
# Required-Stop: $net $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Starting StreamTranscoder
# Description: StreamTranscoder is the swiss army knife of the
streaming server user. ### END INIT INFO
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/bin/streamTranscoderv3
CONF=/etc/streamTranscoder
NAME=streamTranscoderv3
DESC=streamTranscoderv3
test -x $DAEMON || exit 0
# Defaults
USERID=transcoder
GROUPID=transcoder
#set -e
case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --chuid $USERID:$GROUPID \
--background --chdir $CONF --nicelevel -3 --exec $DAEMON
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --oknodo --quiet --exec $DAEMON
echo "$NAME."
;;
restart)
echo -n "Restarting $DESC: "
start-stop-daemon --stop --oknodo --quiet --exec $DAEMON
sleep 1
start-stop-daemon --start --quiet --chuid $USERID:$GROUPID \
--background --chdir $CONF --nicelevel -3 --exec
$DAEMON echo "$NAME."
;;
*)
echo "Usage: $0 {start|stop|restart}" >&2
exit 1
;;
esac
exit 0