Skip to main content

Engineering

How we export a 57-second ad in about 93 seconds

Pyntra splits a long video export across up to 12 machines. Each renders one chunk of frames with its own sound, and the chunks join into one file. In our tests at 1080p High, a 57-second ad took 92.9 seconds on 8 machines and a 3:29 VSL took 114.1 seconds on 12. One machine would take about 11 minutes on the VSL, by our estimate.

Free to start, no card: enough for a short video and a few decks in your first 30 days. Updated .

The timings

Real footage, measured from worker start to stored file, in seconds. Add about 15 seconds from the click. These are single runs, and the timings haven't been repeated yet.

VideoQualityMachinesReadFramesMasterStoreTotalFile
57.5 s ad1080p High830.151.75.34.192.9128 MB
3:29 VSL1080p High1215.273.714.78.5114.1213 MB
57.4 s ad1080p Standard824.787.67.25.8127.695 MB

Reading the sources varied from 15 to 57 seconds across runs. The VSL's source was only about 8 Mb/s, so heavier footage will read for longer. We haven't timed split rendering at 1440p or 4K.

Why rendering is slow in the first place

Pyntra's videos are compositions: graphics, captions and camera moves are played from the frame number, and each frame is drawn in a browser before encoding. That's what makes preview and export match, and it's also a CPU's worth of work per frame. One machine rendered our 57-second ad in 239 seconds, which is too long to wait.

It took three tries

  1. Try 1: 651 seconds, slower than one machine

    The worker waited on each helper's exit code, which the platform never reported. A finished helper looked stuck, so it sat there until it timed out.

  2. Try 2: 299 seconds

    The picture was fast, but sound was made in a separate pass that walked through every frame again. The progress bar held at 73% while it did.

  3. Try 3: 128, then 93 seconds

    The stored chunk became the proof that a helper had finished, and each chunk made its own sound. Later runs brought the ad under 100 seconds at 1080p High.

What makes a split export safe

  • Joins are checked against a whole render: 360 of 360 frames matched in our test, with the worst at 51.6 dB at the join, and the sound was sample-identical.
  • A helper that fails costs time, not the export: the work goes back to be done again.
  • Versions under 12 seconds don't split. At 1080p, Pyntra uses about one machine per 8 seconds of video, up to 12.
  • Identical exports reuse the stored file, and sources far bigger than needed render from a smaller copy.
  • Each finished file is checked for its delivery settings before it's stored.

What it costs you

Nothing: exports are free in Pyntra. A split export uses more machine time than a single machine, and that's our cost to carry. We set quality ceilings so files stay a sensible size, and we quote the ceiling so the estimate is honest: a 57-second ad quoted 83 MB and came out at 90 MB.

Questions

Why does exporting a video take so long?

A video with graphics and captions has each frame drawn before it's encoded, which is heavy work. In Pyntra one machine draws about 8 frames a second, so splitting the frames across machines is the main way to shorten it.

Does Pyntra charge for exports?

No. Exports are free. Pro is $29 a month, and the pricing page lists what uses your plan.

See what Pyntra cuts from your footage.

Upload your clips, write a brief and review the first pass.