YouTube moov atom and edit lists: keyframe trim vs exact trim

YouTube asks for MP4 with moov first and no edit lists. Sume's keyframe trim is a stream copy; exact re-encodes. The docs do not state moov placement.

4 min readSume
All posts

YouTube's upload page asks for MP4 with no edit lists and the moov atom at the front (Fast Start). Sume's trim docs do not say where the moov atom lands or whether edit lists are written, so they cannot confirm either. What they do say is that exact is a frame-accurate re-encode and keyframe is a stream copy, which is the safer starting point if you want a clean, freshly written file for upload.

Read 2026-10-01: YouTube Help and Sume's video trim docs.

What does YouTube say about edit lists and moov?

Two lines in the container section: no edit lists, or the video might not get processed correctly; and a moov atom at the front of the file. Both are about how the MP4 is laid out, not about codecs.

How do the two trim modes differ?

A stream copy keeps the source's packets, so what the source had stays. With keyframe, re-base times against actual_start_seconds in the result, since the cut may start earlier than asked.

Trim precision modes from the Sume docs, read 2026-10-01.
ModeWhat the docs say`output` conform
exact (default)Frame-accurate re-encode (libx264, yuv420p)Allowed
keyframeStream copy; the cut may start a GOP earlyRefused with video_trim_output_requires_exact

Which mode should a YouTube-bound clip use?

Use exact, which is the default. It writes a new file, and it is the only mode that accepts an output size or frame rate. That is a reasoned choice, not a guarantee: the page documents no moov or edit-list behavior either way.

If a fresh upload fails to process, check the file's layout with your own tooling; the background on Fast Start is in MP4 faststart and the moov atom.

Can I ask Sume to set moov or strip edit lists?

No such field exists on the trim page. Fields like codec, crf or ffmpeg are rejected with ffmpeg_fields_rejected, since the server compiles ffmpeg and callers do not send flags.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume