Nabto Cambridge

Nabto Cambridge is a production-ready WebRTC bridge application for cameras, DVRs and NVRs. It is a standalone binary that enables secure remote access to camera systems over WebRTC, without writing any custom code. You configure it once and it handles the rest: Connecting to the Nabto signaling infrastructure, exposing HTTP and RTSP services to remote clients and managing WebRTC media streams.

Cambridge typically runs directly on the camera or recording device. It can also run on a separate host on the same network, for example when the device hardware does not allow installing additional software.

Nabto Cambridge is currently available to select partners. If you are interested in evaluating it, please contact Nabto.

Why Cambridge?

IP cameras, DVRs and NVRs typically expose RTSP streams and HTTP management interfaces. Cambridge bridges these existing interfaces to remote clients over WebRTC. It runs as an additional process on the device and connects to the services that are already running, so none of the existing software needs to be modified.

This means:

  • No SDK integration. Cambridge handles all Nabto signaling and WebRTC negotiation in its own process.
  • No changes to existing software. Cambridge connects to the RTSP and HTTP services already present on the device.
  • Configuration only. Define your service endpoints in a TOML file and Cambridge does the rest.

How It Works

Cambridge connects to the Nabto WebRTC Signaling Service as a device. Remote clients connect to it using the standard Nabto WebRTC client SDKs. Once a WebRTC peer connection is established, clients communicate with Cambridge using JSON-RPC 2.0 messages over WebRTC datachannels.

The typical flow is:

  1. The client opens a datachannel and discovers available services using the system protocol.
  2. For video streaming, the client creates an RTSP session. Cambridge performs the RTSP handshake with the configured RTSP service and bridges the resulting media tracks into the WebRTC peer connection.
  3. For device management, the client sends HTTP requests through Cambridge, which forwards them to the configured HTTP service.

Protocols

Cambridge exposes three datachannel protocols:

ProtocolPurposeKey Methods
nabto.system/1Service discoverysystem.listServices
nabto.http/1HTTP request forwardinghttp.listServices, http.request, http.cancel
nabto.rtsp/1RTSP stream managementrtsp.listServices, rtsp.createSession, rtsp.play, rtsp.pause, rtsp.teardown

Each protocol is accessed by opening a WebRTC datachannel with the corresponding protocol label. All messages follow the JSON-RPC 2.0 specification.

In This Section