# Video Entities

A **`video_entity`** is created every time a video is uploaded to Uiza via a URL which redirects Uiza to your video storage to retrieve the video file. This URL could be either a *direct HTTP/HTTPS* link or a URL that leads to your *FTP or S3 storage*.&#x20;

Once the video has been successfully retrieved, Uiza transcodes the file into several renditions that have different resolutions and are compatible to different streaming protocol such as *HLS, fMP4*... These renditions are made available to your viewers by you publishing them to Uiza's *Content Delivery Network (CDN)* via Uiza APIs.

The APIs allow you to create, delete, publish, update the information of the video\_entities and retrieve your entities individually or collectively.

### The video entity object

#### Attributes

> **`id`** *string*
>
> The unique identifier for the video entity.

> **`name`** *string*
>
> The name of your video entity.

> **`description`** *string*
>
> Describes the content of the video entity. Often useful for displaying to viewers.

> **`input_url`** *string*
>
> The source file URL of the video entity.

> **`encoding_template`** *string*&#x20;
>
> Specify the template that our ingest server will process your stream source, from SD to Full-HD for the output singal. There are 4 values that Uiza currently support:
>
> `none` We keep the output stream same as your source.
>
> `sd` The output contains 1 video profile with 480p resolution.
>
> `hd` The output contains 2 video profile with 480p and 720p resolutions.
>
> `fhd` The output contains 3 video profile with 480p, 720p, and 1080p resolutions.

> **`status`** *string*
>
> The status indicates whether your video entity had been published to Uiza's CDN or not. There are 4 possible statuses:
>
> > **`processing`** is returned when your video entity is in the queue to be published.
> >
> > **`ready`** is returned when your video entity has been successfully published and your viewers are able to watch the video.
> >
> > **`error`** is returned when something goes wrong during the publishing process of your video entity.

> **`playback`** *object*
>
> Contains the playback URL for different streaming protocols including HLS fMP4 (`hls`), and MPEG-dash (`dash`). Use this URL to configure your player to play the video.

> **`created_at`** *string*
>
> The timestamp, at which the `video_entity` is created, follows the [ISO 8601 standard](https://www.w3.org/TR/NOTE-datetime-970915).

> **`updated_at`** *string*
>
> The timestamp, at which the most recent update to the `video_entity` occurred, follows the [ISO 8601 standard](https://www.w3.org/TR/NOTE-datetime-970915).
