Transform your Raspberry Pi into a powerful home security camera with the Pi Camera app. Using peer-to-peer (P2P) communication over WebRTC to make a decentralized monitor system, this app connects directly to your Raspberry Pi, allowing you to monitor live video with minimal delay and access historical footage. [demo video]
π Low-Latency Live Monitoring: Achieve extremely low-latency video streaming through WebRTC technology, ensuring you donβt miss any important moments.
π Playback of Historical Footage: Easily view and manage recorded videos to meet your security needs.
π Simple Setup: Quickly configure your Raspberry Pi camera through a user-friendly interface.
π Privacy Protection: Direct P2P connection without relying on third-party servers ensures that your data is fully under your control.
π Open-Source Support: The camera source code is fully open-source, allowing you to customize and extend it as needed.
A MQTT server. (STUN and TURN servers are optional).
Important Notice
stun:stun.l.google.com:19302
will be used by default.Click π icon and paste your servers setting. Here is an example mqtt setting shown on HiveMQ.
UUID
, which will be used on your Raspberry Pi later.UUID
at the beginning. Once confirmed, the UUID
cannot be edited; you will need to delete the device and add a new one if changes are needed.The new device will appear on the list after clicking the confirm button. You can change the order of devices on the selectors and home page by dragging the β° icon.
Download the pi_webrtc
software from the release page.
Run the pi_webrtc
on your Raspberry Pi. Hereβs an example where the device uid
is set to abcdefg-123-1qaz2wsx
in the app.
Important: The MQTT port specified in the command is NOT the WebSocket port (8884), but the standard MQTT protocol port (8883).
/path/to/pi_webrtc --device=/dev/video0 --fps=30 --width=1280 --height=960 --v4l2_format=h264 --hw_accel --mqtt_host=example.s1.eu.hivemq.cloud --mqtt_port=8883 --mqtt_username=hakunamatata --mqtt_password=WonderfulPhrase --uid=abcdefg-123-1qaz2wsx --record_path=/mnt/ext_disk/video/
For detailed setup instructions, please refer to the guide on the RaspberryPi_WebRTC page.
Please switch to the home page, the app will try to connect to Raspberry Pi.
If everything is correct, the status light will turn green.
The preview image is refreshed every 90 seconds, and it can be refreshed immediately by scrolling down the page.
Pick up the second phone click the QR code button in the add device section, and scan the QR code will copy the device, including the network setting, to the second phone. Notice! The network setting will be replaced in the second phone if set before.
If you have any questions, need support, or just want to provide feedback, you can reach out via
Thank you for using Pi Camera!