dragonflight/services
Claude 686b90294b fix(worker): conform — 2-pass strategy (normalise on trim, demux on concat)
ffmpeg 8.x's concat filter kept dying with the opaque
  [fc#0] Error sending frames to consumers: Invalid argument
even after we locked fps + sample rate + pixel format + SAR in the
filter graph. Mixed sources (AV1+H.264, 23.98+60 fps, 44100+48000 Hz,
tv-range+unspecified-range pixel format) just don't survive the
concat filter cleanly in this build.

Switch to the more reliable 2-pass pattern:

1. At the trim step, re-encode each segment to a uniform intermediate
   spec: libx264 ultrafast, 1920x1080 (letterboxed), yuv420p,
   seqFps target rate, 48kHz stereo AAC. Per-segment ffmpeg.

2. At the concat step, use the concat *demuxer*. Because every input
   now matches exactly, the demuxer is well-behaved. Transcode the
   concatenated stream to the final target codec (ProRes 422 HQ etc).

Costs an extra intermediate encode (libx264 ultrafast ≈ realtime on
this hardware) but eliminates the filter-graph fragility on mixed-
source timelines, which is the workload that actually matters.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-28 15:34:52 -04:00
..
capture fix(recorders,library): empty-capture handling + right-click context menu 2026-05-23 03:52:30 +00:00
mam-api fix(mam-api): pass project_id into conform job so render can register the asset 2026-05-28 14:24:04 -04:00
node-agent chore: 1.2 ship-prep sweep — close 38 issues 2026-05-27 02:06:14 +00:00
premiere-plugin diag(premiere-plugin): v1.2.5 — no-op IIFE writes to Documents/ + reports lf.open result 2026-05-28 03:59:40 +00:00
premiere-plugin-uxp fix(uxp+mam-api): Export Timeline render — xmeml schema + BullMQ job poll 2026-05-28 13:58:13 -04:00
web-ui fix(web-ui): forward X-Forwarded-Proto from outer proxy so mam-api emits Set-Cookie 2026-05-27 22:11:27 -04:00
worker fix(worker): conform — 2-pass strategy (normalise on trim, demux on concat) 2026-05-28 15:34:52 -04:00