My audio pipeline can use either #CoreAudio or #FFmpeg or #libopus for codec purposes. The biggest shock was realizing that using pipes is a lot easier than an API, and that thinking like #plan9 isn’t as crazy as it first seems.

Happily surprised to find that I can #stream stereo #radio using #OpenWrt out of the box on a #Mango Mini Wireless Router (the GL-MT300N-V2).

#libopus is only using 40-50% CPU.

I also tried with #lame for #mp3 by the way - which was hopeless. Every possible configuration I could find immediately maxes out the CPU, causing constant overruns.

This is the comand I used:

arecord -q -f S16_LE -c2 -r48000 | \
opusenc --quiet --comp [0-9] --raw --raw-rate 48000 --raw-chan 2 --bitrate 128 - - | \
oggfwd ICECASE_SERVER_IP 8000 hackme stream

You can also get away with higher values for comp (at comp 9 I get about 90% CPU usage, comp 10 is too much for it) bitrate of 256 is also working.

https://www.gl-inet.com/products/gl-mt300n-v2/

Thanks @rafael2k for pointers!

GL-MT300N-V2 / Mango

Stylish mini travel WiFi router. This powerful mini router supports VPN services & easily slips into your pocket or backpack.

Even though the blog stated a "--bitrate 6.7" command line, and the output log exhibited "6kbit/sec", it was only with 6.1 that I was able to get #libopus 1.3.1 to generate a 1'448'253 album right under the 1'457'664 floppy limit. Here is a similar 34'985 bytes #OPUS track.