Skip to content

Releases

v0.1.0

Choose a tag to compare

@jiunshinn jiunshinn released this 03 Oct 23:49
9740555

Experimental: your webcam as the emulator's camera

serve-emu can now boot an AVD with your computer's webcam, or a still image, as its Android camera (#71):

serve-emu --webcam-list
# webcam0	FaceTime HD Camera

serve-emu --avd Pixel_8 --camera-back webcam0

Use --camera-front for apps that open the front camera, and imagefile:<path> for a still image, such as a QR code for a scanner test. The emulator picks its cameras at boot, so these flags need --avd. Add --restart-avd if the AVD is already running.

Camera support is experimental. The preview can be slow, and the flags may change in a later release:

  • The preview updates no faster than the webcam, usually 30 fps.
  • On Apple Silicon, Android Emulator 36.6 slows the preview to a few frames per second once the guest goes idle. Emulator 37.2.12 holds about 30 fps, so update with sdkmanager --install emulator, or give the AVD 2 CPU cores.
  • The webcam must be on the computer running serve-emu. A remote viewer's browser camera can't feed the emulator.

Setup and the full list of limitations are in the README's Camera section. Please report problems in issues.

Fixed

  • Back-to-back video resets no longer freeze the stream for tens of seconds on slow devices. Session packets no longer trigger a reset, and reset requests that arrive before the pending restart's key frame are coalesced into it, with a backoff from 2.5 up to 30 seconds (#79).

Added

  • /health keyFrameRecovery reports pendingResetAgeMs and resetBackoffMs.

Install

bunx serve-emu@latest
# or: npx serve-emu@latest

The CLI runs on Bun 1.3.13 or newer, even when started through npx.

Full changelog: CHANGELOG.md · v0.0.6...v0.1.0