OctoPrint neu gemacht: Nach dem Umzug der Instanz von einem Raspberry auf eine AMD64-Kiste und der Aktualisierung auf Python 3.13 über µStreamer gestolpert.
MJPG-Streamer deaktiviert, µStreamer installiert und nach 5 Minuten läuft die Logitech C920 am alten Anycubic I3 Mega, dem "old reliable".
Eine einfachte Service Unit /etc/systemd/system/ustreamer.service für den Dienst:
[Unit]
Description=uStreamer service
After=network.target
[Service]
Environment=""
User=root
PIDFile=/run/ustreamer.pid
ExecStart=/usr/bin/ustreamer \
--device=/dev/video0 \
--host=0.0.0.0 \
--port=9000 \
--encoder=HW \
--quality=80 \
--workers=3 \
--brightness=80 \
--resolution=1280x720 \
--desired-fps=25 \
--blank=/opt/zdf.jpg \
--drop-same-frames=30
[Install]
WantedBy=multi-user.target
Dann systemctl daemon-reload ; systemctl enable ustreamer ; systemctl restart ustreamer
Der Kamera-Stream ist für OctoPrint unter http://127.0.0.1:9000/stream erreichbar, der Snapshot für
Timelapse-Aufnahmen unter http://127.0.0.1:9000/snapshot. Auf http://[IP]:9000/ ist eine Seite mit
Informationen und Hilfe verfügbar.
In der config.yaml von OctoPrint lassen sich dann leicht die Actions für µStreamer einbinden:
[...]
system:
actions:
- action: streamon
command: sudo service ustreamer start
confirm: false
name: Kamera Stream an
- action: streamoff
command: sudo service ustreamer stop
confirm: false
name: Kamera Stream aus
- action: streamrestart
command: sudo service ustreamer restart
confirm: false
name: Kamera Stream Neustart
- action: divider
[...]

Das "blank"-Bild für die Ü50-User ist hier:
