base_transport

Base transport classes for Pipecat.

This module provides the foundation for transport implementations including parameter configuration and abstract base classes for input/output transport functionality.

class pipecat.transports.base_transport.TransportParams(*, audio_out_enabled: bool = False, audio_out_sample_rate: int | None = None, audio_out_channels: int = 1, audio_out_bitrate: int = 96000, audio_out_10ms_chunks: int = 4, audio_out_mixer: Mapping[str | None, ~pipecat.audio.mixers.base_audio_mixer.BaseAudioMixer] | None=None, audio_out_destinations: list[str] = <factory>, audio_out_end_silence_secs: int = 2, audio_out_auto_silence: bool = True, audio_in_enabled: bool = False, audio_in_sample_rate: int | None = None, audio_in_channels: int = 1, audio_in_filter: BaseAudioFilter | None = None, audio_in_stream_on_start: bool = True, audio_in_passthrough: bool = True, video_in_enabled: bool = False, video_out_enabled: bool = False, video_out_is_live: bool = False, video_out_width: int = 1024, video_out_height: int = 768, video_out_bitrate: int | None = None, video_out_framerate: int = 30, video_out_color_format: str = 'RGB', video_out_codec: str | None = None, video_out_destinations: list[str] = <factory>)[source]

Bases: BaseModel

Configuration parameters for transport implementations.

Parameters:
  • audio_out_enabled – Enable audio output streaming.

  • audio_out_sample_rate – Output audio sample rate in Hz.

  • audio_out_channels – Number of output audio channels.

  • audio_out_bitrate – Output audio bitrate in bits per second.

  • audio_out_10ms_chunks – Number of 10ms chunks to buffer for output.

  • audio_out_mixer – Audio mixer instance or destination mapping.

  • audio_out_destinations – List of audio output destination identifiers.

  • audio_out_end_silence_secs – How much silence to send after an EndFrame (0 for no silence).

  • audio_out_auto_silence – Insert silence frames when the audio output queue is empty. When False, the transport will wait for audio data instead of inserting silence.

  • audio_in_enabled – Enable audio input streaming.

  • audio_in_sample_rate – Input audio sample rate in Hz.

  • audio_in_channels – Number of input audio channels.

  • audio_in_filter – Audio filter to apply to input audio.

  • audio_in_stream_on_start – Start audio streaming immediately on transport start.

  • audio_in_passthrough – Pass through input audio frames downstream.

  • video_in_enabled – Enable video input streaming.

  • video_out_enabled – Enable video output streaming.

  • video_out_is_live – Enable real-time video output streaming.

  • video_out_width – Video output width in pixels.

  • video_out_height – Video output height in pixels.

  • video_out_bitrate – [DEPRECATED] Video output bitrate in bits per second.

  • video_out_framerate – Video output frame rate in FPS.

  • video_out_color_format – Video output color format string.

  • video_out_codec – Preferred video codec for output (e.g., ‘VP8’, ‘H264’, ‘H265’).

  • video_out_destinations – List of video output destination identifiers.

audio_out_enabled: bool
audio_out_sample_rate: int | None
audio_out_channels: int
audio_out_bitrate: int
audio_out_10ms_chunks: int
audio_out_mixer: BaseAudioMixer | Mapping[str | None, BaseAudioMixer] | None
audio_out_destinations: list[str]
audio_out_end_silence_secs: int
audio_out_auto_silence: bool
audio_in_enabled: bool
audio_in_sample_rate: int | None
audio_in_channels: int
audio_in_filter: BaseAudioFilter | None
audio_in_stream_on_start: bool
audio_in_passthrough: bool
video_in_enabled: bool
video_out_enabled: bool
video_out_is_live: bool
video_out_width: int
video_out_height: int
video_out_bitrate: int | None
video_out_framerate: int
video_out_color_format: str
video_out_codec: str | None
video_out_destinations: list[str]
class pipecat.transports.base_transport.BaseTransport(*, name: str | None = None, input_name: str | None = None, output_name: str | None = None)[source]

Bases: BaseObject

Base class for transport implementations.

Provides the foundation for transport classes that handle media streaming, including input and output frame processors for audio and video data.

__init__(*, name: str | None = None, input_name: str | None = None, output_name: str | None = None)[source]

Initialize the base transport.

Parameters:
  • name – Optional name for the transport instance.

  • input_name – Optional name for the input processor.

  • output_name – Optional name for the output processor.

abstractmethod input() FrameProcessor[source]

Get the input frame processor for this transport.

Returns:

The frame processor that handles incoming frames.

abstractmethod output() FrameProcessor[source]

Get the output frame processor for this transport.

Returns:

The frame processor that handles outgoing frames.