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.