SmallWebRTCTransport
A lightweight WebRTC transport for peer-to-peer connections with Pipecat
SmallWebRTCTransport
enables peer-to-peer WebRTC connections between clients and your Pipecat application. It implements bidirectional audio and video streaming using WebRTC for real-time communication.
This transport is intended for lightweight implementations, particularly for local development and testing. It expects your Pipecat server to include the corresponding SmallWebRTCTransport
server-side implementation.
SmallWebRTCTransport
is best used for testing and development. For production deployments with scale, consider using the DailyTransport, as it has global, low-latency infrastructure.
Usage
Basic Setup
API Reference
Constructor Options
Properties
TransportConnectionParams
On connect()
, the SmallWebRTCTransport
optionally takes a set of connection parameters. This can be provided directly or via a connection endpoint passed to the PipecatClient
’s connect method. If using an endpoint, your endpoint should return a JSON object matching the SmallWebRTCTransportConnectionOptions
type, which currently expects a single connectionUrl
property.
Methods
For most operations, you will not interact with the transport directly. Most methods have an equivalent in the PipecatClient
and should be called from the PipecatClient
. However, there are a few transport-specific methods that you may need to call directly. When doing so, be sure to access your transport via the transport
property of the PipecatClient
instance.
Sets the preferred audio codec.
Sets the preferred video codec.
Events
The transport implements the various PipecatClient
event handlers.
Connection Process
The connection process follows these steps:
- The transport negotiates a WebRTC connection with the corresponding pipecat transport, complete with transceivers for the media and a data channel for messaging.
- The transport sends a message to the pipecat transport to let it know it’s ready.
- The Pipecat transport sends a message letting the client know it is ready.
Reconnection Handling
The transport includes automatic reconnection logic:
- Up to 3 reconnection attempts after connection failures
- Detection of ICE connection state changes
- Graceful recovery from temporary disconnections
- Graceful disconnect when reconnection attempts fail