# olef video

Source: https://olef.dev/docs/reference/cli/video

Generated from **Olef 3.0.2**. [All commands](https://olef.dev/docs/reference/commands) · [Capabilities and requirements](https://olef.dev/docs/reference/capabilities)

These entries describe available commands, not a sequence to run. Check prerequisites before changing app, device, or cloud state. Global options are listed in the [command catalog](https://olef.dev/docs/reference/commands#global-options).

## olef video

Screen-record a device into a timestamped, crash-safe evidence bundle

```bash
olef video --help
```

Output: **json**.

### olef video record

Record in the foreground until --duration elapses or Ctrl-C is pressed

```bash
olef video record --help
```

Output: **json**.

| Argument | Description |
| --- | --- |
| `--out <DIR>` / `-o` | **Required.** New session-bundle directory. Existing paths are never overwritten |
| `--duration <DURATION>` | Stop automatically after this duration (minimum 1s; for example 30s or 2m). Without it, record until Ctrl-C |
| `--backend <BACKEND>` | Recording backend. `auto` currently selects Android screenrecord Default: `auto`. Values: `auto`, `screenrecord`. |
| `--size <WIDTHxHEIGHT>` | Video dimensions as WIDTHxHEIGHT. Omit to use the device display size |
| `--bit-rate <BPS>` | Encoder bit rate in bits per second |
| `--display-id <ID>` | Android logical display id (only on screenrecord versions that support it) |
| `--bugreport` | Add Android's diagnostic screenrecord overlay |
| `--segment-seconds <SECONDS>` | Maximum length of each crash-safe MP4 segment Default: `170`. |
| `--no-split-on-rotation` | Keep one segment across device rotation instead of splitting at rotation |
| `--json` | Accepted for compatibility; output is always JSON. |

### olef video start

Start a detached per-device recording session

```bash
olef video start --help
```

Output: **json**.

| Argument | Description |
| --- | --- |
| `--out <DIR>` / `-o` | **Required.** New session-bundle directory. Existing paths are never overwritten |
| `--backend <BACKEND>` | Recording backend. `auto` currently selects Android screenrecord Default: `auto`. Values: `auto`, `screenrecord`. |
| `--size <WIDTHxHEIGHT>` | Video dimensions as WIDTHxHEIGHT. Omit to use the device display size |
| `--bit-rate <BPS>` | Encoder bit rate in bits per second |
| `--display-id <ID>` | Android logical display id (only on screenrecord versions that support it) |
| `--bugreport` | Add Android's diagnostic screenrecord overlay |
| `--segment-seconds <SECONDS>` | Maximum length of each crash-safe MP4 segment Default: `170`. |
| `--no-split-on-rotation` | Keep one segment across device rotation instead of splitting at rotation |
| `--json` | Accepted for compatibility; output is always JSON. |

### olef video status

Report the active recorder, or running:false when this device is idle

```bash
olef video status --help
```

Output: **json**.

| Argument | Description |
| --- | --- |
| `--json` | Accepted for compatibility; output is always JSON. |

### olef video coverage

Read encoded coverage, gaps, and marker ranges from an existing bundle (no device required)

```bash
olef video coverage --help
```

Output: **json**.

| Argument | Description |
| --- | --- |
| `<bundle>` | **Required.** |
| `--json` | Accepted for compatibility; output is always JSON. |

### olef video mark

Add a timestamped label to the active recording timeline

```bash
olef video mark --help
```

Output: **json**.

| Argument | Description |
| --- | --- |
| `<label>` | **Required.** Searchable marker text, for example "before checkout" |
| `--json` | Accepted for compatibility; output is always JSON. |

### olef video stop

Gracefully finalize and pull the active recording. Idempotent when idle

```bash
olef video stop --help
```

Output: **json**.

| Argument | Description |
| --- | --- |
| `--json` | Accepted for compatibility; output is always JSON. |
