Multiple Client Access to BlackMagic devices (FFmpeg)

Ask software engineering and SDK questions for developers working on Mac OS X, Windows or Linux.
  • Author
  • Message
Offline

colekas

  • Posts: 5
  • Joined: Fri Apr 12, 2019 6:50 pm
  • Real Name: Christopher Olekas

Multiple Client Access to BlackMagic devices (FFmpeg)

PostThu Jun 20, 2019 12:34 pm

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?
Offline

colekas

  • Posts: 5
  • Joined: Fri Apr 12, 2019 6:50 pm
  • Real Name: Christopher Olekas

Re: Multiple Client Access to BlackMagic devices (FFmpeg)

PostThu Jun 20, 2019 1:07 pm

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?
Offline

phillipseamore

  • Posts: 30
  • Joined: Sat Sep 08, 2012 7:24 pm

Re: Multiple Client Access to BlackMagic devices (FFmpeg)

PostThu Jun 20, 2019 4:11 pm

You could run one instance of ffmpeg capturing and going to pipe. Then use the pipe as input for other ffmpeg/vlc processes etc.
Offline

bendudley

  • Posts: 1
  • Joined: Thu Aug 08, 2019 4:19 pm
  • Real Name: Ben Dudley

Re: Multiple Client Access to BlackMagic devices (FFmpeg)

PostThu Aug 08, 2019 5:05 pm

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.

Return to Software Developers

Who is online

Users browsing this forum: Bing [Bot] and 2 guests