Right now there's a cron that runs every few seconds, finds the next unprocessed file, and processes it via command line. If/when volume gets really high, I'll probably have to do this somewhat differently to make sure it scales.
DistroKid uses MediaInfo to figure out what the user uploaded:
http://mediaarea.net/en/MediaInfo
Then uses SOX for audio conversions:
And native Railo (the backend programming language I use) functions for image processing/resizing.