ffmpeg's mxf muxer cannot write a growing file — its header/index duration stays N/A until the footer at close (proven: file grows on disk but readable duration never advances), so Premiere never sees growth. Replace the growing master muxer with bmx/raw2bmx --growing-file, the reference growing-OP1a writer. Capture image builds bmx (bbc/bmx v1.6) from source (bmxlib-tools absent in bookworm). Growing pipeline: one ffmpeg decodes SDI -> split into MPEG-2 422 essence + PCM (to named FIFOs) + the H.264 HLS preview; raw2bmx muxes the growing OP1a MXF to the share, updating IndexDuration incrementally. FIFO open-order deadlock fixed by parent-priming both FIFOs. Stop forwards SIGINT so ffmpeg EOFs and raw2bmx finalizes the footer; stop() awaits raw2bmx exit before the promotion worker uploads. Raster/fps -> raw2bmx essence flag via deriveGrowingRaster (default 1080i59.94). Proven live (zampp2): IndexDuration grows 43->223->403 frames at 3/8/15s mid-write (ffmpeg stayed N/A); finalized file valid; HLS preview intact. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| sdk | ||
| src | ||
| build-with-decklink.sh | ||
| decklink-sdk16.patch | ||
| Dockerfile | ||
| package.json | ||
| patch_decklink.py | ||