how to use multiple H.264ProRecorder

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

Masaaki Sato

  • Posts: 2
  • Joined: Tue Dec 29, 2015 7:05 am

how to use multiple H.264ProRecorder

PostThu Jan 14, 2016 2:57 am

titile: how to use multiple H.264ProRecorder

I'm trying to use multiple H.264ProRecorder in C sharp Form application
But I can't figure out how to identify devices over CBMDStreamingDiscovery's callbacks;
For example, when the multiple IDeckLink devices are connected, disconnects one of them and then StreamingDeviceRemoved is called, which device should I think is removed?
IDeckLink.GetDisplayName always return the same name. So it can't be used.

Could you suggest me what is the proper way to do it?

Here's my example code
Code: Select all

using System;
using System.Collections.Generic
using System.Windows.Forms;
using DeckLinkAPI

namespace Test
   public partial class Form1 : Form, IBMDStreamingDeviceNotifiationCallback
      private List<IDeckLink> deviceList;
      private CBMDStreamingDiscovery discovery;

      public Form1()
         this.discovery = new CBMDStreamingDiscovery();

      public void StreamingDeviceArrived(IDeckLink device)

      public void StreamingDeviceModeChanged(IDeckLink device, _BMDStreamingDeviceMode mode)

      public void StreamingDeviceRemoved(IDeckLink device)
         // idenfify the device by reference value
         // is this a correct solution?
         // does it always keep the same reference?

Software:::::Visual Studio 2013 Professional, .Net framework 4.5, Visual C# Form Appication
Environment:::::Windows 7 Professional 64bit, Intel(R) Core(TM) i7-4470/3.4GHz, RAN16GB

Nicholas Gill

Blackmagic Design

  • Posts: 169
  • Joined: Mon May 04, 2015 10:28 pm

Re: how to use multiple H.264ProRecorder

PostThu Jan 21, 2016 3:41 am

Hi Masaaki,

The code shown in your sample is an appropriate method to identify which device was removed.

Please note however that the H.264 Pro Recorder does not support the BMDDeckLinkTopologicalID or BMDDeckLinkPersistentID attributes, so it is not possible to distinguish between different devices in software.

i.e. It is not possible to determine if the same or a different H.264 Pro Recorder is connected; both will be identified by a different IDeckLink instance.



Lutz Reber

  • Posts: 19
  • Joined: Mon Oct 22, 2012 1:02 pm
  • Location: Berlin, Germany

Re: how to use multiple H.264ProRecorder

PostWed May 25, 2016 4:20 pm

make a proper coding in oop ( we use Delphi RAD Studio here) , than it works :-). The h264 object will fire events when device is removed or other events occurr.

JP da Conceicao

  • Posts: 9
  • Joined: Mon Sep 21, 2015 2:01 pm

Re: how to use multiple H.264ProRecorder

PostFri Jan 26, 2018 10:25 am


Having just confirmed for myself that I can't use BMDDeckLinkTopologicalID or BMDDeckLinkPersistentID to identify devices, I'd just like to ask if anyone has managed to achieve something similar by some other clever means?

I'd like to try some (potentially hacky) methods such as listening to USB events and associating them with calls to StreamingDeviceArrived and StreamingDeviceRemoved, or maybe using some other SDK methods to somehow identify the device.

Has anyone out there done something similar?

Return to Software Developers

Who is online

Users browsing this forum: Sergey Mirontsev and 1 guest