[x264-devel] Optimized multiple rendition encoding

BugMaster BugMaster at narod.ru
Fri Nov 11 22:44:14 CET 2016


On Fri, 11 Nov 2016 21:23:39 +0000, Eran Kornblau wrote:
> Hi all,
>
> (I apologize if this has been asked before, tried to google about it and found nothing…)
>
> My question is – is it possible to encode several different
> renditions of the same video so that the knowledge 
>  gained while encoding one rendition will be used to boost the
> encoding time of another rendition?
> For example, first encode a 4mpbs/1080p rendition, then encode a
> 2.5mbps/720p rendition faster thanks
>  to the work performed on the first rendition.
>
> From my limited knowledge on the subject, as I understand, the
> calculation of the motion vectors is the most 
>  computationally intensive part of the encoding. And the motion
> vectors are probably the same for different 
>  bitrates of the same resolution. So it should (at least in theory)
> be possible to reuse them to generate different
>  bitrates more efficiently.
> For different resolutions, it may be possible to scale the motion
> vectors, though I’m not sure that would 
>  provide adequate results.
>
> Any info you can share on this will be appreciated
>
> Thank you!
>
> Eran

Hi. If you use 2-pass encoding than you can use same 1-st pass
stats-file from one of the target bitrates to speed up encoding of
other bitrates. My guess would be better to go from high to low
bitrates. So make `--pass 1` with highest bitrate and then `--pass 2`
for all bitrates. Or use `--pass 3` instead of `--pass 2` to update
stats-file and go lower and lower.
And no, encodes at different bitrate use different MVs so they can't
be reused directly (may be as predictors but this still will nead ME
and I am dunno if it would be faster).



More information about the x264-devel mailing list