After a bit of research and some experimentation, I think I’ve found a reliable iTunes-less way to send ICYG (or potentially other audio streams) to the Airport Express. I encountered two problems finding a solution that involved a Windows command-line utility: almost none would read an MP3 or Vorbis HTTP stream, and the few I found that did didn’t support writing to stdout so that I could pipe them into Justeport.

I’d heard of mpg123 and the corresponding Vorbis utility ogg123, but I’d never used either. I found that the Cygwin utility set includes ogg123, so I started experimenting with its options to pipe out raw audio for Justeport to use. I hatched a Q8 Vorbis stream on ICYG and quickly got ogg123 to tune in. My first attempts to pipe to Justeport failed, but since I knew ogg123 was producing data, I figured it was probably a buffer overflow.

As I type this, I’ve had a successful ogg123/Justeport/Airport Express connection for about 45 minutes. Here’s the command line I’m using:

ogg123 -q -b 256 -d raw -f - http://<username&gt;:<password>@<servername>:<port>/<streamname> | justeport - <AE IP address> 0

The ogg123 options:

  • -q = quiet mode (no status messages)
  • -b 256 = 256kB input buffer. Without this, Justeport would disconnect after a few seconds. I assume its buffer was overrun and it gave up.
  • -d raw = output raw audio
  • -f – = output to stdout
  • The URL of the stream is normal HTTP syntax.

The Justeport options mean to grab input from stdin and talk to the Airport Express at the specified IP address with the volume set to unity gain (0 dB).

Thanks to DVD Jon for Justeport and the Cygwin team for including Ogg Vorbis tools in their distribution!