rkuo
17th April 2014, 22:49
I'm working on open sourcing some transcoding infrastructure I've built leveraging Hadoop as the distributed computing piece. Just wanted to get a feel for the interest level around this?
Currently, it simply distributes files out of a queue to multiple machines ... one per machine. However, it wouldn't take much more work at this point to execute parallel chunked encodes or generate multiple streams from a single input file, etc ... given the right recipes. I mainly leverage Handbrake right now for encoding (aka I doubt my personal workflows that I've tested with are going to generalize that well), but I'm going for a plugin architecture here so that you could really plug in anything.
This wouldn't be intended as tan off the shelf solution for the average consumer. You'd have to be comfortable setting up a Hadoop cluster, which means you have to be technical and have more than a few computers running Linux. So this is more prosumer and/or enterprise class stuff.
The plus side to this is you get a lot of stuff for free from Hadoop, including automatic retries, a very basic web interface for monitoring jobs and tasks, reasonably smart handling of nodes appearing and disappearing, a very active open source community, etc. Stacking on workflow management and better UI's for monitoring task progress is not out of the question either. Distributed computing is a hard problem and building "on the shoulders of giants", so to speak, seems to be the right way to go about this.
Currently, it simply distributes files out of a queue to multiple machines ... one per machine. However, it wouldn't take much more work at this point to execute parallel chunked encodes or generate multiple streams from a single input file, etc ... given the right recipes. I mainly leverage Handbrake right now for encoding (aka I doubt my personal workflows that I've tested with are going to generalize that well), but I'm going for a plugin architecture here so that you could really plug in anything.
This wouldn't be intended as tan off the shelf solution for the average consumer. You'd have to be comfortable setting up a Hadoop cluster, which means you have to be technical and have more than a few computers running Linux. So this is more prosumer and/or enterprise class stuff.
The plus side to this is you get a lot of stuff for free from Hadoop, including automatic retries, a very basic web interface for monitoring jobs and tasks, reasonably smart handling of nodes appearing and disappearing, a very active open source community, etc. Stacking on workflow management and better UI's for monitoring task progress is not out of the question either. Distributed computing is a hard problem and building "on the shoulders of giants", so to speak, seems to be the right way to go about this.