A browser-based video recorder that captures webcam footage through an HTML canvas element. One can change the captured webcam while recording.
- Record video from any connected webcam
- Configurable resolution (240p to 4K)
- Configurable frame rate (15, 20, 30, or 60 fps)
- Real-time FPS monitoring during recording
- Audio recording support
- Live preview with recording timer
- Download recordings as MP4 or WebM
- Switch cameras during recording
- Open
index.htmlin a browser - Grant camera and microphone permissions
- Select your preferred resolution, frame rate, and camera
- Click "Start Recording" to begin
- Click "Stop Recording" when finished
- Preview the recording and download if satisfied
The application draws video frames from the webcam onto a hidden canvas using setInterval at the target frame rate, then captures the canvas as a MediaStream for recording. This approach allows for consistent frame rate control regardless of the webcam's native capabilities, and is more resource-efficient than using requestAnimationFrame since it only executes at the exact rate needed.
Requires a modern browser with support for:
- MediaRecorder API
- Canvas captureStream
- getUserMedia