Sunday, October 28, 2007

Geekin' Hard!

Some geeks like showing off their geek pr0n. Some like showing off network diagrams of their home setup. Me, I like function diagrams. Below is a depiction of what I've been playing with in the past year.
At some point, I've tested each part. Most of it is still connected and available on demand (from inside the network). About the only part that I've disabled is the IDJC piece (it generated too many audio "artifacts").
The parts in red are record functions. The piece in green is Asterisk passing CallerID info to SageTV. The rectangles are hardware. The circles are not.
Pieces that play MP3 files from the library:
  • Asterisk
  • Icecast
  • IDJC
  • Liquidsoap
  • SageTV
  • Slimserver
Pieces that accept input from Icecast/Shoutcast streams:
  • Asterisk
  • Cidero
  • Icecast (via relay)
  • Liquidsoap
  • MediaMVP
  • MPD
  • Slimserver
Pieces that output Icecast/Shoutcast streams:
  • Asterisk
  • Icecast
  • IDJC
  • Liquidsoap
  • MPD
  • Slimserver
Web interfaces include:
  • Asterisk
  • Icecast
  • Liquidsoap
  • MPD
  • SageTV
  • Slimserver
  • TiVO
Asterisk, Icecast, Liquidsoap, and Slimserver are the audio powerhouses here, being able to both accept and generate network streams. Because they have inputs and outputs which are accepted "standards", they can be connected in just about any manner.
For video, my favorite is SageTV. It records scheduled and timed video, has a "hackable" web interface, allows all sorts of plugins for additional features, and can stream to hardware and software clients in the local network. It generates RSS feeds for recent recordings and the upcoming recording schedule. For those that aren't familiar with SageTV, think MythTV with a lot more polish and a lot less set-up work.
Note: this is all Linux-based but there are Windows versions of just about all of the programs. The amazing part is that I rarely see my dual core system get below 95% idle.
Wishlist (things I want to experiment with in the next year): X-10 interface, home automation, some sort of podcatcher, IAX to a friend's Asterisk box, a hardware-based phone, motion detection with cameras, hosting and/or recording a live conference call, amateur radio.


Disclaimer: I do nothing illegal with this set up, though the capability is definitely there. Diagram courtesy of GraphViz's dot program.