webcam_stream
Start, stop, or check a local relay that re-serves one printer camera feed as a shared MJPEG stream for multiple print-monitor viewers, with status reporting and camera-address checks.
Instructions
Control the local live-video relay for the print monitor.
ONE connection to the printer's camera, re-served as an MJPEG stream on
this machine so every viewer shares it. Reads an HTTP MJPEG webcam
(OctoPrint, Moonraker, a camera you registered) or a Bambu A1 / P1
camera's own port-6000 feed. The reply's ``capability`` says whether
this printer can be relayed and, when not, why — an X1 / P2S / H2
camera streams RTSPS, which the relay does not carry (snapshots still
work). ``stream`` carries the frame's age and the measured frame rate:
``live`` is false when the picture may be frozen.
Local-only: the relay reads the camera over your LAN and serves on
loopback, so on the hosted server it says so instead of starting.
Snapshots (``printer_snapshot``, ``monitor_print``) are unchanged.
A refused start on a printer type that has a camera check carries
``check_available: true``; ``action="check"`` then looks at what that
printer's likely camera addresses actually serve.
Args:
printer_name: Target printer. Omit for the default printer.
action: One of ``"start"``, ``"stop"``, ``"status"``, or
``"check"``. ``"check"`` runs only when asked: it tries each
address this printer type's camera is known to answer on, on
the printer's own host, with one GET each (a printer that gives
out its camera address on request is asked for it first, as a
start does), and replies with
``checks`` (what each served — a live stream, a still, a WebRTC
page, a web page, an error, or nothing — and where the address
comes from), a ``summary`` and a ``next_step``. It registers
nothing; when it finds a live stream, ``next_step`` says how to
register that address as the printer's camera. Local-only,
like ``"start"``.
port: Local port for the stream server (default 8081).
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "webcam_stream"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| port | No | Local port for the stream server (default 8081). Default: 8081. | |
| action | No | One of ``"start"``, ``"stop"``, ``"status"``, or ``"check"``. ``"check"`` runs only when asked: it tries each address this printer type's camera is known to answer on, on the printer's own host, with one GET each (a printer that gives out its camera address on request is asked for it first, as a start does), and replies with ``checks`` (what each served — a live stream, a still, a WebRTC page, a web page, an error, or nothing — and where the address comes from), a ``summary`` and a ``next_step``. It registers nothing; when it finds a live stream, ``next_step`` says how to register that address as the printer's camera. Local-only, like ``"start"``. Default: "status". | |
| printer_name | No | Target printer. Omit for the default printer. |