# Video Writer

The video writer component is designed to write **.mp4** format video to a **SFTP** location by combining the frames that can be consumed using the video consumer component.

All component configurations are classified broadly into the following sections:

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

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

{% embed url="<https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuq3RSHHup7fjHYaspk7y%2Fuploads%2Fw29bRRwOvTptSmQORlZM%2Fvideo_writer_AdobeExpress.mp4?alt=media&token=6d41c343-3481-44d2-8a78-87c9c9ab3408>" %}
Video Writer as a Pert of a Pipeline Workflow
{% endembed %}

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

* *The Pipeline testing suite and Data Metrices options in Monitoring pipeline page are not available for this component.*

* *The video Writer component supports only .mp4 file format. Its writes video frame by frame to SFTP.*
  {% endhint %}

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

<figure><img src="https://363587200-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuq3RSHHup7fjHYaspk7y%2Fuploads%2FDK0sCYTAQJeqVtwcQ6SJ%2Fimage.png?alt=media&#x26;token=d4661216-f462-43c2-8892-b4f7cb314aa7" alt=""><figcaption></figcaption></figure>

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

<figure><img src="https://363587200-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuq3RSHHup7fjHYaspk7y%2Fuploads%2F8M8n3Tyt4TBOKXrZ4X7H%2Fimage.png?alt=media&#x26;token=806ac7de-3955-49e1-9e60-3215556afa94" alt=""><figcaption></figcaption></figure>

## Basic Information

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.&#x20;

<figure><img src="https://363587200-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuq3RSHHup7fjHYaspk7y%2Fuploads%2FxFAjiH6HcsmIEF916FZP%2Fimage.png?alt=media&#x26;token=681c0656-7b24-4c98-a306-613b51f5c3e3" 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 a sec)\* field appears to provide the grace period for the component to go down gracefully after that time.*

*Selecting **Real-time** as the Invocation Type option will display the Intelligent Scaling option.*
{% 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 ***Host IP Address*** in the Meta Information tab changes based on the selection of the Channel. There are two options available:

    * **Live**: This allows writing the data to the desired location when live data is coming continuously.
    * **Media File**: It will read only stored video file and writes them to desired SFTP location.

    &#x20;     ![](https://363587200-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuq3RSHHup7fjHYaspk7y%2Fuploads%2F8cn0uCd0E28MsF6KbKYY%2Fimage.png?alt=media\&token=28e13fbe-c1ee-4ddb-b4a7-73030fed440d)
* **Username** (\*)- Provide username
* **Port** (\*)- Provide the Port number
* **Authentication**- Select any one authentication option out of Password or PEM PPK File
* **Stream**(\*)- The supported streaming methods are Live and Media files.
* **Partition Time**(\*)- It defines the length of video the component will consume at once in seconds. This field will appear only if the ***LIVE*** option is selected in Stream field.
* **Writer Path** (\*)- Provide the desired path in SFTP location where the video has to be written.
* **File Name**(\*)- Give any filename with a format mp4(sample\_filename.mp4).
* **Frame Rate** – Provide the rate of frames to be consumed.

<figure><img src="https://363587200-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuq3RSHHup7fjHYaspk7y%2Fuploads%2FgvJA8gRWXDyehYEWmJqc%2Fimage.png?alt=media&#x26;token=e2d0af8d-04cc-42c9-9cb0-bfd98b3354db" 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 the authentication option as a Password it adds a password field in the  Meta information.

<figure><img src="https://363587200-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuq3RSHHup7fjHYaspk7y%2Fuploads%2FpDaT4ypvIds2BJS4pnoH%2Fimage.png?alt=media&#x26;token=e42badff-7ee9-4d82-966f-e414606c2061" 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://363587200-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuq3RSHHup7fjHYaspk7y%2Fuploads%2FR7LhtotELxBXG4Yt9aT9%2Fimage.png?alt=media&#x26;token=c3125a82-ef46-4331-94ff-7dcba0725aed" alt=""><figcaption></figcaption></figure>

## Saving the Component

* Click the ***Save Component in Storage*** icon for the Video Writer component.

&#x20;     ![](https://363587200-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuq3RSHHup7fjHYaspk7y%2Fuploads%2Fqf3IUADwsvGrD3GkdrWc%2Fimage.png?alt=media\&token=3e96ccdb-b712-4fa6-b5c7-d0da4ba2f3fd)

* The message appears to notify that the component properties are saved.&#x20;

&#x20;     ![](https://363587200-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuq3RSHHup7fjHYaspk7y%2Fuploads%2FwymSuMz1VyFPQCobye49%2Fimage.png?alt=media\&token=d34ea518-6195-4025-be2d-2a481dbde312)

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