---
title: Video Frame Streamer
slug: solutions/video-frame-streamer
docTags: 
createdAt: 2023-08-17T20:28:23.866Z
---

## Overview

![Video to Base64 Architecture Diagram](https://api.archbee.com/api/optimize/SSUUxKZUk9bFTEPNn_6Zo/w8gIKxxwfP9dH2rPqYbbk_image.png)

1. Log in to your LitmusEdge, Navigate to Applications -> Images
2. Click on Upload Image and upload the tar file there
3. Navigate back to Applications -> Containers and enter the following command there:
   1. `docker run`
      `-e NAT_FPS=10`
      `-e VIDEO_URL="<location of video>"`
      `-e DATA_IN_BYTES_OR_ARRAY=array`
      `-e PUB_TOPIC="images"`
      `<image>:<tag>`
   2. Replace the \<image>:\<tag> with the accurate image name and tag name
   3. Replace the \<location of video> with the location on ftp-data or HTTP or RTSP location. Example location of video for testing can be something like [http://pendelcam.kip.uni-heidelberg.de/mjpg/video.mjpg](http://pendelcam.kip.uni-heidelberg.de/mjpg/video.mjpg)
   4. Some other environment variables that can be changed:&#x20;
      `NAT_FPS=10` anything above 15 can affect performance heavily, depending on hardware
      `DATA_IN_BYTES_OR_ARRAY 'byte' or 'array'`&#x20;
      `PUB_TOPIC` which nats topic to publish the processed output to
4. Optionally, `node-red-contrib-image-output` can be installed in Flows to view the raw images as a live output (this library decodes base64 to a raw image)
   1. Use the topic used in `PUB_TOPIC` with `.rawImage` to get the image preview in flows, example in this case- `images.rawImage`

