Stream the CLI/MCP audio export instead of buffering whole files
Les mainteneurs répondent en général sous 1 jour
@auberginewly y travaille déjà.
Depuis le 28/10/2026.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 35/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- Active
- Stack technique
- electron, typescript
- Domaine
- cli, desktop, performance
Piste de recherche
Start with src/cli/CliExportRunner.tsx and follow exportAudio and the MP4 voiceover mix through writeExportToPath and the existing render path. Then trace the render source and IPC write APIs to determine how chunked reads and streamed writes fit together. Done means audio exports avoid holding the full rendered video and audio buffers in the renderer; the issue proposes streamed IPC or main-process WAV writing as possible approaches.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Follow-up from #1383 (review comment on src/cli/CliExportRunner.tsx).
The CLI/MCP audio export (exportAudio, openscreen export -o out.wav|out.m4a) and the MP4 voiceover mix both hold whole files in memory in the renderer: the rendered MP4 is fetched back as a Blob, the audio is extracted into an ArrayBuffer, and the result goes through writeExportToPath as one buffer over IPC. For a long project that means the full MP4 plus the full WAV live in the renderer at once, which can exhaust memory.
Proposal: stream instead of buffering. Read the render from disk in chunks (mediabunny StreamSource or a file-handle source), write the extracted audio through a streamed target, and add a write-stream IPC (open / append / close) rather than a single-buffer write. A WAV could also be written by the main process directly.
Out of scope for #1383, which keeps the existing buffer-based path the MP4 export already uses.
🤖 Generated with Claude Code
- Langage dominant
- TypeScript
- Étoiles
- 3.7k
- Forks
- 231
- Merge moyen
- 15 h 10 min
- PR mergées (30 j)
- 324
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de getopenscreen/openscreen
-
Native review wanted: machine-translated recording bar tooltips (14 locales)Peut-être à nouveau libre @auberginewly l’a pris il y a 22 jours, et aucune pull request n’est ouverte. Ouvertegood first issue help wanted
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
getopenscreen/openscreen#913 · 5 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
[Bug]: Windows update click opens the full NSIS wizard instead of a UAC promptPeut-être pris @EtienneLescot l’a pris aujourd’hui. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 30/100
getopenscreen/openscreen#1437 ·
Les mainteneurs répondent en général sous 1 jour
-
[Feature]: Cursor size px unitOuverteenhancement
Difficulté 3/5 1-2 jours Accessibilité débutants 45/100
getopenscreen/openscreen#1436 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
getopenscreen/openscreen#1435 ·
Les mainteneurs répondent en général sous 1 jour
-
QA: e2e pass on v2.2.0-rc.1 (macOS, Windows)Peut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 55/100
getopenscreen/openscreen#1431 · 4 commentaires ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de getopenscreen/openscreen
Issues similaires
-
area:cli bug P4
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour
-
bug from-studio
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
esengine/DeepSeek-Reasonix#14868 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
linxiv-dev/linXiv#384 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
factory-active task-identify-harness-labels-done task-identify-issue-type-done
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
vercel/ai#24302 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour