Abstract: A method including obtaining a first plurality of decode-independent segments corresponding to an original video bit-stream, re-encoding each one of the first plurality of decode-independent segments according to a quality criterion, giving rise to a second plurality of decode-independent segments; and generating an output video bitstream including a third plurality of decode-independent segments, wherein each segment in the third plurality of decode-independent segments is selected from either the first plurality of decode-independent segments or from the second plurality of decode-independent segments using a selection criterion that is related at least to a segment's bit-rate.