Repository navigation
Conversation
Export presets for every user, with no plugin (#177 sizes, #203): - Sizes 240p-2160p (an upscale is marked), shapes 9:16, 16:9, 1:1, 4:5 or custom (crop, blurred background or colour bars), quality Smallest / Balanced / High / Custom, H.264 or HEVC (AV1 and graphics cards only where this PC can encode them), frame rate, sound and a "Keep under N MB" target with a size check afterwards. - A size estimate before export. "Original" stays the default and is still a plain copy of the file. - Exports run on a new editor lane: one FFmpeg at a time at below-normal priority, with progress and cancel, so a long processing job no longer blocks an export. - WoopSocial can send a smaller copy of a clip over 100 MB (off by default). - Settings has an Export card. The Clip Editor shows progress, cancel and the result. - A forced video.encoder now reaches every encode and no longer flips the global choice. Plain auto-clipping is unchanged: argv snapshots and golden renders are identical. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… file bigger The black-box test of step 1 found two faults outside its scenarios: Keep under 5 MB gave a colourless, partly grey file reported as a success, and a generous limit made files bigger. The HEVC estimate was also 30-50% high. - A size limit's bitrate never goes below a measured watchable floor (700 kbps of H.264 at 1080x1920 60 fps, scaled for size, frame rate and codec). A limit that leaves less gives a file at the floor, marked over the limit as too small, and the Settings card warns beforehand. - A clip that may fit, or whose size can't be told beforehand, is made exactly as without the limit, checked, and made again only if it came out over; the smallest file made is kept. Only a clip whose size is known and whose whole estimate is over the limit is held to it from the start. - HEVC's estimate is measured for x265 (0.88-1.09x on 4 real clips). - A graphics card that fails while making a file again hands it to the CPU (H.264 and HEVC), as a failed first try does. - Export sizes start at 720p (the owner's call): 240p to 540p are gone, a custom size is 720 to 4096, and a saved smaller size loads as 720p. - UX: choices no longer jump or get undone, Enter keeps focus, tooltips sit on the controls, the progress row is announced once, the warnings take keyboard focus and are announced, and the result keeps its warning whole. - Every export sentence in the guide, the card, the API contract, ED5 and the changelog was checked against the code and reworded where a case broke it. No-limit FFmpeg arguments are unchanged (1,857,492 compared), and the plain pipeline's snapshots and golden renders are untouched. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
… Slower warning The owner kept the size-limit rule (a limit never makes a file bigger, so a clip near the limit can be made twice) and asked for it to be something people turn on knowingly: - Settings -> Export: "Keep files under a size limit" is a tick box, off by default (max_mb null). Ticking it shows the MB box under it, filled with the last limit used (remembered in the browser) or 100, and a "Slower" warning marker whose tooltip says why. The engine is unchanged. - WoopSocial's smaller-copy tooltip, its user-guide section and its changelog line say what it does with no caveats; the tooltip is on the tick box too, for keyboard and screen-reader users. - The user guide, changelog, API contract, state.json and STATUS.md record the decision. Checked: independent QC (CI-light suite: the same 27 local failures as main; snapshots, typecheck and build pass), and a UX check in the browser build (layout matches the owner's preview, keyboard, saved values, axe 0 in the card). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Step 1 of the editor suite (
docs/editor-suite/): export in other sizes, qualities and formats, and under a size limit if you want one, for everyone, with no plugin. Stacked on #218 (step 0): merge that first. This branch is then rebased ontomain.Closes #203. Refs #177, sizes only, so it isn't closed: the requester wants sharper 4K, and 1440p and 2160p here are made from the 1080p clip. Native 4K masters come in a later phase.
What's in it
server/editor_lane.py): Export and Export all run beside the processing queue, not behind it. They run at below-normal priority, one FFmpeg at a time, with progress, Cancel and the result (name, size, width × height).encoding.configure(config)runs once at startup, andencoder_for(codec, pref)serves exports. An export can no longer flip the global encoder, andvideo.encoderin settings.yaml now reaches every render. This is the only change to plain clipping, and only for someone who forces an encoder.docs/editor-suite/api/step1-export.md);state.jsonandSTATUS.md;How it was checked
state.jsonlists them.Size limits: the owner's decision
With a size limit, a clip that may fit is made as without the limit first, so a limit never makes a file bigger. One that comes out over is then made again (2-pass). On the processor, Keep under 100 MB at Balanced on a 150 s 1080p60 clip took 232 s, against 122 s in this step's first version, for the same file.
The owner kept that rule and made the limit something people turn on knowingly. It's a tick box, off by default, and when ticked, ⚠ Slower explains the cost (b40cb32).
Open (recorded in
STATUS.md)Found in existing code (not changed here)
🤖 Generated with Claude Code