Important
No longer in active developement. We strongly recommend using the .NET-SDK going forward.
In an effort to meet future demand for how we interact and communicate with our USB devices, we are modernizing our software development kit (SDK). Part of this process is switching over to the .NET framework. The new SDK has the capability to communicate with a proxy service that we run on Windows hosts. The purpose of this proxy service is to bypass a limitation where only one client can communicate with a usb device at any given time. This makes it possible for ours and anyone else's software to communicate with our devices in parallel, without the software clients getting in the way of each other. This services is gradually rolling out on all Windows systems using cameras connected through the Huddly USB Adapter.
By the end of the year (2024) the USB proxy will be installed on all Windows systems using a Huddly IQ or camera connected through the Huddly USB Adapter. Using the JS-SDK to integrate with IQ or Huddly USB Adapter connected cameras will no longer be possible on these hosts.
First clone the repo.
Then you need to init and update the submodules
git submodule init
git submodule update
Setup dependcies
npm i
Then you need to make sure you have build tools for windows
If you want to local development together with the @huddly/sdk here is the recommend setup
- Checkout Device Api USB repo and the sdk repo
- run npm install in both repos, use the same node version recommend v10.12
- Go into the Device Api USB repo, run
npm linkthis will create a symlink to this repo in the npm cache - Then start the typescript compiler watcher
npm run watch-ts - Open a new tab
- Go to the SDK repo folder, run
npm link @huddly/device-api-usb. - Start the typescript watcher
npm run watch-ts
Now you can change things in the sdk and the Device Api USB folder and your changes will be reflected in the compiled code in the sdk.
MIT Note that the compiled Node extension includes Libusb, and is thus subject to the LGPL.