bmd-node
v1.3.1
Published
Node.js native bindings for selected Blackmagic DeckLink device status and configuration operations, plus a small command-line interface.
Readme
bmd-node
Node.js native bindings for selected Blackmagic DeckLink device status and configuration operations, plus a small command-line interface.
Current Functionality
The native module currently exposes:
getAvailableDevices()-> number of detected DeckLink devicesgetDeviceOutputs(deviceIndex)-> output-capability count (currently 0 or 1)getDeviceTemperature(deviceIndex)-> temperature in tenths of a degree CgetDuplexMode(deviceIndex)-> one of:full,half,simplex,inactive,unknownsetDuplexMode(deviceIndex, profile)-> set device profilegetSdiLevel(deviceIndex)->AorBsetSdiLevel(deviceIndex, level)-> setAorB
TypeScript declarations are included in index.d.ts.
CLI
A basic CLI is provided at cli.js and published as the bmd-node binary.
Usage
bmd-node help
bmd-node devices [--json]
bmd-node get --device <index> --param <parameter> [--json]
bmd-node set --device <index> --param <parameter> --value <value> [--json]Parameters
Readable parameters:
temperatureoutputsduplex-modesdi-level
Writable parameters:
duplex-modesdi-level
Allowed set values:
duplex-mode:one-sub-full,one-sub-half,two-sub-full,two-sub-half,four-sub-halfsdi-level:A,B
Examples
# List all devices and known values
bmd-node devices
# Read values for a specific device (0-based index)
bmd-node get -d 0 -p duplex-mode
bmd-node get -d 0 -p sdi-level
bmd-node get -d 0 -p temperature
# Set values for a specific device
bmd-node set -d 0 -p duplex-mode -v two-sub-half
bmd-node set -d 0 -p sdi-level -v A
# JSON output for scripts
bmd-node devices --json
bmd-node get -d 0 -p sdi-level --jsonBuild Notes
This package uses node-gyp and links against the DeckLink SDK dispatch code and DeckLinkAPI library.
Install/build:
npm installIf you need to rebuild manually:
npm rebuildLimitations
- Requires DeckLink SDK headers/library and compatible runtime installation.
- Some functions depend on device support (for example, profile management or SMPTE Level A switching).
- Errors from native APIs are surfaced directly by the module/CLI.
License
MIT. See LICENSE.
