ShoutSend - simple streaming source client for ShoutCast/IceCast ShoutSend is a simple streaming client for ShoutCast/IceCast servers. It takes audio data stream from stdin (in mp3 or ogg format) and without any processing sends it along with some metadata (like stream description) to streaming server. You'll find old documentation (in Polish) in index-pl.html. You can read about how this tool was used to provide live audio transmissions from Polish Linux User Group meetings in Warsaw (Polish only, sorry): http://warszawa.linux.org.pl/nagrywanie.html Compilation: gcc -o shoutsend -lshout -lpthread shoutsend.c If you use libshoutcast version 1, use shoutsend-for-libshout1.c: gcc -o shoutsend -lshout shoutsend-for-libshout1.c Please note, that shoutsend-for-libshout1 supports only mp3. Example: stream mp3 file repeatedly to http://127.0.0.1:8000/stream.mp3 while true; do cat myfile.mp3; done | shoutsend -m /stream.mp3 Example: record audio from sound card using "rawrec" program, encode to 64kbit mp3 format, then simultaneously save to a file and send it to server at http://127.0.0.1:8000/live.mp3: rawrec | lame -r -b 64 - - | tee somefile.mp3 | shoutsend (you might have to use additional options for lame to specify your input stream parameters, like samplerate, number of channels, endianness etc.) Example: fetch stream in aac format using "mplayer", then reencode it to both mp3/128kbit and ogg/vorbis/96kbit formats simultaneusly (using "lame", "oggenc" and "tpipe") and stream to two mountpoints on localhost. If the source stream is not available, play some information message, wait 5s and try again: #!/bin/sh while true; do mplayer -ao pcm:file=/proc/self/fd/3 \ http://213.251.138.121:7000/ \ 3>&1 >/dev/null 2>&1 cat ~/pleasewait.wav sleep 5 done |\ tpipe "lame -b 128 - - | shoutsend -m /live.mp3" |\ oggenc -Q -b 96 -o - - | shoutsend -o -m /live.ogg Usage: shoutsend [options ...] Version 1.02 Options: -s host server (default: 127.0.0.1) -p port port (default: 8000) -U user username (default: source) -P pass password (default: letmein) -o set data format to OGG/Vorbis (default: MP3) -m mnt mountpoint (default: /live.mp3) -d description stream description (default: none) -u url stream description url (default: none) -1 use AudioCast protocol (IceCast1 compatible) -S use ShoutCast protocol (ShoutCast compatible) default protocol: HTTP (IceCast2 compatible) This software is provided under terms and conditions of GNU GPL license