Current

Early development Current is in early development. These docs describe the current build and will grow with the first public release.

05 / 07

Export

The MP4 export, its encoders and its fixed settings.

On this page

Current exports the root composition to an MP4 file with H.264 video and AAC audio.

Export from the workspace

  1. Choose Export in the title strip, or File > Export…. Export is disabled when the project has no clips.
  2. The Export composition dialog shows the project name, the size, 30 fps, SDR Rec. 709, the duration of the entire composition, and MP4 · H.264 · AAC 192 kb/s.
  3. Choose Canvas edges, Renderer and Video encoding (described below).
  4. Choose Choose destination… and enter a new file name.

The export runs as a separate job. It uses a snapshot of the project taken when it starts, so later edits do not change it. The job appears in the title strip. A failed export appears under Problems in Activity, with Export again….

What is fixed

These settings are not exposed and cannot be changed:

  • Container and codecs. MP4, H.264 video, AAC audio.
  • Range. The entire root composition. There is no in and out range, and no way to export a nested composition alone.
  • Frame rate. The composition rate, which is always 30 fps.
  • Size. The root composition size. There is no output scaling.
  • Colour. SDR, BT.709 primaries and transfer, limited range, 4:2:0 (yuv420p, or nv12 for Media Foundation).
  • Audio. AAC at 192 kb/s, 48 kHz, stereo.
  • Quality. No quality, bitrate or CRF setting is exposed. Each encoder uses fixed arguments:
Encoder Fixed quality arguments
libx264 (software) -preset fast -crf 18
h264_nvenc -preset p5 -rc vbr -cq 18 -b:v 0
h264_qsv -preset slow -global_quality 18
h264_amf -quality high_quality -rc hqvbr -qvbr_quality_level 18
h264_mf (Media Foundation) -hw_encoding 1 -rate_control quality -quality 90

Settings you can choose

Canvas edges (dimension policy):

  • Exact size (exact, default). The output matches the composition. H.264 here needs even dimensions, so an odd width or height is refused.
  • Pad to even pixels (pad_even). Adds one black pixel column or row at the right or bottom edge when needed.

Renderer:

  • Automatic (default). Uses the GPU renderer, with CPU as fallback, when the project has spatial content. Otherwise it uses the CPU renderer.
  • GPU or CPU. Uses only that renderer.

Video encoding:

  • Automatic (default). Probes NVENC, QSV and AMF in that order and uses the first that passes a short test encode, with software libx264 as fallback. If none passes, it uses libx264.
  • Hardware. Probes NVENC, QSV, AMF and then Media Foundation. If none passes, the export fails with hardware_encoder_unavailable.
  • Software. Uses libx264 only.

The export job records the encoder and renderer it actually used and any fallback reason.

Safety checks

  • Export never overwrites a file. An existing destination is refused, and the editor checks again just before it moves the finished file into place.
  • The path must end in .mp4.
  • Every source file must be present. A missing source must be relinked first.
  • Source files are fingerprinted before and after the export. If one changes during the export, the export fails. The same applies to fonts.
  • The encoder writes to a temporary .partial.mp4 file beside the destination. After encoding, the file is fully decoded as a check. Only then is it renamed to the chosen name.
  • The project, composition playback and export are limited to three hours.

Export through MCP

  • export_settings reports the container, codecs, size, frame rate, audio settings, the policies and their options, and the current revision. It takes no arguments.
  • export_start takes a new absolute MP4 path and a base_revision, and optionally encoder_policy, renderer_policy and dimension_policy. It needs Edit directly mode and the structure grant. If the project revision has changed, it fails with stale_revision.
  • export_job inspects the job. export_cancel cancels it.

Good to know

  • Hardware encoders are used when your machine supports them: each one must pass a short test encode first. In Automatic mode, software libx264 takes over when none passes.
  • Export is 8-bit 4:2:0 without dithering, so smooth gradients can show banding.
  • After H.264 compression, an exported file can look slightly different from the preview.
  • Not built yet: an export queue, presets, image sequences, audio-only export, an alpha channel, HDR and other codecs.