# Video properties

The video editor extension isn't included in the Pintura image editor product package, it's available as an upgrade on the [pricing page](/pintura/pricing/)

Please note that client-side video encoding is useful for encoding short videos, it's advised to use [server side encoding](/pintura/docs/v8/api/video-editor/server/) for content longer than a couple minutes.

The Redact, Frame, and Fill util are currently not supported when using the video extension.

[Live demo of Pintura with video editor extension](/pintura/video-editor/)

A list of properties to read from and write to the current state of the video loaded in the editor.

Properties are still prefixed with `image` to maintain backward compatibility, this will be corrected in version 9 of the editor.

Readonly video properties.

| Property                        | Description                                                                               |
| ------------------------------- | ----------------------------------------------------------------------------------------- |
| [imageDuration](#imageduration) | The duration of the loaded video in seconds. Is set to undefined when an image is loaded. |

Video properties to update the video state.

| Property                              | Default value | Description                                                                                                    |
| ------------------------------------- | ------------- | -------------------------------------------------------------------------------------------------------------- |
| [imageCurrentTime](#imagecurrenttime) | undefined     | Get or set the current time in seconds, automatically clamps between 0 and video duration.                     |
| [imageVolume](#imagevolume)           | undefined     | The volume of the outputed video. Currently only supports a 0 value, when set to 0 the audio track is removed. |
| [imageTrim](#imagetrim)               | undefined     | An array of numbers to describe the ranges that should be trimmed.                                             |
| [imageMinDuration](#imageminduration) | 0             | A minimum video duration in seconds.                                                                           |
| [imageMaxDuration](#imagemaxduration) | Infinity      | A maximum video duration in seconds.                                                                           |

### imageDuration

The duration of the loaded video. Is `undefined` when an image is loaded.

### imageMinDuration

The minimum required duration for video files.

### imageMaxDuration

The maximum required duration for video files. This will not prevent loading longer files, the Trim plugin will prevent outputing longer files by limiting the clip length.

### imageVolume

The volume of the outputed video. When set to `0` the audio track of the video is removed. When set to a value above `0` the volume of the output track is adjusted.

### imageTrim

An array of fractions to describe the ranges that should be trimmed, `.5` meaning halfway through the video.

```js
// No trimming
openDefaultEditor({
    src: 'video.mp4',
    imageTrim: [[0, 1]],
});

// Trim multiple segments
openDefaultEditor({
    src: 'video.mp4',
    imageTrim: [
        [0, 0.25],
        [0.75, 0.85],
    ],
});
```