Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Segmented capture always fails with `--format mov`

Aperta Adatta ai principianti
#6,481 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
78/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
typescript

Direzione di ricerca

Leggi packages/producer/src/services/render/stages/captureSegmentedStage.ts, concentrandoti su segmentOutputPath e sui suoi chiamanti. Riproduci il problema con il comando fornito usando --format mov, poi traccia il percorso del formato di output fino al percorso del segmento. Il lavoro è completato quando l’output MOV segmentato usa un contenitore di segmento compatibile e viene renderizzato correttamente; confrontalo con un rendering non segmentato, come descritto nell’issue.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Versions: 0.8.157, 0.8.166 and 0.8.179 (reproduced on Windows 11; the code path is platform-independent). Still present on main as of 2026-10-26 (packages/producer/src/services/render/stages/captureSegmentedStage.ts, segmentOutputPath), i.e. in 0.8.204.

Repro

HF_SEGMENTED_CAPTURE=true HF_SEGMENT_FRAMES=48 npx hyperframes render ./comp --format mov -o out.mov

Expected: ProRes 4444 segments concatenated into out.mov.
Actual: the first segment encode fails. The muxer rejects ProRes inside an .mp4 container.

Cause: segmentOutputPath(segmentDir, index) hardcodes the extension:

return join(segmentDir, `segment_${String(index).padStart(5, "0")}.mp4`);

shouldSegmentCapture accepts both mp4 and mov, but each segment is always written as .mp4.

Suggested fix: pass the output format into segmentOutputPath and use .${format}, with mov for ProRes/alpha. Our local patch reads the extension from an env var. With that patch, segmented mov renders are bit-identical to non-segmented ones (698/698 frames, PSNR = inf).

Why it matters beyond the env flag: shouldSegmentCapture routes by duration once HF_SEGMENTED_MIN_SECONDS is set, and the source comment plans to flip the default to 600 s (SEGMENTED_MIN_SECONDS_AFTER_SOAK). After that flip, every --format mov render of 10 min or more will fail by default.

Lingua principale
TypeScript
Stelle
54.1k
Fork
4.9k
Merge medio
15h 19m
PR unite (30g)
769

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di heygen-com/hyperframes

Tutte le issue di heygen-com/hyperframes

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.