The KiwiSDR 2 online store is open for orders! Please visit kiwisdr.nz
Audio stream to an Icecast server
Hi,
I'm trying to stream an audio feed to an Icecast server.
Best for me would be doing this on the Beagleboard itself, but I think there couldn't be enough CPU left for audio encoding.
So, i tried to do it on a raspberry PI from the same local network, using the kiwi_nc utility, shell piping to an MP3 or OGG encoder, and than to Ezstream (a shell Icecast source client), but I've got no success (broken pipes).
Am I on the right path ? Is kiwi_nc actually outputting a raw audio feed ?
Any help would be apreciated.
Thanks a lot :)
Comments
what string do you feed to kiwi_nc
cli args that is
you might look at this:
Hi Jim,
thanks for replying.
These are the switches i used for kiwi_nc:
-s 192.168.10.19 -p 8073 -f 28122 -m usb -L100 -H2700 --ncomp
Regarding the app from Chris: I need something I can run from a linux shell and it looks like his app runs on Win/MacOs only.
thanks
I used kiwi_nc successfully to stream IQ samples to dumphfdl while developing the Kiwi HFDL extension. Take a look at the "dumphfdl" target in kiwiclient/Makefile
What you're doing looks okay to get a single channel (mono) without compression (IQ mode never has any compression, so --ncomp is not specified in the Makefile example)
Note the argument to dumphfdl:
--sample-format CS16
So kiwi_nc is outputting 16-bit signed integer values. The "C" means complex because of IQ, but that won't be true in your case.You might try redirecting the kiwi_nc output to a file. Then process it with sox into a .wav file. Something like this maybe:
sox -r 12000 -b 16 -e signed-integer -c 1 -t raw CS16.raw -b 16 -e signed-integer -c 1 CS16.wav
Where
CS16.raw
is the name of the file captured from kiwi_nc. Then play the .wav with a simple player (i.e. not Icecast) and see if it sounds right.Not 100% sure about the sox stuff. It's been a year or so since I did this.
Thank you for your help!
After a thousand tries, I successfully made it run on the BB itself piping to
lame -r -s 12 -V0 -m mono -p -x -b 16 --cbr --resample 22.050 --lowpass 4 - -
and then to ezstream.