Three cooperating bugs left the rendered output silent and in the wrong codec: 1. executor.js trimSegment used `-frames:v` with no audio mapping. ffmpeg dropped the audio track on each segment before they reached the concat step. Add `-c:a copy -shortest` so each segment carries its original audio. 2. conform.js audioFlag was `audio === 'include' ? aac : -an`. The panel's v2.2.1 defaults send `audio: 'broadcast'`, which didn't match 'include' → `-an` explicitly stripped audio at the encode step. Switch to the opposite default: only an explicit 'none' or 'off' disables audio; everything else gets AAC 320k @ 48kHz. 3. conform.js video codec map only matched `codec === 'prores'`. The panel sends `'prores_hq'` (and the conform slide panel can send `'prores_4444'` / `'dnxhr_hq'`). All of those fell through to libx264 and silently rendered H.264 instead of the requested codec. Add a real codec map with the right prores_ks profiles (3=HQ, 4=4444) and DNxHR. Skip -crf for ProRes since the profile encodes quality. The asset-row metadata's `codec` column is normalised the same way so the new asset record matches what was actually written. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| src | ||
| Dockerfile | ||
| Dockerfile.gpu | ||
| package-lock.json | ||
| package.json | ||