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:
Then uses SOX for audio conversions:
And native Railo (the backend programming language I use) functions for image processing/resizing.
Hah! Really cool. I wrote a very similar script/program to do that for huge video files using tons of different case/switch methods that carve up mplayer2.
Really awesome project, BTW.
could you talk about why you chose Railo, which looks to be a fairly esoteric stack. Is it something you chose specifically for its media capabilities ?