Skip to content

Latest commit

 

History

History
55 lines (31 loc) · 3.65 KB

File metadata and controls

55 lines (31 loc) · 3.65 KB
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"
Loading

CodeBoardingDemoContact

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

SmallWebRTCTransport

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:

WebsocketServer

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:

WebRTCConnection

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: