Compose music videos with timed typography and generated footage in one edit
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- javascript
- Ambito
- audio-video-rtc, backend, frontend
Direzione di ricerca
Start by reading server/services/musicVideo/render.js and tracing the existing plain concatenation path into server/services/htmlComposition/{index,browser,encode}.js and server/services/videoTimeline/local.js; then inspect the music-video schemas, stores, and page components. Done means a synthetic 30-second composed sequence, playable sample, contact sheet, resumable review flow, and selective revision meet the stated timing, audio, safe-area, persistence, and lifecycle criteria without weakening execution boundaries.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem and evidence
The music-video final renderer concatenates clips over one master song (server/services/musicVideo/render.js:buildMusicVideoFfmpegArgs). PortOS separately has deterministic HTML composition (server/services/htmlComposition/index.js, portosComposition.seek) and video timeline overlay/mix support (server/services/videoTimeline/local.js). Music Video does not expose a unified lyric/motion-graphics composition built from these existing primitives.
Chosen implementation
Add an optional composition pass to Music Video that takes selected scene footage/stills, editable timed text cues and the master track as a versioned edit manifest. Reuse the existing HTML composition renderer for deterministic typography, image motion, diagrams and transitions. Initially provide explicit text cues and a small set of editable motion templates, so this task is independent of automatic lyric alignment. Keep generated footage as a selectable layer and allow entirely code-rendered sections. Preserve the song as the sole default audio master; optional sound-design beds must be explicit and use existing mixing boundaries.
Add a draft/review loop: render a selected excerpt, produce a contact sheet at cue/cut boundaries, store timecoded review notes, and regenerate only rejected sections. Automatic review/retries, when enabled by an explicit production request, must have user-set limits on spend/attempts and resumable checkpoints. Review selected frames plus the continuous excerpt; frame checks alone cannot validate motion/audio sync. Preserve the existing plain concatenation mode.
Affected: server/services/musicVideo/render.js, server/services/htmlComposition/{index,browser,encode}.js, server/services/videoTimeline/local.js, music-video project schemas/stores and page/components. Do not weaken composition execution/network boundaries. #8959 is optional renderer motion-blur work, not a prerequisite or duplicate.
Acceptance criteria
- A synthetic 30-second sequence combines footage, animated text and an image-only section on one timebase, with no audio reset at cuts.
- Seeking/rendering the same time yields equivalent composition state; text stays within safe areas at 16:9 and 9:16 and is legible in rendered output.
- Output covers the chosen edit duration within one frame, has no unplanned gaps/repeats and uses an explicitly chosen poster frame.
- Draft resume/cancel and selective revision preserve approved sections and do not re-submit paid generation after a rendering retry.
- Persist an actual playable sample, contact sheet and timecoded review findings. Automated contract tests do not establish parity with the reference's artistic quality.
Dispatch: heavy for shared rendering/timebase integration; high for deterministic media composition and lifecycle verification.
Research basis
Research requested against https://x.com/anabology/status/2103534482930491441 (2026-09-27). The creator reports Opus 5.5, Midjourney and a moodboard, with a 12-hour run; https://x.com/anabology/status/2103575746119614715 confirms browser use for Midjourney. The linked directing prompt is https://x.com/donaldjewkes/status/2102801469976248500. Its requested techniques are evidence of the brief, not proof that every technique was used in anabology's result. The exact five-minute video's music provider remains unverified.
Preserve PortOS's explicit user-triggered generation policy, private deployment, machine-local credentials/settings, db-primary persistence, cross-version compatibility, and existing socket/media-job lifecycle. No live user data belongs in fixtures or issue evidence.
Decomposed into
- #8984 — Timed typography layer over the footage render (composed mode)
- #8985 — Image-only and code-rendered sections on the composition timebase
- #8986 — Draft excerpt render with cue/cut contact sheet and timecoded review notes
- #8987 — Selective section revision with resumable drafts and no paid resubmission
- #8988 — Opt-in automatic review/retries with spend limits and explicit sound-design bed
- Lingua principale
- JavaScript
- Stelle
- 38
- Fork
- 32
- Merge medio
- 24m
- PR unite (30g)
- 993
Preparare l'ambiente
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di atomantic/PortOS
-
area:media area:ui effort:high model:heavy plan planner:gpt-6-1-sol
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
I maintainer di solito rispondono entro 1 giorno
-
area:media area:ui blocked effort:xhigh model:heavy plan planner:gpt-6-1-sol
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
I maintainer di solito rispondono entro 1 giorno
-
area:media area:ui blocked effort:high model:heavy plan planner:gpt-6-1-sol
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
I maintainer di solito rispondono entro 1 giorno
-
area:media area:ui effort:high model:heavy plan planner:gpt-6-1-sol
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
I maintainer di solito rispondono entro 1 giorno
-
area:media area:ui blocked effort:xhigh model:heavy plan planner:gpt-6-1-sol
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di atomantic/PortOS
Issue simili
-
新讀者走讀回報,照著一篇文章實際操作Apertadocumentation good first issue help wanted
Difficoltà 1/5 1-3 ore Idoneità per principianti 92/100
I maintainer di solito rispondono entro 1 giorno
-
automated issue report
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
lirantal/discoprint#29 ·
I maintainer di solito rispondono entro 1 giorno
-
RSS feed autodiscoveryApertafeature-request
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
louislam/uptime-kuma#7914 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Code Cleanup dependencies
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 68/100
ProjectSidewalk/SidewalkWebpage#5609 ·
I maintainer di solito rispondono entro 1 giorno
-
help wanted javascript
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
OWASP/cornucopia#3538 ·
I maintainer di solito rispondono entro 1 giorno