1. A method comprising: determining, by a computing device, a job to dispatch for transcoding a source file, wherein the source file is stored on a node in a distributed file system in which a plurality of nodes are storing a plurality of source files, and wherein the plurality of source files need to be transcoded; determining, by the computing device, location information for the source file in the distributed file system, the location information identifying a first node in which the source file is stored and a second node where the source file is not stored; evaluating, by the computing device, whether to dispatch the job to the first node or the second node based on one or more factors associated with the first node and the second node, the one or more factors being weighted to determine which of the first node or the second node to assign the job; and dispatching, by the computing device, the job to the first node or the second node based on the evaluation, wherein when the second node is dispatched the job, the source file is transferred from the first node to the second node for transcoding, and when the first node is dispatched the job, the source file stored on the first node is transcoded.