---
title: "ClikaRT::io::VideoInfo"
sidebar_label: "VideoInfo"
description: "A video stream's static geometry / timing, read from its header."
---

<!-- Generated by tools/doxygen2mdx from Doxygen XML. Do not edit. -->

<span class="api-kind api-kind--struct">struct</span>

**Header:** `ClikaRT/io/io.h`

A video stream's static geometry / timing, read from its header. Named [`VideoInfo`](./VideoInfo.md) (NOT `VideoMetadata`, which is the processor's 3-field timing struct) since it is a superset: geometry + codec identity too.

## Data members

### total\_num\_frames {#total_num_frames}

<div class="api-signature">

`std::int64_t` **`total_num_frames`** `= 0`

</div>

Frame count. Known when the clip opens for every container the backend can probe: read from the header, derived from the duration, or counted off the packets. Where a backend genuinely cannot establish it, the count reads 0 and the index calls refuse an out-of-range frame by name rather than answering with a different frame.

<div class="api-declared">

Declared in `ClikaRT/io/io.h`, line 321

</div>

### fps {#fps}

<div class="api-signature">

`double` **`fps`** `= 0.0`

</div>

average frame rate

<div class="api-declared">

Declared in `ClikaRT/io/io.h`, line 322

</div>

### duration\_seconds {#duration_seconds}

<div class="api-signature">

`double` **`duration_seconds`** `= 0.0`

</div>

stream duration in seconds

<div class="api-declared">

Declared in `ClikaRT/io/io.h`, line 323

</div>

### width {#width}

<div class="api-signature">

`int` **`width`** `= 0`

</div>

native frame width

<div class="api-declared">

Declared in `ClikaRT/io/io.h`, line 324

</div>

### height {#height}

<div class="api-signature">

`int` **`height`** `= 0`

</div>

native frame height

<div class="api-declared">

Declared in `ClikaRT/io/io.h`, line 325

</div>

### codec {#codec}

<div class="api-signature">

`std::string` **`codec`**

</div>

codec name (e.g. "h264")

<div class="api-declared">

Declared in `ClikaRT/io/io.h`, line 326

</div>

### pixel\_format {#pixel_format}

<div class="api-signature">

`std::string` **`pixel_format`**

</div>

native pixel format (e.g. "yuv420p")

<div class="api-declared">

Declared in `ClikaRT/io/io.h`, line 327

</div>
