feat: Phase 4 — replace @remotion/bundler + @remotion/renderer with Puppeteer + FFmpeg

- Created src/engine/renderer/puppeteerRenderer.ts (frame capture via headless Chrome)
- Created src/engine/renderer/videoEncoder.ts (FFmpeg CLI wrapper for MP4/WebM)
- Created src/pages/RenderPage.tsx (headless render page with __BRADLY_RENDER__ API)
- Rewrote src/server/renderQueue.ts — zero Remotion imports
- Deleted scripts/bundle-remotion.js
- Replaced @remotion/bundler + @remotion/renderer with puppeteer-core
- Added renderMode detection in main.tsx entry point

Zero Remotion dependencies remain. Fully independent.
This commit is contained in:
2026-06-02 05:33:17 -05:00
parent 3e3e23b6b7
commit 551bff56a2
9 changed files with 1166 additions and 1652 deletions
+1 -3
View File
@@ -15,7 +15,6 @@
"preview": "vite preview",
"clean": "rm -rf dist out server.js",
"lint": "tsc --noEmit",
"remotion:bundle": "echo 'Remotion bundle step removed — using Bradly Engine'",
"package": "npm run build && electron-forge package",
"make": "npm run build && electron-forge make"
},
@@ -23,8 +22,7 @@
"@dnd-kit/core": "^6.3.1",
"@dnd-kit/utilities": "^3.2.2",
"@google/genai": "^2.4.0",
"@remotion/bundler": "^4.0.468",
"@remotion/renderer": "^4.0.468",
"puppeteer-core": "^24.9.0",
"@tailwindcss/vite": "^4.1.14",
"@vitejs/plugin-react": "^5.0.4",
"dotenv": "^17.2.3",