node-webrtc is a Node.js Native Addon that provides bindings to WebRTC M94. This project is aiming for spec-compliance and will eventually be tested using the W3C's web-platform-tests project. A number of nonstandard APIs for testing are also included.
npm install @avahq/wrtc
Installing from NPM downloads a prebuilt binary for your operating system × architecture, based on optional dependency filters.
To install a debug build or cross-compile, you should build from source.
The following platforms are confirmed to work with node-webrtc and have prebuilt binaries available. Since node-webrtc targets N-API version 3, there may be additional platforms supported that are not listed here. If your platform is not supported, you may still be able to build from source.
Linux | macOS | Windows | ||||
---|---|---|---|---|---|---|
x64 | arm64 | x64 | arm64 | x64 | ||
Node | 18 | ✓ | ? | ✓ | ✓ | ✓ |
20 | ✓ | ✓ | ✓ | ✓ | ✓ |
See node-webrtc/node-webrtc-examples.
- first login via npm login
- the compile the binary via dockerfile
docker build -t webrtc-forked/arm64 . || docker build -t webrtc-forked/amd64 -f Dockerfile.amd64 .
if needed our your personnal machine, use the target arch viaTARGET_ARCH=arm64|x64 npm run build
- It can take time to build (~15mn on mac m2)
- Run the container image you build
- Then get the
wrtc.node
from thebuild-${arch}
folder (via docker cp or docker file dashboard) and put it inside the rightprebuild/${arch}
folder - Do it for all platform/arch you can
- Run
npm version major|minor|patch..
inside each subfolder - Run
npm publish
and wait for ok return (if e422 please add --access-public to the publish command) - Update the version linked for every submodules into
package.json
here - Run
npm version major|minor|patch..
inside this project - Run
npm publish
inside this project - DONE