> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pixeltable.com/llms.txt
> Use this file to discover all available pages before exploring further.

# VideoSplitter

> <a href="https://github.com/pixeltable/pixeltable/blob/main/pixeltable/iterators/video.py#L248" id="viewSource" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/badge/View%20Source%20on%20Github-blue?logo=github&labelColor=gray" alt="View Source on GitHub" style={{ display: 'inline', margin: '0px' }} noZoom /></a>

# <span style={{ 'color': 'gray' }}>class</span>  pixeltable.iterators.VideoSplitter

Iterator over segments of a video file, which is split into fixed-size segments of length `segment_duration`
seconds.

Args:
duration: Video segment duration in seconds
overlap: Overlap between consecutive segments in seconds. Only available for `mode='fast'`.
min\_segment\_duration: Drop the last segment if it is smaller than min\_segment\_duration.
mode: Segmentation mode:

* `'fast'`: Quick segmentation using stream copy (splits only at keyframes, approximate durations)
* `'accurate'`: Precise segmentation with re-encoding (exact durations, slower)
  video\_encoder: Video encoder to use. If not specified, uses the default encoder for the current platform.
  Only available for `mode='accurate'`.
  video\_encoder\_args: Additional arguments to pass to the video encoder. Only available for `mode='accurate'`.

## <span style={{ 'color': 'gray' }}>method</span>  accurate\_iter()

```python theme={"theme":{"light":"light-plus","dark":"dark-plus"}}
accurate_iter() -> Iterator[dict[str, Any]]
```

## <span style={{ 'color': 'gray' }}>method</span>  close()

```python theme={"theme":{"light":"light-plus","dark":"dark-plus"}}
close() -> None
```

Close the iterator and release all resources

## <span style={{ 'color': 'gray' }}>method</span>  create()

```python theme={"theme":{"light":"light-plus","dark":"dark-plus"}}
create(**kwargs: Any) -> tuple[type[ComponentIterator], dict[str, Any]]
```

## <span style={{ 'color': 'gray' }}>method</span>  fast\_iter()

```python theme={"theme":{"light":"light-plus","dark":"dark-plus"}}
fast_iter() -> Iterator[dict[str, Any]]
```

## <span style={{ 'color': 'gray' }}>method</span>  input\_schema()

```python theme={"theme":{"light":"light-plus","dark":"dark-plus"}}
input_schema() -> dict[str, pixeltable.type_system.ColumnType]
```

Provide the Pixeltable types of the init() parameters

The keys need to match the names of the init() parameters. This is equivalent to the parameters\_types
parameter of the @function decorator.

## <span style={{ 'color': 'gray' }}>method</span>  output\_schema()

```python theme={"theme":{"light":"light-plus","dark":"dark-plus"}}
output_schema(
    *args: Any,
    **kwargs: Any
) -> tuple[dict[str, pixeltable.type_system.ColumnType], list[str]]
```

Specify the dictionary returned by next() and a list of unstored column names

**Returns:**

* `tuple[dict[str, pixeltable.type_system.ColumnType], list[str]]`: a dictionary which is turned into a list of columns in the output table
  a list of unstored column names

## <span style={{ 'color': 'gray' }}>method</span>  set\_pos()

```python theme={"theme":{"light":"light-plus","dark":"dark-plus"}}
set_pos(pos: int) -> None
```

Set the iterator position to pos
