Two-pass encoding runs the encoder over the video twice. The first pass analyses the footage and writes a log of how demanding each section is; the second pass encodes for real, using that log to distribute a fixed total bitrate — more to the complex scenes, less to the simple ones.
Its purpose is accuracy under a constraint. If you must produce a file of approximately a known size, single-pass encoding has to guess at the rate control as it goes and will overshoot or undershoot. Two-pass knows the shape of the whole video before committing, so the result lands close to the target and the bits go where they matter.
The trade-offs are simple:
- It takes roughly twice as long. The first pass is cheaper than the second, so call it 1.5x to 2x in practice.
- It cannot be streamed. You need the whole file before you start.
- It buys nothing when size is not fixed. If what you want is a quality level, CRF already distributes bits optimally in a single pass, and two-pass at the same average bitrate will generally look worse than CRF at the same size.
Which is the whole decision: fixed size, use two-pass. Fixed quality, use CRF. A target-size compressor is doing something of this kind on your behalf, which is why it can promise 19 MB and deliver 18.6 rather than 24.