Skip to content

Introduce HW camera stack using Rockchip MPP/VPU#1

Merged
paxx12 merged 3 commits intomainfrom
new-camera-stack
Nov 23, 2025
Merged

Introduce HW camera stack using Rockchip MPP/VPU#1
paxx12 merged 3 commits intomainfrom
new-camera-stack

Conversation

@paxx12
Copy link
Copy Markdown
Owner

@paxx12 paxx12 commented Nov 23, 2025

Summary

This branch introduces an extended firmware variant with a new hardware-accelerated camera stack for the Snapmaker U1, using the Rockchip MPP/VPU.

It only works in LAN mode, as it does not support any cloud functions.

Key Changes

Uses https://github.com/paxx12/v4l2-mpp that follows a multi-process architecture:

  • Custom V4L2 capture tool with Rockchip MPP hardware encoding
  • Multi-process architecture:
    • capture-mipi-mpp (C) - captures MIPI video, encodes to H264/JPEG via hardware, exposes via sockets
    • capture-usb-mpp (C) - captures USB video, encodes to H264/JPEG via hardware, exposes via sockets
    • stream-http.py - HTTP server for camera endpoints
    • stream-mqtt.py - MQTT interface for timelapse generation (Snapmaker U1 compatible)

Camera Endpoints

Endpoint Description
/webcam/snapshot.jpg JPEG snapshot
/webcam/stream.mjpg MJPEG stream (~15fps)
/webcam/stream.h264 H264 raw stream
/webcam/player H264 web player

Firmware Variants

  • Basic - SSH, USB ethernet, native camera (~1Hz in Fluidd)
  • Extended - Basic + new HW-accelerated camera stack

Build System

  • Renamed create_custom_firmware.sh → create_firmware.sh
  • Reorganized overlays into basic/ and camera-new/ directories
  • Updated GitHub Actions to build both firmware variants

@paxx12 paxx12 force-pushed the new-camera-stack branch 5 times, most recently from d597b0c to 094431f Compare November 23, 2025 21:43
@paxx12 paxx12 merged commit 26103d7 into main Nov 23, 2025
1 check passed
@paxx12 paxx12 deleted the new-camera-stack branch November 23, 2025 23:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant