1. A method for parallel rendering of multiple video processing jobs, the method comprising: receiving multiple video processing jobs, each video processing job comprising multiple video frames; segmenting each video processing job into sub jobs, each sub job comprising a pack of video frames selected from the multiple video frames; rendering the sub jobs by multiple sub job processors, thereby generating multiple segmented video products in parallel; encoding the multiple segmented video products by the multiple sub job processors; and aggregating the multiple segmented video products into a final video product, wherein said segmenting utilizes an optimization algorithm configured for: pre-processing the multiple video processing jobs for evaluating processing loads of a few frames in the multiple video frames; and packing frames from the multiple video frames into the packs of video frames based on the evaluated processing loads of the few frames, such that a processing load of at least a few sub jobs is proportional to a processing power of the sub job processors by which said a few subs job are rendered.