Fix: FFmpeg Worker Crashes#1194
Open
mrdeyroy wants to merge 3 commits into
Open
Conversation
…each#1184) Fixes the bug where VideoPreview and ComparisonPreview incorrectly cropped videos due to misaligned overlay calculations. Replaced the manual math overlay with a dynamic CSS output frame using object-fit to accurately mirror the FFmpeg export behavior.
) - Constrain WASM thread limit via '-threads 2' to prevent runaway libx264 memory allocations. - Mitigate '99% Trap' by aggressively cleaning up input buffers from MEMFS prior to the memory-intensive final output read. - Increase max muxing queue size to prevent buffer overflow. - Exclude 'out' directory from tsconfig to fix stray Next.js build errors.
|
@mrdeyroy is attempting to deploy a commit to the magic-peach1's projects Team on Vercel. A member of the Team first needs to authorize it. |
Contributor
✅ PR Format Check Passed — @mrdeyroyBasic format checks passed. A maintainer will review your code changes. This does not mean the PR is approved — it just means the format is correct. |
Contributor
👋 Thanks for your PR, @mrdeyroy!Welcome to Reframe — a browser-based video editor built for everyone 🎬
What happens next
Quick checklist
Useful links
Happy coding! 🎉 |
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.
Fixes #1190
Description
Resolved an issue where
ffmpeg.wasmwould routinely exhaust browser WebAssembly memory limits (OOM) and crash the web worker when exporting longer duration videos.Implemented massive memory optimizations:
MEMFSto zero-copy streaming viaWORKERFS. By passing raw HTML5Fileobjects directly to the Web Worker and mounting them withWORKERFS, FFmpeg now streams inputs natively from disk, saving hundreds of megabytes of RAM.-threads 2) to restrict runwaylibx264buffer allocations.max_muxing_queue_sizeto prevent buffer overflows during complex filter pipelines.outdirectory fromtsconfig.jsonto prevent static export compile errors.Testing & Verification
npm run buildcompleted perfectly.Type of Contribution
Checklist
bun run lintpasses (no ESLint errors)bunx tsc --noEmitpasses (no TypeScript errors)console.logstatements left in