Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Stream the CLI/MCP audio export instead of buffering whole files

Ouverte
#1,385 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

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

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de getopenscreen/openscreen

Toutes les issues de getopenscreen/openscreen

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.