Bambu Lab P1S Videostream

Update: Funktioniert noch mit der aktuellsten Firmware, Stand 28.09.2025

Aufgrund den Einschränkungen von Bambu Lab ist es nicht so einfach möglich, an den Videostream zu gelangen, um diesen z.B. in eine Haussteuerung wie ioBroker einzubinden. Ich verwende den Drucker im ‚Cloud‘-Modus, wie das Verhalten im ‚LAN Only Mode“ ist, kann ich nicht sagen.

Um nun doch an den Stream zu kommen, verwende ich das Tool BambuP1Streamer von slynn1234.

Dieses Tool is auf einem Debian / Ubuntu System sehr schnell eingerichtet.

Erst mal die Paketquellen und das System aktualisieren:

sudo apt update

sudo apt upgrade -y

Ich verwende hier Podman und nicht Docker, also installieren wir das

sudo apt install podman

Dann wechseln wir in das richtige Verzeichnis und holen uns das Tool

cd /opt
git clone https://github.com/slynn1324/BambuP1Streamer.git

Dann erstellen wir den Container mit

cd BambuP1Streamer
podman build -t bambu_p1_streamer .

Die IP-Adresse und den Access Code können wir direkt am Drucker ermitteln

und starten den Container zum Test mittels

podman run --name bambu_p1_streamer -p 1984:1984 -e PRINTER_ADDRESS=[IP-Adresse des Druckers] -e PRINTER_ACCESS_CODE=[ACCESS CODE] localhost/bambu_p1_streamer

Nun kann z.B. mit dem VLC-Player der Stream mit der URL http://[IP-Adresse des Linux-Systems]:1984/api/stream.mjpeg?src=p1s angezeigt werden.

Podman enthält kein Autostart für Container. Wir behelfen uns da mit systemd.

Wir erstellen eine neue Datei

vi //lib/systemd/system/bambu_p1_streamer.service

mit folgenden Inhalt

[Unit]
Description=Podman container-bambu_p1_streamer.service
Documentation=man:podman-generate-systemd(1)
Wants=network-online.target
After=network-online.target
RequiresMountsFor=%t/containers

[Service]
Environment=PODMAN_SYSTEMD_UNIT=%n
Restart=on-failure
TimeoutStopSec=70
ExecStartPre=/bin/rm -f %t/%n.ctr-id
ExecStart=/usr/bin/podman run --cidfile=%t/%n.ctr-id --cgroups=no-conmon --rm --sdnotify=conmon --replace -d --name bambu_p1_streamer -p 1984:1984 -e PRINTER_ADDRESS=[IP-Adresse des Druckers] -e PRINTER_ACCESS_CODE=[Access Code] localhost/bambu_p1_streamer
ExecStop=/usr/bin/podman stop --ignore --cidfile=%t/%n.ctr-id
ExecStopPost=/usr/bin/podman rm -f --ignore --cidfile=%t/%n.ctr-id
Type=notify
NotifyAccess=all

[Install]
WantedBy=default.target

Dann laden wie systemd neu und aktivieren den Dienst

systemctl daemon-reload
systemctl enable bambu_p1_streamer.service

Bildquellen

  • Bambu Lab P1S: Michael Hölzle