juturna.nodes.source package

Module contents

class juturna.nodes.source.AudioFile(file_source: str, block_size: int, audio_rate: int, **kwargs)

Bases: Node[AudioPayload, AudioPayload]

Read in an audio file, chunk it based on the configured length, then make them available to the pipe in a real-time fashion.

update(message: Message[AudioPayload])
warmup()
class juturna.nodes.source.AudioRTP(rec_host: str, rec_port: int, audio_rate: int, block_size: int, channels: int, process_log_level: str, payload_type: int, encoding_clock_chan: str, **kwargs)

Bases: Node[BytesPayload, AudioPayload]

Source node for streaming audio

clear_source()

Clear any source functions defined on the node

property configuration: dict

Fetch node configuration

configure()

Configure the node

destroy()

Destroy the node

property ffmpeg_launcher: Path

Fetch the FFmpeg launcher script

monitor_process(proc: Popen)

Monitor underlying subprocess for unintentional stops

property sdp_descriptor: Path

Fetch the SDP descriptor file

start()

Start the node

stop()

Stop the node

update(message: Message[BytesPayload])

Read a message, return a message

warmup()

Warmup the node

class juturna.nodes.source.VideoRTP(rec_host: str, rec_port: int | str, payload_type: int, codec: str, width: int, height: int, **kwargs)

Bases: Node[BytesPayload, ImagePayload]

Source node for video streaming

property configuration: dict

Fetch node configuration

configure()

Configure the node

destroy()

Destroy the node

property ffmpeg_launcher: Path

Fetch the FFmpeg launcher script

property sdp_descriptor: Path

Fetch the SDP descriptor file

start()

Start the node

stop()

Stop the node

update(message: Message[BytesPayload])

Receive a message, transmit a message

warmup()

Warmup the node