# Video Stream Consumer

**Video stream consumer** is designed to consume .mp4 video from realtime source or stored video in some SFTP location in form of frames.

All component configurations are classified broadly into the following sections:

* ​[​Basic Information​](https://docs.bdb.ai/data-pipeline-5/components/component-base-configuration)​
* Meta Information
* ​[Resource Configuration​](https://docs.bdb.ai/data-pipeline-5/components/resource-configuration)​

{% hint style="success" %}
*Please follow the given demonstration to configure the Video Stream Consumer component.*
{% endhint %}

{% embed url="<https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuq3RSHHup7fjHYaspk7y%2Fuploads%2FN8LTm4XxoWpIfBroMQql%2Fvideo_consumer_AdobeExpress.mp4?alt=media&token=fd567f0e-c261-4b6b-88f3-a0b02c230f4f>" %}
Video Consumer as a pert of a Pipeline Workflow
{% endembed %}

{% hint style="info" %}
*<mark style="color:green;">Please Note:</mark>*&#x20;

* *Video Stream component supports only .mp4 file format. It reads/consumes video frame by frame.*

* The Testing Pipeline functionality and Data Metrices option (from Monitoring Pipeline functionality) are not available for this component.
  {% endhint %}

* Drag & drop the Video Stream Consumer component to the Workflow Editor.   &#x20;

<figure><img src="https://content.gitbook.com/content/6ZP8JhQPMmuTgMyLMcCU/blobs/GuYJzLCtqLLCg1eytLUE/image.png" alt=""><figcaption></figcaption></figure>

* Click the dragged ***Video Stream Consumer*** component to open the component properties tabs.

## Basic Information&#x20;

It is the default tab to open for the component.

* **Invocation Type**: Select an Invocation type from the drop-down menu to confirm the running mode of the reader component. Select ‘Real-Time’ or ‘Batch’ from the drop-down menu.
* **Deployment Type:** It displays the deployment type for the component. This field comes pre-selected.
* **Batch Size** (min 10): Provide the maximum number of records to be processed in one execution cycle (Min limit for this field is 10).
* **Failover Event**: Select a failover Event from the drop-down menu.
* **Container Image Version**: It displays the image version for the docker container. This field comes pre-selected.
* **Description**: Description of the component (It is optional).

<figure><img src="https://content.gitbook.com/content/6ZP8JhQPMmuTgMyLMcCU/blobs/VH2TIe1MI5rvNLMFQaLx/image.png" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
*<mark style="color:green;">Please Note:</mark> If the selected Invocation Type option is **Batch**, then, **Grace Period** (in sec)\* field appears to provide the grace period for component to go down gracefully after that time.*

![](https://content.gitbook.com/content/6ZP8JhQPMmuTgMyLMcCU/blobs/A87HY3F31LX7QuZnc1OB/image.png)

Selecting ***Real-time*** as the Invocation Type option will display the Intelligent Scaling option.

![](https://content.gitbook.com/content/6ZP8JhQPMmuTgMyLMcCU/blobs/ZXDuXJBGPIJ7Ren2iBKF/image.png)
{% endhint %}

## Meta Information Tab

Select the Meta Information tab and provide the mandatory fields to configure the dragged Video Stream Consumer component.

* **Host IP Address** (\*)- Provide IP or URL
  * The input in the ***Host IP Address*** field in the ***Meta Information*** tab changes based on the selection of Channel. There are two options available:
    * **SFTP**: It allows us to consume stored videos from SFTP location. Provide SFTP connection details.
    * **URL**: It allows us to consume live data from different sources such as cameras. We can provide the connection details for live video coming.

&#x20;                 ![](https://content.gitbook.com/content/6ZP8JhQPMmuTgMyLMcCU/blobs/B3GZ5LeDGJ7EralBMzrf/image.png)&#x20;

* **Username** (\*)- Provide username
* **Port** (\*)- Provide Port number
* **Authentication**- Select any one authentication option out of Password or PEM PPK File
* **Reader Path** (\*)- Provide reader path
* **Channel** (\*)- The supported channels are SFTP and URL
* **Resolution** (\*)- Select an option defining the video resolution out of the given options.
* **Frame Rate** – Provide rate of frames to be consumed.

<figure><img src="https://content.gitbook.com/content/6ZP8JhQPMmuTgMyLMcCU/blobs/q6N4PLHbLZJV7XwHGL7L/image.png" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
*<mark style="color:green;">Please Note:</mark> The fields for the Meta Information tab change based on the selection of the Authentication option.*
{% endhint %}

### When the authentication option is Password

While using authentication option as Password it adds a password column in the Meta information.

&#x20;

<figure><img src="https://content.gitbook.com/content/6ZP8JhQPMmuTgMyLMcCU/blobs/m2uUKd5ZH8F095HaTNNv/image.png" alt=""><figcaption></figcaption></figure>

### When the authentication option is PEM/PPK file

While choosing the PEM/PPK File authentication option, the user needs to select a file using the Choose File option.

<figure><img src="https://content.gitbook.com/content/6ZP8JhQPMmuTgMyLMcCU/blobs/fie84t6kqrGtGfjMW0lt/image.png" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
*<mark style="color:green;">Please Note:</mark>* ***SFTP** uses **IP** in the **Host IP Address** and **URL** one uses **URL** in **Host IP Address**.*
{% endhint %}

## Saving the Component

* Click the ***Save Component in Storage*** icon for the Video Stream Consumer component.
* A message appears to notify that the component properties are saved.

&#x20;     ![](https://content.gitbook.com/content/6ZP8JhQPMmuTgMyLMcCU/blobs/Ru4it9okni2Qgll5QeUU/image.png)

* The ***Video Stream Consumer*** component gets configured to pass the data in the Pipeline Workflow.

{% hint style="info" %}
*<mark style="color:green;">Please Note:</mark> The **Video Stream Consumer** supports only the Video URL.*                          &#x20;
{% endhint %}
