# Stream

## class nominal.experimental.video.Stream(src, sink, options=None)

Bases: [`object`](https://docs.python.org/3/builtins/functions.html#object "(in Python v3.15)")

### close()

Gracefully stop: signal the bus thread, wait for it, tear down the pipeline.
Idempotent — safe to call multiple times. Stream can be reopened with open() after close().

### open()

Build and start the pipeline. Idempotent — safe to call multiple times.

### recv_encoded(timeout_ms=None)

### recv_frame(timeout_ms=None)

### restart()

Stop and restart the pipeline.

### run(seconds=None)

Block until the stream ends or errors. Handles Ctrl+C cleanly.

### send_encoded(data, timestamp_ns=None)

### send_frame(data, timestamp_ns=None)
