---
name: "v4l2loopback-ctl"
section: "1"
platform: "linux"
package: "v4l2loopback-utils"
version: "0.15.4-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/v4l2loopback-ctl"
---

# v4l2loopback-ctl(1)

control v4l2 loopback devices

## NAME

unable - control v4l2 loopback devices

## SYNOPSIS

**v4l2loopback-ctl** \[*OPTIONS*\]\
 **v4l2loopback-ctl** *add* \[*OPTIONS*\] \[*\<outputdevice\>* \[*\<capturedevice\>*\]\]\
 **v4l2loopback-ctl** *delete \<device\>*\
 **v4l2loopback-ctl** *list* \[*OPTIONS*\]\
 **v4l2loopback-ctl** *query* \[*OPTIONS*\] *\<device\>*\
 **v4l2loopback-ctl** *set-fps \<device\> \<fps\>*\
 **v4l2loopback-ctl** *get-fps \<device\>*\
 **v4l2loopback-ctl** *set-caps \<device\> \<caps\>*\
 **v4l2loopback-ctl** *get-caps \<device\>*\
 **v4l2loopback-ctl** *set-timeout-image* \[*OPTIONS*\] *\<device\> \<image\>*

## DESCRIPTION

Manage v4l2 loopback devices.

The general invocation uses a verb (like 'add' or 'delete') that defines an action to be executed. Each verb has their own options and arguments.

## OPTIONS

**-h**, -?, **--help**: print this help and exit

**-v**, **--version**: print version and exit

## VERBS AND THEIR ARGUMENTS

### v4l2loopback-ctl add \[OPTIONS\] \[\<outputdevice\> \[\<capturedevice\>\]\]:

-

  create/add a new loopback-device

- **-b** \<num\>, **--buffers** \<num\>

  buffers to queue

- **-h** \<h\>, **--max-height** \<h\>

  maximum allowed frame height

- **-n** \<name\>, **--name** \<name\>

  pretty name for the device

**-o** \<num\>, **--max-openers** \<num\> maximum allowed concurrent openers

- **-v**, **--verbose**

  verbose mode (print properties of device after successfully creating it)

- **-w** \<w\>, **--max-width** \<w\>

  maximum allowed frame width

- **-x** \<x\>, **--exclusive-caps** \<x\>

  whether to announce OUTPUT/CAPTURE capabilities exclusively

- **--min-width** \<w\>

  minimum allowed frame width

- **--min-height** \<w\>

  minimum allowed frame height

- \-?, **--help**

  print this help and exit

- \<outputdevice\>

  if given, create a specific device (otherwise just create a free one).

-

  either specify a device name (e.g. '/dev/video1') or a device number ('1').

- \<capturedevice\>

  if given, use separate output & capture devices (otherwise they are the same).

### v4l2loopback-ctl delete \<device\>:

-

  delete/remove an unused loopback device

- \<device\>

  can be given one more more times (to delete multiple devices at once). either specify a device name (e.g. '/dev/video1') or a device number ('1').

### v4l2loopback-ctl list \[OPTIONS\]:

-

  list all available loopback-devices

- **-e**, **--escape**

  escape control-characters in (device) names

- **-h**, **--help**

  print this help and exit

### v4l2loopback-ctl query \[OPTIONS\] \<device\>:

-

  query information about a loopback device

- **-e**, **--escape**

  escape control-characters in (device) names

- **-h**, **--help**

  print this help and exit

- \<device\>

  can be given one more more times (to query multiple devices at once). either specify a device name (e.g. '/dev/video1') or a device number ('1').

### v4l2loopback-ctl set-fps \<device\> \<fps\>:

-

  set the default framerate for a loopback device

- \<device\>

  either specify a device name (e.g. '/dev/video1') or a device number ('1').

- \<fps\>

  frames per second, either as integer ('30') or fraction ('50/2').

### v4l2loopback-ctl get-fps \<device\>:

-

  query the framerate of a loopback device

### v4l2loopback-ctl set-caps \<device\> \<caps\>:

-

  set format/dimension/framerate of a loopback device

- \<device\>

  either specify a device name (e.g. '/dev/video1') or a device number ('1').

- \<caps\>

  format specification as '\<fourcc\>:\<width\>x\<height\>@\<fps\>' (e.g. 'UYVY:1024x768@60/1') unset the current caps with the special value 'any'

### v4l2loopback-ctl get-caps \<device\>:

-

  get current format/dimension/framerate of a loopback device

### v4l2loopback-ctl set-timeout-image \[OPTIONS\] \<device\> \<image\>:

-

  set a fallback image to be used if a video producer does not send new frames in time.

- \<flags\>

  any of the following flags may be present

- **-h**, **--help**

  print this help and exit

- **-t** \<timeout\>, **--timeout** \<timeout\>

  timeout (in ms)

- **-v**, **--verbose**

  raise verbosity (print what is being done)

- \<device\>

  either specify a device name (e.g. '/dev/video1') or a device number ('1').

- \<image\>

  image file

## REPORTING BUGS

Issue tracker: https://github.com/umlaeute/v4l2loopback/issues\
 Security Issue tracker: https://git.iem.at/zmoelnig/v4l2loopback/-/issues

utils/v4l2loopback-ctl v0.15.4
