Wendy LogoWendy
Guides & TutorialsDevice Management

Camera Access

Use USB and CSI cameras from WendyOS apps

Camera Access

Camera access is used for webcam streaming, computer vision, image capture, and ML inference pipelines. WendyOS keeps camera devices hidden from apps by default, so your project needs a camera entitlement before the app can open /dev/video*.

Add the entitlement from your project directory:

wendy project entitlements add camera

The older video entitlement is still accepted for compatibility, but new projects should use camera.

Inspect Cameras on a Device

Use the device video commands to see which cameras WendyOS can see:

wendy device video list

The output includes a device ID, name, and path such as /dev/video0. Use the ID with stream commands:

wendy device video stream --id 0

To request a specific stream shape:

wendy device video stream --id 0 --width 1280 --height 720 --fps 30

If you want to pipe the encoded stream instead of opening a local preview window:

wendy device video stream --id 0 --stdout

For broad hardware inspection, filter the device capability list:

wendy device hardware list --category camera

App Configuration

A minimal wendy.json camera app looks like this:

{
  "appId": "com.example.camera",
  "version": "1.0.0",
  "entitlements": [
    { "type": "camera" }
  ]
}

To restrict the app to one camera device:

{
  "type": "camera",
  "allowlist": ["/dev/video0"]
}

Common Pairings

Camera apps often also need:

  • network for HTTP or WebSocket video streams
  • gpu for NVIDIA Jetson inference or accelerated image processing
  • persist for saving snapshots or clips

For a camera plus GPU app:

wendy project entitlements add camera
wendy project entitlements add gpu

Then deploy:

wendy run