1. A method comprising the steps of: identifying a plurality of input data streams from a plurality of data sources, said input data streams being in a plurality of different formats; and selecting, for each of said input data streams, one of a plurality of transcoders, to obtain a transcoding plan, each of said plurality of transcoders having an associated transcoding cost, a potential output for each of said plurality of transcoders having an associated storage cost, said selecting comprising jointly reducing an overall cost, subject to constraints, wherein said overall cost comprises said associated transcoding cost and said associated storage cost.