Video-Use Quality Ladder: Understanding Final, Preview, and Draft Modes

Video-use provides three distinct quality modes—final, preview, and draft—that trade encoding speed, resolution, and visual fidelity to optimize different stages of the video production workflow.

The browser-use/video-use repository implements a quality ladder in helpers/render.py that allows creators to select the appropriate rendering mode based on whether they are verifying edit boundaries, reviewing content, or delivering final assets.

Quality Ladder Modes in Video-Use

The extract_segment() function in helpers/render.py defines the quality ladder (documented in lines 66-70) that maps command-line flags to specific encoding parameters. Each mode targets a distinct phase of the editing process.

Final Mode (Production-Ready)

Final mode represents the default output quality. It renders at 1080p resolution using the libx264 codec with the fast preset and a CRF (Constant Rate Factor) of 20. This configuration prioritizes visual quality while maintaining reasonable file sizes, making it ideal for delivery to social platforms like TikTok, Instagram, and YouTube.

According to the source code, this mode performs the complete rendering pipeline including segment extraction, concatenation, overlay application, and two-pass loudness normalisation.

Preview Mode (Iterative Quality Control)

Preview mode accelerates the encoding process while retaining full-HD resolution. Activated with the --preview flag, it uses the libx264 medium preset at 1080p with a CRF of 22. The faster preset reduces encoding time compared to final mode, enabling rapid iteration during EDL (Edit Decision List) refinement.

This mode is optimal for quick QC checks where you need to verify timing and visual composition without waiting for the full two-pass loudness normalisation pipeline to complete.

Draft Mode (Cut-Point Verification)

Draft mode prioritizes speed over fidelity for rapid verification tasks. Triggered by the --draft flag, it renders at 720p resolution using the libx264 ultrafast preset with a CRF of 28. The pipeline generates a low-resolution intermediate (base_draft.mp4) intended solely for confirming that segment boundaries align correctly with the EDL ranges.

This mode shortcuts expensive processing steps, making it suitable for cut-point verification immediately after changing EDL range values.

Technical Implementation of the Quality Ladder

The argument parser in helpers/render.py (lines 75-88) connects command-line flags to the quality ladder parameters. When the script executes, it selects the appropriate ffmpeg preset and CRF value based on whether --preview or --draft flags are present.

The rendering pipeline first extracts each EDL segment using the chosen preset, then concatenates segments, applies optional overlays and subtitles, and finally runs two-pass loudness normalisation (unless disabled with --no-loudnorm). Draft mode specifically produces low-resolution intermediates that bypass the full post-processing chain. The helpers/grade.py module provides automatic color-grading presets when the EDL specifies grade: "auto", processing the output after the quality ladder selection.

When to Use Each Mode

Select your rendering mode based on the current stage of production:

  • Final delivery: Use default mode (no flag) for full-HD output with balanced compression. Suitable for platform delivery requiring the highest visual quality.
  • Rapid iteration: Use --preview during EDL editing to see full-HD results with faster encoding speeds.
  • Boundary verification: Use --draft when confirming that segment cuts align correctly after modifying EDL ranges. The 720p output renders quickly but lacks production quality.

Command-Line Examples

Execute these commands from the repository root to leverage the quality ladder:


# Full-quality final render (default settings)

python helpers/render.py my_edit.edl -o final.mp4

# Preview render for QC during editing

python helpers/render.py my_edit.edl -o preview.mp4 --preview

# Draft render for ultra-fast cut-point verification

python helpers/render.py my_edit.edl -o draft.mp4 --draft

# Draft mode with subtitles (still draft quality)

python helpers/render.py my_edit.edl -o draft_with_subs.mp4 --draft --build-subtitles

# Skip loudness normalisation for encoder benchmarking

python helpers/render.py my_edit.edl -o no_norm.mp4 --no-loudnorm

Summary

  • Video-use implements a three-tier quality ladder in helpers/render.py to optimize rendering workflows.
  • Final mode (default) provides 1080p output with fast preset and CRF 20 for production delivery.
  • Preview mode (--preview) offers 1080p with medium preset and CRF 22 for iterative editing.
  • Draft mode (--draft) generates 720p ultrafast output with CRF 28 specifically for verifying EDL cut points.
  • The pipeline automatically adjusts post-processing intensity, with draft mode creating low-resolution intermediates that skip expensive normalisation steps.

Frequently Asked Questions

What is the video-use quality ladder?

The video-use quality ladder is a tiered encoding system defined in helpers/render.py that provides three distinct rendering modes—final, preview, and draft. Each mode configures specific ffmpeg parameters including resolution, codec preset, and CRF values to balance encoding speed against visual fidelity for different production stages.

How do I render a quick preview in video-use?

To generate a quick preview, invoke the render script with the --preview flag: python helpers/render.py my_edit.edl -o preview.mp4 --preview. This produces 1080p output using the medium preset and CRF 22, encoding faster than final mode while maintaining full resolution for quality control checks.

What is the difference between preview and draft modes in video-use?

Preview mode renders at 1080p using the medium preset for iterative QC checks where visual detail matters, while draft mode renders at 720p using the ultrafast preset solely for rapid cut-point verification. Draft mode produces the base_draft.mp4 intermediate and minimizes post-processing, whereas preview mode maintains higher fidelity suitable for content review.

Which ffmpeg preset does video-use use for final renders?

Video-use utilizes the libx264 codec with the fast preset for final renders, combined with a CRF of 20 and 1080p resolution. This configuration, implemented in the extract_segment() logic, delivers production-ready quality while maintaining manageable file sizes for social media distribution.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →