Page 1 of 1

Multiple Client Access to BlackMagic devices (FFmpeg)

PostPosted: Thu Jun 20, 2019 12:34 pm
by colekas
I'm trying to have multiple applications use a BlackMagic Intensity card at the same time. One for video processing using FFmpeg and another for FFmpeg encoding.

In the past I just took it for granted that this is not possible, however I'm asking here if anyone knows of a way to achieve this.

If I have my Video Processing pipeline (using FFmpeg for signal acquisition) and another instance of FFmpeg (or Capture example binary) I get the following

Failed to enable video input. Is another application using the card?

Re: Multiple Client Access to BlackMagic devices (FFmpeg)

PostPosted: Thu Jun 20, 2019 1:07 pm
by colekas
As an aside, has anyone had success running FFmpeg with the DeckLink as input and V4L2 as output and then having multiple FFmpeg clients access the V4L2 output as input?

Re: Multiple Client Access to BlackMagic devices (FFmpeg)

PostPosted: Thu Jun 20, 2019 4:11 pm
by phillipseamore
You could run one instance of ffmpeg capturing and going to pipe. Then use the pipe as input for other ffmpeg/vlc processes etc.

Re: Multiple Client Access to BlackMagic devices (FFmpeg)

PostPosted: Thu Aug 08, 2019 5:05 pm
by bendudley
I wanted a separate app to capture stills while the primary app was encoding the SDI stream. The actual value returned during the second invocation of IDeckLinkInput::EnableVideoInput is E_ACCESSDENIED indicating only the first invocation can succeed and all others will be denied.

It appears the only way is to have one program feed another (pipe/tee) setting up a dependency I was hoping could be avoided.