graph LR
Client_Applications["Client Applications"]
SmallWebRTCTransport["SmallWebRTCTransport"]
WebsocketServer["WebsocketServer"]
WebRTCConnection["WebRTCConnection"]
Client_Applications -- "communicates with via WebRTC protocol" --> SmallWebRTCTransport
Client_Applications -- "communicates with via WebSocket protocol" --> WebsocketServer
SmallWebRTCTransport -- "utilizes" --> WebRTCConnection
click Client_Applications href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/pipecat/Client_Applications.md" "Details"
The Pipecat system interacts with external Client Applications through two primary network transports: SmallWebRTCTransport for real-time media and data via WebRTC, and WebsocketServer for general WebSocket-based communication. The SmallWebRTCTransport component leverages the WebRTCConnection component to manage individual WebRTC peer connections, handling the low-level WebRTC protocol details. This architecture allows for flexible integration with various client types while providing robust real-time communication capabilities.
Client Applications [Expand]
External user interfaces (web, mobile, custom clients) that interact with the Pipecat system, primarily through WebRTC or WebSocket connections. They are responsible for user input (e.g., audio, text) and output (e.g., synthesized speech, text).
Related Classes/Methods: None
Acts as the server-side endpoint for WebRTC connections. It manages peer connections, media tracks (audio/video), and data channels, facilitating the bidirectional flow of real-time media and application messages between the Pipecat pipeline and external WebRTC clients.
Related Classes/Methods:
Acts as the server-side endpoint for WebSocket connections. It manages client connections, handles incoming WebSocket messages, and routes outgoing messages to the appropriate external WebSocket clients, integrating them into the Pipecat pipeline.
Related Classes/Methods:
Represents an individual WebRTC peer connection. It encapsulates the underlying WebRTC protocol details, including session negotiation (SDP offer/answer), ICE candidate exchange, and the management of media streams (audio/video tracks) for a single client.
Related Classes/Methods: