Installation
Two things are needed: the NDI Runtime, published by NDI, and the Datastead NDI Filters themselves.
1. The NDI Runtime
The Datastead NDI Filters do not embed the NDI libraries. At run time they load Processing.NDI.Lib.x86.dll (32-bit process) or Processing.NDI.Lib.x64.dll (64-bit process) from the runtime folder declared by the NDI installer, so the NDI Runtime must be present on the machine.
It is installed either by the NDI Tools, or by the NDI SDK:
Minimal installation
In the interactive installer, uncheck every option except the video codecs / runtime component.
For a silent installation from a third-party installer, run the NDI Tools installer with:
"NDI Tools.exe" /COMPONENTS=video_codecs /silent
"NDI Tools.exe" /COMPONENTS=video_codecs /verysilent
(/verysilent also hides the splash screen; the exact name of the .exe depends on the NDI version.)
2. The Datastead NDI Filters
The package contains:
| Item | Description |
|---|---|
Install_Automatically\DatasteadNDIFiltersAutoInstaller.exe |
the self-installer: copies and registers both builds |
Install_Manually\x86\Datastead_NDI_x86.ax |
the 32-bit filters, with _REGISTER_FILTER.cmd and _UNREGISTER_FILTER.cmd |
Install_Manually\x64\Datastead_NDI_x64.ax |
the same for 64-bit |
There are four ways to deploy them. The first one is the simplest for a TVideoGrabber application, the last two are the usual DirectShow ones.
a) Copy next to the application executable (no registration)
TVideoGrabber loads the filter binaries directly from a folder, so neither the installer nor regsvr32 is needed. Copy the x86 and x64 folders beside the application executable:
c:\YourAppFolder\YourApp.exe
c:\YourAppFolder\x86\Datastead_NDI_x86.ax
c:\YourAppFolder\x64\Datastead_NDI_x64.ax
TVideoGrabber picks the folder matching the bitness of the running process.
b) Copy to any folder, declared to TVideoGrabber
The same layout can live anywhere, as long as the folder is given to TVideoGrabber through the ExtraDLLPath property:
VideoGrabber.ExtraDLLPath = "c:\FilterFolder";
c:\FilterFolder\x86\Datastead_NDI_x86.ax
c:\FilterFolder\x64\Datastead_NDI_x64.ax
c) Install with the self-installer
Run DatasteadNDIFiltersAutoInstaller.exe (administrator rights required). It installs into C:\Program Files\Datastead\NDIFilters and registers the x86 build on a 32-bit version of Windows, both the x86 and the x64 builds on a 64-bit version.
To uninstall: Settings -> Apps (or Control Panel -> Programs and Features), entry Datastead NDI Filters, or run the unins000.exe created by the setup.
d) Register manually with regsvr32
Copy the x86 and/or x64 folder to a permanent location, then run _REGISTER_FILTER.cmd from that folder (right-click, Run as administrator), or call regsvr32.exe directly:
regsvr32.exe c:\DatasteadFilters\x86\Datastead_NDI_x86.ax
regsvr32.exe c:\DatasteadFilters\x64\Datastead_NDI_x64.ax
To unregister, run _UNREGISTER_FILTER.cmd as administrator, or:
regsvr32.exe /u c:\DatasteadFilters\x86\Datastead_NDI_x86.ax
regsvr32.exe /u c:\DatasteadFilters\x64\Datastead_NDI_x64.ax
Which build do I need?
What matters is the bitness of the application, not the bitness of Windows: a 32-bit application always loads the x86 filter, even on 64-bit Windows. Register both builds when the application ships in both bitnesses (or targets Any CPU).
Checking the installation
With GraphStudioNext or GraphEdit: Graph -> Insert Filters -> DirectShow Filters, and check that Datastead NDI Source and Datastead NDI Sink are listed. The bitness of the graph editor must match the bitness of the registered filter.