> For the complete documentation index, see [llms.txt](https://docs.eyepop.ai/developer-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.eyepop.ai/developer-documentation/platform/sources-and-options/options.md).

# Source Options

Frame rate, region of interest, motion gating, video mode, and component parameters

Options are set **per source**, at the moment you submit it. The same session can take a still at full resolution and a camera feed throttled to one frame per second, because nothing about a source's options is bound to the Pop.

To stop repeating the same options on every source, set them once as [Pop defaults](/developer-documentation/platform/sources-and-options/pop-defaults.md) instead.

### The options

Each option has its own page. They are independent — set any combination on one source.

| Option                                                                                                    | What it does                                                                | Applies to          |
| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- | ------------------- |
| [`fps`](/developer-documentation/platform/sources-and-options/options/frame-rate.md)                      | Throttle inference to a target frame rate                                   | video, live streams |
| [`roi`](/developer-documentation/platform/sources-and-options/options/region-of-interest.md)              | Crop every frame to a region before inference                               | all sources         |
| [motion detection](/developer-documentation/platform/sources-and-options/options/motion-detection.md)     | Pause inference while the scene is still                                    | video, live streams |
| [`videoMode`](/developer-documentation/platform/sources-and-options/options/video-mode.md)                | Process an uploaded video while it uploads, or after                        | uploaded video      |
| [`is_live`](/developer-documentation/platform/sources-and-options/options/live-uploads.md)                | Treat an uploaded stream as real time and drop frames to keep up            | uploaded streams    |
| [component params](/developer-documentation/platform/sources-and-options/options/component-parameters.md) | Override a Pop component's parameters for this source                       | all sources         |
| [`camera`](#camera-calibration)                                                                           | Describe the lens and the camera's pose, so depth becomes measurable meters | all sources         |

### Camera calibration

`camera` describes the lens the source was captured with, and optionally where the camera stands. It is what turns a [depth map](/developer-documentation/platform/depth-and-world-coordinates/depth-maps.md) into positions measured in meters — without it, the platform assumes a 60° horizontal field of view, and distances along the optical axis are only as good as that guess.

{% tabs %}
{% tab title="Python" %}

```python
from eyepop.worker.camera import Camera

job = endpoint.load_from("rtsp://camera.example.com/stream1", camera=Camera(hfovDegrees=72.0))
```

{% endtab %}

{% tab title="Node" %}

```typescript
const results = await endpoint.process({
    source: { url: 'rtsp://camera.example.com/stream1' },
    camera: { hfovDegrees: 72 },
})
```

{% endtab %}
{% endtabs %}

A calibration describes the source **as captured**, at its original resolution — it is not adjusted for an [`roi`](/developer-documentation/platform/sources-and-options/options/region-of-interest.md). The full field reference, including intrinsics, distortion and the camera-to-world pose, is in [Camera Calibration](/developer-documentation/platform/depth-and-world-coordinates/camera-calibration.md).

### Next steps

* [Pop Defaults](/developer-documentation/platform/sources-and-options/pop-defaults.md) — set these options once on the Pop
* [Source Types](/developer-documentation/platform/sources-and-options/sources.md) — every way to submit a source
* [Supported Formats](/developer-documentation/platform/sources-and-options/formats.md) — what a source may carry
