Measure the file and the required delivery size
When a file will not upload, establish whether the restriction concerns bytes, duration, format or dimensions. For uploaded playback that becomes blurry, use blurred-export diagnosis. A 1080p filename establishes neither size nor clarity.
Record bytes, actual duration, codec, dimensions and the adopted audio track. MB and MiB differ. This example selects a 40MiB limit—41,943,040 bytes—not a current platform rule.
Size relates to total average bitrate and duration, including audio and container overhead. A two-minute file capped at 40MiB allows roughly 2.80Mbps overall. That estimate is neither the full video budget nor a CRF value. Motion, texture and noise affect quality-based encoding, so another source at the same CRF need not have the same size.
Check that the chosen path actually re-encodes
The cited video-assemble version uses x264 with OUTPUT_CRF, OUTPUT_PRESET, OUTPUT_MAX_HEIGHT and FORCE_VIDEO_REENCODE. In that order:
| Setting | What it changes |
|---|---|
| CRF | Defaults to 18. Increasing it generally reduces size and increases loss; it specifies no exact MB. |
| Preset | Defaults to veryfast. It trades encoding speed against compression without changing duration. |
| Height | Defaults to 0 with no added scaling. Positive values cap height proportionally, without restoring low-resolution detail. |
| Encode | Explicitly enables re-encoding when required. Stream copying does not apply a new CRF. |
FFmpeg’s libx264 documentation describes CRF as a quality mode and preset as an encoding preset. The environment variables belong to this repository, not every editor.
Burning subtitles, visual processing and scaling can also trigger encoding. Do not burn an extra copy over captions already in the master. Reducing bytes need not rewrite narration, change cuts, replace music or alter frame rate. Declare how adopted audio stays intact; new encoding settings do not automatically freeze a mix.
Compression example: a smaller tutorial with a readable bottom tab
An original paper-box tutorial lasts 120 seconds with a clear 1920×1080 master and a hypothetical 90MiB export. It shows unfolding creases, closing walls, fastening the bottom tab and placing an object inside. Captions are already burned in; the complete AAC soundtrack is adopted, with no new narration or music. The author selects a 40MiB delivery limit. No real file or compression result exists here.
First confirm master, bytes, duration and track. Revise the plan if actual inputs differ. Use a new working directory and output while keeping the old version. Copying the adopted AAC from the input video requires the adopted-packet-copy codec and interval conditions plus an explicit audio ordinal. Resolve incompatible audio separately instead of silently producing a new mix.
First candidate: Keep 1080 height and all 120 seconds; try OUTPUT_CRF=23, OUTPUT_PRESET=medium, OUTPUT_MAX_HEIGHT=0 and FORCE_VIDEO_REENCODE=1. These are trial values, not guarantees. Retain the master’s burned captions without burning another set. Copy the adopted AAC without repeating loudness processing.
After rendering, measure bytes and review at normal speed: readable creases, actual tab fastening and an object held by the completed box. Hear explanation, paper sounds and ending; inspect caption shapes and the action area. Reject an unreadable tab even if the file meets the limit.
If still oversized but readable, try one further change from the same clear master, such as a slower preset, preserving other decisions. Measure rather than promising a fixed saving. A separate 720-height candidate needs fresh checks of text and tab detail; dimensions alone cannot establish legibility. Start each trial from the master instead of repeatedly compressing the previous small file.
Record an adoptable candidate only when actual bytes meet the cap, content remains readable and sound is correct. Otherwise keep the incomplete result visible and adjust within the author’s permitted scope. No CRF guarantees every two-minute source becomes exactly 40MiB.
Give AI a bounded compression request
Give the assembly operator this brief:
Use the clear master and adopted AAC. Keep duration, cuts, caption content, action order and sound. This delivery limit is 40MiB. Confirm whether video will re-encode, propose one parameter trial and return an independent candidate with actual bytes. Review the bottom tab, captions and full audio. Do not regenerate TTS, delete essential steps to fit or equate rendering with viewing approval.
This is an author’s brief, not an automatic parameter optimizer. video-assemble’s settings and records support candidate production; verify actual bytes and legibility. Renaming an extension does not recompress, and relocating the file header for playback startup does not establish a target size.
For an adopted soundtrack from another file, follow pairing picture with retained audio instead of assuming the current picture’s sound is the requested track.
FAQ
Does CRF 23 guarantee the requested size?
No. It controls the quality tradeoff in this x264 path; source and duration still affect size. Re-encode, measure actual bytes and check legibility.
Does no new narration mean audio stays unchanged?
No. A processed mix differs from copying an adopted AAC stream. Declare the track and preservation conditions, then inspect processing and hear it fully.
Do it with the skill
Give the video-assemble operator the master, delivery cap, critical details and adopted audio. Check the actual encoding path, then measure and review an independent candidate; assembly does not decide compression satisfaction automatically.
Read the method: Actual CRF, preset and height controls · Video re-encoding, copying and output audio · Adopted AAC copying conditions