Skip to content
DocsExport checks
Docs / Export and share / Export checks and troubleshooting

Export checks and troubleshooting

Every video export checks its clips before rendering, works around a clip that won't decode, and validates the finished MP4 before it is marked ready. When something still fails, DemoTake tells you which scene, at what time, and why.

AutomaticDemoTake Agent and Studio

A video that looks finished but won't play is worse than an export that fails loudly. So DemoTake checks its own work. Every video export (16:9, 9:16, 4:3, 1:1 and the Reviewer Pack video) runs the same four steps, and a job only shows as ready after the last one passes.

  1. Check every clipfirst, middle, last frame
  2. Compatible copyonly if a clip won't decode
  3. Render
  4. Check the finished videoopens, length, size, frames
  5. Ready
What the Exports list shows while this runs is Checking every clip…, then a progress bar, then Checking the finished video….

1. Check every clip

Before rendering, DemoTake decodes sample frames from every clip the cut uses: the first, middle and last frame of each stretch of recording that ends up in the video. It reads each one the way the render will, from the nearest keyframe, so a damaged frame shows up now rather than halfway through a long export. This preflight is read-only. It never changes the take.

2. A compatible copy, when a clip won't decode

If a clip can't be decoded, DemoTake makes a compatible H.264 copy of that one clip and reads from the copy instead. The row says A clip couldn't be read, so DemoTake is preparing a compatible copy… while it works, and the copy is checked again before rendering. The same happens if a frame fails in the middle of the render: DemoTake copies that clip and renders again from the same plan.

Your recording is never modified. Copies live in DemoTake's cache, not in the take, are reused on the next export, and are cleared after a week without use. When an export used one, the finished row says so:

"Sign in" was read from a compatible copy because the original couldn't be read. The recording wasn't changed.

In the rare case that some frames can't be read even for the copy, the copy holds the last good frame over the gap. Copy Details on that row lists how many seconds were held.

3. Check the finished video

When the render is done, DemoTake opens the MP4 and checks that:

  • it opens and has a video track;
  • its length matches the edit, within one frame;
  • its size matches the format, for example 1080 × 1920 for 9:16;
  • its first, middle and last frames decode.

If any check fails, DemoTake deletes the file and marks the export failed, rather than leaving a broken video in your library. GIFs, screenshots and guides are image outputs and skip this step.

File size

With Keep under a size on in the Export sheet's Video file section, DemoTake also compares the finished file with the size you asked for. If it came out too big, DemoTake encodes it again at a lower bitrate. A file that is still over the size after that is kept, and the export completes with a warning on its row, such as "48.3 MB · Upload-friendly · over the 45 MB target".

For a take set up for a TikTok review, each finished row also says whether the file fits TikTok's limit (MP4 or MOV, at most 50 MB), for example "Fits TikTok (at most 50 MB)", or "Too large for TikTok" with what to do. See Formats and sizes.

When an export fails

A failed row says in plain words what happened, names the scene by its number and title, and gives the time in the finished video. The technical detail stays out of the way behind Copy Details.

Export
Exports
  • 16:9 · 2 minutes agoFailed

Scene 3 “Calendar selection” couldn’t be read at 0:42. DemoTake tried a compatible copy and that failed too.

Copy Details
  • 9:16 · 2 minutes agoShow in Finder · Open

“Sign in” was read from a compatible copy because the original couldn’t be read. The recording wasn’t changed.

A failed export names the scene and the time. A finished one says when it used a compatible copy.

Copy Details puts a full report on the clipboard, ready for a bug report:

Copy Details
Export exp_5d0c · 16:9 · take take_8f2c · failed
DemoTake export diagnosis
Stage: render
Problem: decode
Scene: Scene 3 “Calendar selection” (scn_41b7)
Clip: media/seg_9a2e.mov (seg_9a2e)
Codec: HEVC (hvc1), 2880×1800
Source time: 12.417 s into the scene's recording
Output time: 0:42 (42.350 s)
Error: AVFoundationErrorDomain -11821 — Cannot Decode
Compatible copy: tried — failed: the compatible copy failed to decode while rendering

The report names the stage (preflight, render, compatible copy or final check), the kind of problem, the scene and clip, the clip's codec and pixel size, the time in the recording and in the output, and the system error domain and code.

Troubleshooting failed exports

The row says What to do
Scene … couldn't be read at … Export again. If the same scene fails every time, retake that scene. The other scenes keep their footage and edits.
There isn't enough free disk space to finish this export. Free up space on your Mac and export again. Exports are written into your library at ~/Movies/DemoTake.
The recording for Scene … is missing from the take The scene's recording file is no longer in the take package, for example after files were moved by hand. Put it back, or retake the scene.
The finished video didn't pass DemoTake's final check (…) The brackets say which check failed. Export again, and use Copy Details if it keeps happening.
The export stopped in Scene … at … Export again. If it repeats, send the Copy Details text to support@demotake.my.
This export stopped before it finished. The export was made by an earlier version that kept less detail. Export again for a full report.
over the … MB target or Too large for … Lower the size in Keep under a size, or choose Upload-friendly quality, and export again. A shorter cut also helps.

Two more situations look like export problems but aren't:

  • Black frames in the video. The preflight reports frames that decode but are almost entirely black. That means the recording itself shows nothing there, often because the window wasn't drawing. DemoTake cuts blank stretches from the edit automatically; see Footage review and Choosing a window.
  • The Export sheet asks you to activate. After the free trial ends, exporting needs a license. Your takes and edits are untouched.

Checks from your agent

Agents get the same checks, and the same diagnosis, as structured data:

  • export_preflight runs the clip check on its own, without exporting. It returns one result per clip: scene, clip file, codec, the ranges used, the frames sampled and, for a failing clip, a diagnosis.
  • export_validate checks a finished video by job id or by path.
  • export_status reports a job. A failed job carries diagnosis; a finished one lists fallbacks (clips read from a compatible copy), its validation and its file size, with over_limit when it is over max_mb.
export_status (excerpt)
{
  "job_id": "exp_5d0c",
  "format": "16:9",
  "status": "failed",
  "error": "Scene 3 “Calendar selection” couldn’t be read at 0:42. DemoTake tried a compatible copy and that failed too.",
  "diagnosis": {
    "stage": "render",
    "kind": "decode",
    "scene_number": 3,
    "scene_title": "Calendar selection",
    "clip_file": "media/seg_9a2e.mov",
    "source_time": 12.417,
    "output_time": 42.35,
    "codec": "HEVC (hvc1)",
    "error_domain": "AVFoundationErrorDomain",
    "error_code": -11821,
    "fallback_attempted": true,
    "details": "DemoTake export diagnosis\nStage: render\n…"
  }
}

export_render runs the whole pipeline, so an agent that waits for its render gets a checked video or a diagnosis, never a silent failure.

Next

Was this page helpful?