- Download or clone this repository
- Go to
chrome://extensions - Enable "Developer Mode" (toggle in top right)
- Click "Load unpacked"
- Browse to the folder with the extension (where
manifest.jsonis located) - Important: Reload any open web pages to enable the extension
- Download or clone this repository
- Go to
about:debugging#/runtime/this-firefox - Click "Load Temporary Add-on..."
- Browse to the folder and select
manifest.json - Important: Reload any open web pages to enable the extension
Option 1: Full Settings Page (Recommended)
- Right-click the extension icon and select "Options"
- Or go to
chrome://extensions, find "Daydream Dreamcam", and click "Extension options" - Enter your Daydream API key from app.daydream.live
- Customize your AI prompt (optional)
- Click "Save Settings"
Option 2: Quick Popup
- Click the extension icon in your browser toolbar
- Enter your API key and prompt
- Click "Save Settings"
- Get your free API key from app.daydream.live
- Configure the extension using either method above
- Visit any website that uses your webcam
- Select "Daydream Dreamcam" from the camera list
- Your video will be processed in real-time with AI!
Now any (most) pages using getUserMedia will see a "Daydream Dreamcam" device
Should work on Chromium based browsers that support extensions.
The extension uses WHIP/WHEP protocols to send and receive video streams:
Server-Side AI Processing
- Sends your camera video to Daydream's AI processing servers
- Applies real-time AI effects and transformations
- Returns the processed video stream to your browser
Audio Passthrough
- Your microphone audio passes through directly without processing
- Only video is sent to the server for AI processing
- Ensures low latency for voice communication
Processing Flow
- Publish your camera video (only) to the WHIP endpoint
- Poll the status API (with retries) until the stream is ready
- Extract the WHEP URL from
gateway_status.whep_url - Subscribe to the processed video via WHEP
- Combine processed video with original microphone audio in the output stream
API Key Required
- Get your free API key from app.daydream.live
- Configure it in the extension settings (Options page or popup)
- The API key authenticates your requests to Daydream's servers
The virtual webcam will:
- Filter out any other virtual cameras
- Prefer cameras with "Macbook" in the name
- Fall back to the first available physical camera
Tested with
- Hangouts
- Meet
- Zoom
To package the extension for Chrome Web Store or Firefox Add-ons submission:
./package.shThis will create:
build/daydream-dreamcam-chrome-v1.0.0.zip- Ready for Chrome Web Storebuild/daydream-dreamcam-firefox-v1.0.0.zip- Ready for Firefox Add-ons
Before submitting to extension stores:
- Review the submission guide: See
STORE_SUBMISSION.mdfor detailed instructions - Prepare privacy policy: Host
PRIVACY.mdon a public URL (required by both stores) - Prepare screenshots: Follow the guide in
store-listings/screenshots-checklist.md - Review store listings: Use the content in
store-listings/directory
For complete submission instructions, see STORE_SUBMISSION.md
js/- Extension JavaScript filesinject.js- Content script that bridges page script and Chrome APIsmedia-devices.js- Virtual camera implementation and MediaDevices API patchingwhip-whep-stream.js- WHIP/WHEP streaming protocol implementationmain.js- Main extension entry point
popup.html/popup.js- Quick settings popup UIoptions.html/options.js- Full extension settings pagemanifest.json- Extension manifest (Manifest V3)package.sh- Packaging script for store submissionPRIVACY.md- Privacy policy documentSTORE_SUBMISSION.md- Store submission guidestore-listings/- Store listing content and guidelines