Baby Monitor
WebRTC-based Real-Time Video & Audio Monitoring
About this Project: This is a personal project showcasing WebRTC technology for real-time video streaming. The codebase is open-source and available on GitHub.
What is Baby Monitor?
Baby Monitor is a free, open-source WebRTC-based application that turns any two devices with cameras into a real-time baby monitoring system.
Stream live video and audio from your baby's room to your phone, tablet, or computer from anywhere in the world.
🎥 Real-Time Video
HD video streaming using WebRTC technology for low-latency monitoring
🔊 Sound Detection
Adjustable audio level monitoring with customizable sensitivity
👶 Motion Detection
Visual motion detection alerts you when baby moves
🔒 Secure Access
Password-protected access with server-side validation
📱 Cross-Platform
Works on desktop and mobile browsers - no app installation needed
🌐 Remote Access
Monitor from anywhere with internet connection
How It Works
Setup Overview
Note: This documentation explains how the baby monitor works. To deploy your own instance, clone the repository from GitHub.
Step 1: Setup Baby View (Camera Device)
- Open Baby View: Navigate to the baby view page in your browser
- Allow Permissions: Grant camera and microphone access when the browser requests it
- Note the Room ID: A 6-digit room code is automatically generated and displayed
- Configure Detection: Enable sound and/or motion detection and adjust sensitivity thresholds
- Place Device: Position the device with a clear view and keep the page open
Step 2: Setup Parent View (Monitor Device)
- Open Parent View: Navigate to the parent view page on your monitoring device
- Enter Room ID: Type in the 6-digit room code from the baby view device
- Connect: Click "Connect to Baby Monitor"
- Monitor: Live video stream appears with real-time alerts for sound/motion detection
Tips for Best Experience
- Stable Internet: Use WiFi connection for both devices for best quality
- Device Positioning: Ensure the camera has a clear view and is stable
- Adjust Sensitivity: Fine-tune sound/motion detection to reduce false alerts
- Keep Pages Open: Don't close or minimize the browser on either device
- Power Connection: Keep the baby view device plugged in
- Test First: Do a test run before actual use to ensure everything works
Technical Details
Technology Stack
WebRTC
Socket.io
JavaScript
HTML5
Cloudflare Functions
PWA
How It Works
The baby monitor uses WebRTC (Web Real-Time Communication) for peer-to-peer video streaming.
A signaling server (built with Socket.io) helps establish the connection between devices.
Once connected, video and audio stream directly between devices for minimal latency.
Connection Modes:
- Local Mode: When both devices are on the same WiFi network, they connect directly using local IP addresses (e.g., 192.168.x.x). No external servers needed for the video stream.
- Remote Mode: When monitoring from outside your home network, the app uses Google's free STUN servers (stun.l.google.com) to discover public IP addresses and enable peer-to-peer connection across the internet.
Important: In both modes, video always streams directly peer-to-peer between your devices.
Video is never stored, recorded, or routed through any external servers. STUN servers only help discover
public IP addresses - they never see or handle your video data.
Privacy & Security
- Access protected by server-side password validation
- Room codes are randomly generated and expire after use
- Video streams directly between your devices (peer-to-peer)
- No video recording or storage on servers
- Open source - you can review the code on GitHub
Browser Compatibility
Works on modern browsers that support WebRTC:
- Chrome/Edge (Desktop & Mobile)
- Firefox (Desktop & Mobile)
- Safari (Desktop & Mobile iOS 11+)
- Opera
Troubleshooting
Common Issues
Camera/Microphone Not Working:
- Check browser permissions (usually a camera icon in the address bar)
- Ensure no other app is using the camera
- Try refreshing the page
Connection Failed:
- Verify both devices are connected to the internet
- Double-check the room ID is entered correctly
- Try generating a new room code by refreshing the baby view
Poor Video Quality:
- Check your internet connection speed
- Move closer to WiFi router
- Close other bandwidth-heavy applications
Too Many False Alerts:
- Reduce motion detection sensitivity
- Increase sound detection threshold
- Ensure stable camera placement (avoid moving shadows, fans, etc.)
← Back to Apps