Frame Grabbing

i’d say latency is only 2 frames approx. hard to say though but there’s not much in it.

glad it working. but yeah you should see some difference changing the Reference Clock settings. I always have to set to a certain option, can’t remember which, to get best results.

I always capture at 720p 60Hz for best results.

Also tested and compatible with VideoIn (OpenCV DirectShow)

The BlackMagic DeckLink SDK internally uses DirectShow anyway so no point to make a dedicated node

I read Blackmagic’s software capture tool ‘Media Express’ used some kind of native driver rather than directshow.

@Elliot the resolume guys have a 1 frame latency driver by using the sdk, its very nice :) A dedicated node that coudl get the latency down would be very useful I think!

Hmm, maybe I’m wrong then.
I downloaded the native SDK when I was at @xdnitro’s
And after some poking around it looked like all the examples were eventually using DirectShow for the capture.
Could someone compare Resolume vs DirectShow vs OpenCV DirectShow ?

If someone donates me a card I’ll make the node if there’s one to be made :)

I’ve got the USB intensity shuttle if youve got a suitable x58 m/b?
The avenue driver is very fast compared to direct show…

i’ve got USB 3.0 in my shuttle (x58 chipset)
gimme gimme! :)
‘avenue’ driver?

Avenue = resolume, you can download a demo that works with the capture card for comparison …
Send me your address in an email and I’ll post it to you, I’m not free to come visit till after the 12th or so

as i remember, first, blackmagic did’t worked with 4v with old version of driver shipped on cd, but it was working with premier, and then they released new driver, that was working with everything. So might on that cd was some clue?
I don’t know where mine is…
try to look Blackmagic SDK 1.0
http://www.blackmagic-design.com/support/sdks/archivedsdks/?Page=2&sid=3945

Here’s what it says in the SDK example (there are only DirectShow examples in the SDK):

quote:
Decklink Capture Sample

The purpose of this sample is to demonstrate a very basic video capture application, programmatic setting and restoring the video and audio formats through the IAMStreamConfig interface. Capturing to a compressed format is also possible provided the encoder is available on the host.

When the application starts up the system registry is queried for any previously stored state information, the last video and audio formats. A preview graph is then created, programmatically setting the video and audio formats of the Decklink capture filters.

In the application a picture control is used to preview the incoming video and a few hooks are in place to process any windows messages received by the application dialog in order to update this control.

Any changes to the video format, audio format or compression format results in the preview graph being rebuilt with the new user settings.

When capturing to a file, the preview graph is completed by adding the extra components to write the uncompressed, or compressed steam to disk. In the case of DV capture this would involve adding the DV encoder, AVI mux and file writer filters to the preview graph.

In order to build the most efficient capture graph the ICaptureGraphBuilder2 interface is NOT used. Instead a number of supplemental functions have been written that allow graph building ‘by hand’. It is possible to use graphedit to attach to the capture sample application in order to view the filter graph that has been created.

Blackmagic Design.

So it is using a DirectShow graph for capture, but it’s not using ICaptureGraphBuilder2 which i think is the common way of doing so. So perhaps there’s a more efficient way of accessing the capture graph.

I’d really like if someone could test with my DirectShow node (using Theo Watson’s VideoInput class) vs VVVV core DirectShow

@elliot, where is your DirectShow node

I just downloaded the SDK (DeckLink 9.5) out of curiosity.
There are two samples folders:
Blackmagic DeckLink SDK 9.5\Win\DirectShow\Samples

and

Blackmagic DeckLink SDK 9.5\Win\Samples

Did you by chance miss the second one?

There are also two documentation files called DeckLink DirectShow SDK.chm
and Blackmagic Decklink SDK.pdf. In the pdf the term DirectShow is never mentioned…

@bjeorn - aha!

i was downloading the wrong thing all the time which didn’t have the non-DirectShow samples
i see in 9.5 there are other options
and since there’s already an ofxBlackMagic i can use that as a pretty decent reference.

So probably first make a BlackMagic.NET library and then wrap that in 2 plugin:

  • Texture out
  • CVImageLink out

@sunep :
you should notice 3 VideoIn nodes if OpenCV plugins are installed:

  • VideoIn (DirectShow)
  • VideoIn (OpenCV) [this uses Video For Windows)
  • VideoIn (OpenCV DirectShow)

@bjeorn - aha!

i was downloading the wrong thing all the time which didn’t have the non-DirectShow samples
i see in 9.5 there are other options
and since there’s already an ofxBlackMagic i can use that as a pretty decent reference.

So probably first make a BlackMagic.NET library and then wrap that in 2 plugin:

  • Texture out
  • CVImageLink out

@sunep :
you should notice 3 VideoIn nodes if OpenCV plugins are installed:

  • VideoIn (DirectShow)
  • VideoIn (OpenCV) [this uses Video For Windows)
  • VideoIn (OpenCV DirectShow)

@elliot

this sounds great! If you need a Intensity PCIe card I’d be happy to send one. Should work with PCIe if it works with the shuttle though right?

chris has offered to send a usb one
i was hoping to do a ‘device for plugin’ swap
do you both want them back afterwards ;) ?

def happy for u to keep. :) email me your address.

I have a compatible computer already checked and working with intensity shuttle usb3.0. I wish to find out if anyone has tried the following with it and opencv:

dvdplayer(or any video source)-> To shuttle-> To usb3.0 computer–>opencv

i.e. I want to read frames using opencv and then process them.
any pointer on how to do it ? I have the declink sdk installed and opencv installed. does anyone have an example (I think I have the right headers and libraries linked, since I am able to capture frames from the PC Camer by OpenCvCameraCapture using the Declink interface.
But I do not know how I would grab from the shuttle input. Any help would be greatly appreciated.
Thanks,
JawaIyer