Stream your OnePlus 8 camera feed to macOS over ADB — use it as a high-quality (4K/30fps) webcam in Zoom, Teams, OBS, or any app.
Phone (USB) ──ADB──> scrcpy (camera mode) ──> window on Mac ──> OBS Virtual Camera ──> any app
scrcpy captures the phone's camera via --video-source=camera and displays it in a window. OBS or Camo can then pipe that window as a virtual webcam.
- Enable Developer Options: Settings → About Phone → tap "Build Number" 7 times.
- Enable USB Debugging: Settings → Developer Options → USB Debugging → ON.
- Connect the phone to your Mac via USB.
- Homebrew installed.
# 1. Clone the repo
git clone <repo-url> mac-scrcpy-env
cd mac-scrcpy-env
# 2. Install dependencies (scrcpy + adb)
make deps
# 3. Create your local config
cp .env.example .env
# 4. Adjust camera settings in .env (optional)
vim .envYour OnePlus 8 has multiple cameras. To list them:
adb shell dumpsys media.camera | grep -i "cameraid"Then set CAMERA_ID in .env accordingly (e.g. 0 for main rear, 2 for ultra-wide).
make up # Start the camera stream
make down # Stop the stream and ADB daemonA window titled "OnePlus8_Cam" will appear showing your phone's camera feed.
The scrcpy window itself is not a webcam device — you need an intermediate to expose it as a virtual camera:
- Install OBS.
- Start OBS, Tools → Start Virtual Camera (this creates a virtual camera device).
- Add a Window Capture source, select the "OnePlus8_Cam" window.
- Crop/resize the source to fill the canvas.
- In Zoom/Teams/etc., select "OBS Virtual Camera" as your camera.
make up) before opening OBS, so the window exists for capture.
- Install Camo Studio.
- Add the "OnePlus8_Cam" window as a source.
- Select "Camo Camera" in your video-conferencing app.
Edit .env — this is the starting example:
# Camera Parameters
CAMERA_ID=2
CAMERA_RES=3840x2160
CAMERA_FPS=30
# Transport Parameters
VIDEO_BITRATE=30M| Variable | Default | Description |
|---|---|---|
CAMERA_ID |
2 |
Android camera device ID |
CAMERA_RES |
3840x2160 |
Resolution (WxH) |
CAMERA_FPS |
30 |
Frame rate |
VIDEO_BITRATE |
30M |
Video encoding bitrate |
Unlock your phone and accept the "Allow USB debugging" prompt when connecting. If it doesn't appear, run adb kill-server && adb devices to retrigger it.
- Check the USB cable (data-capable, not charge-only).
- Try a different USB port.
- Run
adb kill-server && adb start-serverthen reconnect.
Make sure no other app is using the camera on your phone. Close the Camera app, Snapchat, etc.
Run make deps to install scrcpy via Homebrew.
- Lower
VIDEO_BITRATE(e.g.8M). - Lower
CAMERA_RES(e.g.1920x1080). - Lower
CAMERA_FPS(e.g.15).
make clean # stops stream + uninstalls scrcpy and adb