Feature: source-backend abstraction for capture (Deltacast / AJA) #168
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
Capture input is currently hard-wired to
-f decklink. The roadmap (design doc §6) calls for Deltacast (VideoMaster) and AJA (libajantv2) SDI cards, neither of which has an upstream ffmpeg demuxer.Proposal
Introduce a source-backend abstraction in capture-manager before that hardware lands:
{ inputArgs, deviceDiscovery }; everything downstream (the HEVC-I NVENC encode + HLS stage) is shared.blackmagic:-f decklink(current).deltacast: shell VideoMaster SDK grabber → rawvideo into ffmpeg stdin.aja: ntv2 capture tool → rawvideo into ffmpeg stdin.sourceType/dev nodes (decklink/deltacast); extend for AJA.Why
Refactor now, while there's exactly one backend, so adding vendors is additive instead of a rewrite. Keeps the GPU encode path identical across all capture hardware.