Raive

Blog

Why Raive doesn't re-encode your video

Every reel used to be re-encoded. We scaled the footage to a portrait canvas, resampled it to 30fps, and pushed it through x264 — even when the reel was a single clip that already looked exactly right.

Two problems came from that, and they turned out to be the same problem.

It was slow

A 60-second reel spent about 145 seconds in the encoder on our render box. End to end, clicking Create to getting a file back took over three minutes. For a tool whose pitch is “faster than editing it yourself”, that’s most of the pitch gone.

It broke on upload

Re-encoding meant the file Amazon received was not the file you shot. Different codec settings, a forced frame rate, and black bars added to letterbox landscape footage into a vertical frame. Some of those uploads had playback trouble.

The fix was to stop

For a single clip there is nothing to composite — no crossfade, no second source. So now we copy the video stream untouched and mux the narration over it. Same codec, same resolution, same frame rate.

Measured on a real 55-second reel:

Before After
FFmpeg time ~30.8s 1.0s
Peak memory 341 MB ~13 MB
Landscape footage letterboxed to 9:16 left alone

Multi-clip reels are still encoded, because crossfading several clips genuinely does require one shared canvas. That’s a real reason. “We always did it this way” was not.

The general lesson: we were paying a large, recurring cost to normalise files that did not need normalising. The fastest code is the code that doesn’t run.