Blackmagic HDMI capture shows nothing.


I need to capture video from Blackmagic Design Decklink extreme HD -card. And precisely at this time I want FullHD from the cards HDMI-port.

Previously with other hardware (cheap webcams etc.) i've succesfully used code based on the capture example code from here:

But now I just can't get it working. It lists the card as: "name=Blackmagic Decklink WDM Streaming, size=1920x1080, fps=25". And this two times. I've tried both, but neither will give any results.

I can get image from the card with different softwares so the card, cables etc are working.

I tried to print out the state of cam.available() and it gives only falses. I think that that has something to do with my issue. I tried to google more about the available()-method, but found nothing useful. Meaning that I have no idea why there is no video frames available.


Also there is this thing that when using code just as in the example:

cam = new Capture(this, cameras[0]);

I get no image, just grey background, but if I change it for example to:

cam = new Capture(this, 1920, 1080, cameras[0], 25);

I get black screen.


I really don't know how to proceed from here. Any ideas?

Thank you!



  • Hi!

    For the moment unfortunately I've no solution to contribute, but I thought I'd comment to say that in the near future I will want to do the same thing (albeit simultaneous dual input, from a BMD Decklink Duo card...), so if you figure out how to get an image do post here and I promise to do the same!

  • It seems that newer versions of gstreamer include a plugin for video capture from DeckLink cards:

    All we need is to figure out a way to update the video library to use the latest gstreamer builds...

  • Wow, that is good news indeed, thank you for posting!

    At the moment I've still stuff higher up the priority list but I will definitely want to look into BMD integration too!

  • Hey,

    I don't know if it can help you, but it is working like a charm for me for a few months now, using a BlackMagic Intensity Extreme Thunderbolt on OSX.

    Here is an output of Catpure.list():

    name=Blackmagic,size=1920x1080,fps=30 name=Blackmagic,size=1920x1080,fps=15 name=Blackmagic,size=1920x1080,fps=1 name=Blackmagic,size=960x540,fps=30 name=Blackmagic,size=960x540,fps=15 name=Blackmagic,size=960x540,fps=1 name=Blackmagic,size=480x270,fps=30 name=Blackmagic,size=480x270,fps=15 name=Blackmagic,size=480x270,fps=1 name=Blackmagic,size=240x135,fps=30 name=Blackmagic,size=240x135,fps=15 name=Blackmagic,size=240x135,fps=1

    I add a few troubles yesterday (this is why I did see this thread), but reinstalling the Blackmagic Design Desktop (9.9.2) software brought back "Blackmagic" in the Catpure.list().

    Hope it helps!

  • edited March 2014


    I got the chance to try this both on OSX and Windows7-64bit.

    On OSX, with a Decklink duo, it worked fine with a single camera.

    On windows, the output of Capture.list() is all the built in webcame modes, followed by the line "name=Blackmagic Decklink WDM Stream" four times over, with no resolution or frame-rate listed.

    When I try to instantiate a stream "new Capture(this, 1280, 720, "Blackmagic Decklink WDM Stream", 30)", it just uses the built in webcam.

    The same happens if I instead instantiate using "new Capture(this, cameras[X])", where X is any index in the list. It simply always opens the webcam. Also, since I'm at it, on windows it ignores the resolution I request and just defaults to 640x480.

    Ideally, I would like to use dual simultaneous inputs, on windows, and if that doesn't work, at least on Mac...

    How has using dual inputs worked for you?

    And has anyone managed to get this going on Windows?

    Note that I did all the above testing using Processing 2.1.1, having replaced the two files from release 2.1, as per this thread:


Sign In or Register to comment.