guides

Face Swap Not Working, Troubleshooting Guide

Face swap not working? Fix face detection failures, virtual camera missing, black screens, and misaligned swaps. Step-by-step troubleshooting for live face swap.

Part of our guides hub.

Troubleshooting decision treeConcept diagram explaining Common face swap failures.Troubleshooting decision treeCommon face swap failuresNo face?Photo/lightingNo VCam?OBS restartBlack screen?PermissionsMisaligned?Retake photo
Troubleshooting decision tree
Troubleshooting decision treeConcept diagram explaining Common face swap failures.

When live face swap stops working, the failure usually falls into one of four buckets: face not detected, virtual camera missing, black or frozen output, or swap looks wrong. This guide walks each bucket with specific fixes, a decision tree for fast diagnosis, and links to deeper setup articles. Part of our tutorial collection.

Platform-specific symptoms: Zoom face swap guide, OBS face swap guide, face swap on Twitch.

Face not detected

LiveSwap must locate your face in every webcam frame and align it to your persona source image. Detection fails when the camera cannot see a clear facial landmark set, or when the uploaded photo does not give the model enough structure to map onto.

Lighting and camera angle

Symptoms: "No face detected" banner, swap never starts, preview shows raw webcam only.

Fixes:

  1. Add front-facing light, window behind you silhouettes the face; desk lamp in front at 45° works
  2. Position camera at eye level, not looking up nostrils or down from monitor mount
  3. Sit arm's length from the lens, too close crops chin; too far shrinks landmarks
  4. Remove sunglasses, masks, and heavy bangs covering eyebrows
  5. Disable physical webcam beauty filters in Logitech G Hub or similar, they sometimes confuse landmark models
  6. Close other apps using the camera (FaceTime, Teams preview), only one process should capture

Worked scenario: You join a evening call with a window behind you. LiveSwap never leaves "detecting." Turn on a desk lamp facing you, reload the session, detection locks within two seconds.

Photo quality issues

Detection also fails at upload time if the persona source photo is unusable.

Check your uploaded photo against avatar photo guide:

  • Single person, front-facing, neutral expression
  • Even lighting, no harsh shadow across half the face
  • No group shots, models pick the wrong face
  • Minimal beauty filters or Instagram color grades
  • JPG/PNG/WebP under 5 MB

Delete failed avatars and re-upload. LiveSwap requires consent confirmation per user conduct rules, use only faces you have rights to.

If upload succeeds but live detection fails, the live webcam conditions probably do not match the photo, e.g. persona is bare-faced but you wear glasses with glare. Match accessories or re-shoot the persona.

Virtual camera not appearing in your app

The swapped feed reaches Zoom, Meet, or Discord through a virtual camera device, typically OBS Virtual Camera after a Browser Source, or a direct virtual cam if your workflow supports it.

Symptoms: LiveSwap preview looks correct; target app's camera menu lists only physical webcams.

Fixes:

  1. Install OBS 26.0+ from obsproject.com if not present
  2. Add Browser Source with your LiveSwap stage URL (see virtual cam configuration)
  3. Click Start Virtual Camera in OBS Controls, status should show active
  4. Quit and reopen the meeting app, many apps enumerate cameras only at launch
  5. In the app: Settings → Video → Camera → select OBS Virtual Camera (Windows) or OBS Virtual Camera (macOS)

macOS permissions: System Settings → Privacy & Security → Camera and Screen Recording → enable OBS. Without screen recording, Browser Source may render black.

Windows: No extra driver for OBS Virtual Cam on recent builds. If missing, reinstall OBS and reboot once.

Do not: Select your physical webcam in Zoom and expect LiveSwap overlay, the swap output never reaches that device unless routed.

Stacking multiple virtual cameras (NDI → OBS → another tool) breaks enumeration. Simplify to LiveSwap → OBS Virtual Cam → target app.

Black screen or frozen output

Symptoms: OBS Browser Source black, Zoom shows black tile, or image stuck on one frame.

Browser Source black:

  • Confirm LiveSwap session is ON AIR, logged-out or idle tabs show empty
  • Correct URL including auth token if required, copy fresh from dashboard
  • Toggle Control audio via OBS off if unrelated; focus on Refresh cache of current page
  • Disable Hardware Acceleration in Browser Source properties, apply, refresh
  • Check OBS log for CEF errors, update OBS

Frozen frame:

  • Network drop, see lag reduction guide
  • Browser tab backgrounded, Chrome throttles; keep tab visible or disable throttling
  • Webcam disconnected, replug USB camera, restart capture in LiveSwap
  • OBS paused scene, resume or switch to live scene

Black in meeting app only:

  • Wrong camera selected (physical cam with lens cap, happens more than you'd think)
  • Zoom video stop hotkey engaged
  • Corporate policy blocking virtual camera, test Google Meet in personal account

Restart chain: End LiveSwap ON AIR → Stop OBS Virtual Cam → Start Virtual Cam → rejoin meeting preview.

Swap looks wrong or misaligned

Symptoms: Face floats off head, jaw slips when turning, colors mismatch, "mask" edges visible.

Fixes:

  1. Re-upload persona following photo quality guide, mismatched head angle in source photo is the top cause
  2. Match lighting color, warm lamp on webcam + cool daylight persona creates uncanny edges
  3. Limit head rotation, live swap handles moderate turns; profile view degrades
  4. Stable camera, tripod beats laptop lid wobble
  5. Resolution match, do not upscale 480p swap to 4K OBS canvas; scale proportionally
  6. Remove duplicate face effects, Zoom touch-up plus swap doubles processing

Read swap realism guide for expression and tier selection. Misalignment is often quality, not "broken" software.

Common mistakes

  • Testing in Zoom before starting OBS Virtual Camera
  • Uploading a celebrity photo, violates AUP and produces poor generic alignment
  • Using phone selfie with beauty mode, persona looks nothing like raw webcam
  • Forgetting to click Go live, preview in dashboard is not the same as ON AIR output
  • Running two LiveSwap tabs, camera lock conflict

Decision tree, find your issue fast

START: What do you see?

A) "No face detected" or swap never activates
   → Fix lighting, angle, persona photo
   → Still failing? New photo upload, different browser

B) Swap OK in LiveSwap browser, wrong/missing in Zoom/OBS/Discord
   → Virtual camera path
   → OBS Virtual Cam started? Correct camera in app settings?
   → macOS permissions for OBS?

C) Black or frozen image
   → ON AIR? URL correct? Browser Source refresh?
   → Network drop? Tab backgrounded?

D) Swap runs but looks wrong
   → Persona photo + lighting match
   → realistic-face-swap-tips

E) Worked yesterday, broken today
   → OS update reset camera permissions
   → OBS update, restart virtual cam
   → LiveSwap session token expired, reload stage URL

Platform articles add app-specific menus: OBS troubleshooting, Zoom camera settings, virtual camera setup guide.

Still stuck? → /get-started or support

Walk through complete swap tutorial from a clean state:

  1. New browser profile, one tab
  2. Upload verified persona
  3. ON AIR at 480p test
  4. OBS Browser Source → Virtual Cam → Meet preview

If baseline 480p works wired but your production setup fails, the issue is incremental config, compare diff.

Open account setup guide for setup wizard context. Plans from /pricing: Basic $12/mo (480p), Creator $29/mo (720p), Pro $99/mo (1080p), Studio $299/mo (1080p). Upload and prep are free; only ON AIR minutes bill.

For account-specific blocks, contact support with browser version, OS, OBS build, and screenshot of camera selection menu.

Responsible use reminder: consented personas only per platform usage rules. The sections above cover detection, virtual camera enumeration, black screens, app routing, misalignment, antivirus, and escalation, OS-specific fixes below add detail for production setups.

Antivirus and security software interference

Windows Defender, Norton, and corporate endpoint agents occasionally block virtual camera drivers or flag OBS Browser source as suspicious.

Symptoms: Virtual Camera missing after clean OBS install; Browser source loads blank despite valid URL.

Fixes:

  • Add OBS install directory to antivirus exclusions
  • Allow obs-browser-page.exe network access if prompted
  • Temporarily disable HTTPS scanning for test (re-enable after)

macOS Gatekeeper rarely blocks OBS Virtual Camera post-notarization, if blocked, download OBS only from obsproject.com.

Multi-user Mac and Fast User Switching

Second macOS user logged in simultaneously can hold camera exclusive lock. Log out other users or switch fully before streaming.

Linux-specific notes

v4l2loopback module not loaded, Virtual Camera absent entirely. Load module per OBS KB, modprobe on boot.

PipeWire vs PulseAudio rarely affects LiveSwap browser path but may affect OBS audio monitoring, separate from video troubleshooting.

Browser extension conflicts

Extensions modifying camera (privacy, beauty, filter) inject between browser and LiveSwap capture:

  • Disable extensions on liveswap.io via Chrome extension site access settings
  • Test incognito with extensions disabled
  • Common culprits: older Snap Camera bridges, corporate DLP extensions

When to factory-reset workflow

If layered misconfigurations accumulated over months:

  1. Export OBS scene collection backup
  2. Delete Browser source, recreate from scratch with fresh URL
  3. New browser profile named LiveSwap-Stream only
  4. Re-upload persona photo clean
  5. Single test path: LiveSwap ON AIR → OBS → Zoom test meeting

Nuclear reset faster than debugging opaque OBS cache corruption on some Windows installs.

Webcam hardware failure vs software failure

Hardware: swap never starts, PIP black even before ON AIR, other apps also fail with physical camera, replace USB cable, try different port, test camera in OS settings app.

Software: PIP works, swap fails, photo or cloud path. Virtual camera: browser swap works, Zoom fails, OBS permissions path.

Isolate layer before applying wrong fix, re-uploading photo does not fix dead USB webcam.

Parental controls and family accounts

macOS Screen Time or Windows Family Safety may block camera for child accounts, LiveSwap requires adult account with camera rights. Family-shared Mac: verify which user profile grants OBS camera access.

Docker / WSL2 edge case

Running browser inside WSL2 on Windows with USB passthrough experimental, unsupported for production. Use native Windows browser for LiveSwap.

Escalation template email

Subject: LiveSwap troubleshooting, [plan tier], [OS]

Body checklist:

  • Symptom category (detection / virtual cam / black / lag / alignment)
  • Browser + version
  • OBS version or N/A
  • Upload Mbps from speedtest.net
  • Screenshot of camera dropdown
  • Steps tried from /guides/face-swap-not-working

Attach OBS log if virtual camera related (Help → Log Files → Upload Last Log File).

Post-fix validation

After any fix, run minimum happy path before declaring victory:

480p → ON AIR 60s → OBS preview → Virtual Camera → Zoom test meeting 2 min → Stop stream → verify credits consumed ~1 minute.

Scale resolution only after happy path passes.

Zoom-specific troubleshooting paths

Settings path (desktop): Profile picture → SettingsVideoCameraOBS Virtual Camera. If missing, quit Zoom fully (Cmd+Q / tray Quit), restart OBS Virtual Camera, relaunch Zoom.

macOS permissions: System Settings → Privacy & Security → Camera → enable Zoom and OBS. Screen Recording for OBS if Browser source black.

Windows permissions: Settings → Privacy → Camera → allow desktop apps; ensure Zoom and OBS listed.

HD and ratio: Settings → Video → HD on only if LiveSwap tier supports it. Original ratio vs 16:9, mismatch causes stretch misread as "broken swap."

Touch up my appearance: Disable when debugging alignment, double processing masks real fixes.

Full Zoom guide: face swap Zoom tutorial.

OBS-specific troubleshooting paths

Browser source black: Right-click source → Refresh; confirm ON AIR; verify URL is /app/streaming logged-in page; toggle Control audio via OBS off for isolation tests.

Virtual Camera missing: OBS 26+ required; Start Virtual Camera in Controls; Windows reboot once after first install if needed.

macOS Screen Recording: Required for Browser source render, grant OBS in Privacy settings.

Crop lost after update: Re-apply Alt/Option drag crop; save scene collection backup.

Full OBS guide: face swap OBS tutorial.

Browser and session failures

Symptoms: Logged out mid-stream, token expired, infinite loading spinner.

Fixes:

  • Single LiveSwap tab only, close duplicates
  • Hard refresh /app/streaming (Cmd+Shift+R)
  • Clear site data only as last resort, re-login required
  • Try Chrome or Edge if Firefox strict mode blocks WebRTC
  • Disable VPN split tunnel blocking UDP

Cookie / SSO issues: Corporate SSO may expire sessions faster, schedule stream restart breaks for long events.

Account and billing symptoms mistaken for technical failure

"Swap stopped", live minutes exhausted mid-session; dashboard shows 0 credits remaining. Upgrade plan at plan pricing page or stop until renewal.

Wrong plan tier, attempting 1080p on Basic caps at 480p; looks like "quality broken" not billing, verify plan matches selected quality.

Two ON AIR sessions, second browser profile cannot share camera, appears as detection failure.

Environmental failure modes

Power outage / sleep: Laptop sleep disconnects WebRTC, wake, restart ON AIR chain.

USB hub overload: Webcam on unpowered hub drops frames, direct motherboard port.

Overheating: Thermal throttle mid-stream, fan loud, FPS drops, swap stutters. Elevate laptop, plug in power.

Conference room HDMI: Presenting laptop through room system bypasses your OBS Virtual Camera, audience sees real face on room camera. Use laptop camera path explicitly or accept room AV limits.

Windows-specific virtual camera fixes

On Windows 11, Settings → Privacy & security → Camera must allow desktop apps including OBS and your meeting client. Some builds hide virtual cameras until OBS runs elevated once, right-click OBS → Run as administrator only for first Virtual Camera start, then normal launches work.

If OBS Virtual Camera missing after update: uninstall OBS, delete %AppData%\obs-studio only if willing to reimport scenes, reinstall latest stable, reboot. Third-party virtual cam tools (ManyCam, Snap Camera legacy) can conflict, uninstall unused virtual cams from Device Manager → Cameras.

DirectShow cache occasionally stale, reboot clears enumeration without registry edits.

macOS-specific virtual camera fixes

macOS Ventura and later: System Settings → Privacy & Security → Camera enable OBS and browser. Screen Recording permission required for Browser Source, without it, black screen in OBS despite LiveSwap working in browser tab.

Apple Silicon Macs run OBS natively, Rosetta not required. After macOS major upgrade, re-approve permissions; symptoms mimic "swap broke" when only gates reset.

FaceTime or Photo Booth holding camera lock, quit completely before LiveSwap capture.

Linux and Chromebook notes

Linux OBS packages vary by distro, use official OBS PPA or Flatpak for recent Virtual Camera support. PipeWire vs PulseAudio rarely affects video but confirm browser camera permission in portal dialog.

Chromebooks run LiveSwap in browser but OBS Virtual Camera support is limited, prefer web-native apps or external capture device workflows documented in cam bridge guide.

Persona library hygiene

Corrupted persona entries from interrupted uploads cause alignment weirdness not full detection failure. Delete avatar from library, hard refresh browser, re-upload from original file not compressed messenger thumbnail. Multiple personas with similar photos confuse operators, label personas clearly in dashboard notes.

Encrypted storage means re-upload after delete, keep master photo offline backup.

Meeting app camera lock behavior

Zoom remembers last camera until changed, switching physical to OBS Virtual Camera persists per meeting profile. Teams on Windows sometimes caches Camera settings at org policy level, IT may whitelist OBS Virtual Camera or block all virtual devices; test personal Teams account isolate policy.

Discord voice channel video uses selected camera per channel session, re-check when moving between servers.

Browser-based Meet in Chrome can select OBS Virtual Camera directly without OBS in some workflows, still requires Virtual Camera started if OBS is source.

Black screen advanced diagnostics

OBS Stats dock: render lag vs encoding lag. Render lag implicates Browser Source GPU; encoding lag implicates stream output you may not use for Zoom path but still loads GPU.

LiveSwap stage URL with expired session token shows login page inside Browser Source, looks like black or static login form zoomed out. Copy fresh URL from dashboard each session.

Hardware acceleration toggle in Browser Source: try opposite setting. Windows laptops with dual GPU sometimes need OBS set to integrated graphics in NVIDIA control panel for Browser Source stability.

Alignment troubleshooting beyond photo

Temporary misalignment during fast head turn normal, persistent drift indicates photo or lighting issue. Glasses glare: tilt chin slightly or add anti-glare coating; persona without glasses while live glasses increase eye region slip.

Microphone boom covering mouth corner triggers brief landmark loss, boom below chin line.

Integration with lag troubleshooting

Frozen output may be lag extreme or true freeze, distinguish with timestamp overlay in OBS. If time advances but face static, detection lost; if whole frame static, network or Browser Source stuck.

Cross-link stream delay fixes when stutter not black.

Responsible troubleshooting context

Failed swap troubleshooting never justifies uploading non-consented faces to "test if model works." Use your own likeness or licensed character assets per compliance terms.

Intermittent failures ( hardest class )

Symptoms work Monday, fail Friday, suspect environmental change not config regression:

  • Router firmware auto-update changed QoS
  • New roommate streaming 4K
  • Laptop OS update reset camera permissions
  • ISP maintenance window increased jitter

Keep a one-page setup journal: date, change event, symptom, fix applied. Patterns emerge faster than repeated full re-setup.

Collaboration with support

When escalating, offer a two-minute screen recording (no secrets in URL bar if possible, blur session token) showing: LiveSwap ON AIR state, OBS preview, target app camera menu. Visual context resolves mislabeled "black screen" reports that are actually wrong crop or logged-out browser source.

Related platform troubleshooting links

After generic fixes fail, platform articles document app-specific quirks:

Responsible use: consented personas per our AUP regardless of technical success.

Time-boxed debug sessions

When frustrated, set a 20-minute timer:

  • Minutes 0–5: verify ON AIR and PIP
  • Minutes 5–10: OBS Browser source refresh and crop
  • Minutes 10–15: Virtual Camera restart and app relaunch
  • Minutes 15–20: 480p incognito hotspot test

If hotspot 480p works, stop debugging software, fix network or accept lower tier. Continuing past 20 minutes without isolation repeats same guesses.

Documenting working config

When setup succeeds, screenshot:

  • Zoom Settings → Video with OBS Virtual Camera selected
  • OBS Sources panel with LiveSwap browser dimensions visible
  • LiveSwap Stream quality settings

Store in private folder, rebuild after OS reinstall in minutes not hours. Name files with date and plan tier.

Community vs official guidance

Third-party Discord and Reddit tips may reference deprecated obs-virtualcam plugin, OBS 26+ built-in Virtual Camera replaced it. Ignore plugin install instructions unless you run OBS versions from 2020.

Official path: LiveSwap Connect to OBS dialog and this guide's Browser source method only.

Frequently asked questions

Start your first live face swap

No install, no GPU. Upload a photo, pick a persona, and go live in minutes.