I want to use my own video with my Vizi-AI

Reading Time: 6 minutes

As a user I have tested my models on the stock videos provided with my Vizi and also with my web cam but I need to test my model against different locations or conditions. This guide will show you how to add your video to your Vizi and change your profile to use it instead of the stock videos.

Pre-requisites

  1. You have installed the Vizi-AI starter kit template to your Vizi and registered using Azure IoT Hub.
  2. You have ADLINK Edge Profile Builder installed
  3. You have an ftp file share client installed; I use FileZilla in this guide (instructions to setup FileZilla can be found here Installing FileZilla.
  4. You have a video that you wish to use, this video must be an mp4 file format
  5. You have followed the instructions to enable ssh on your Vizi (Enable SSH on my Vizi-AI)

Once you have confirmed these pre-requisites have been completed then open a web browser and navigate to Profile Builder (http://localhost:8082).

Open the Projects module and click Download profile.

You are presented with the ADLINK templates screen; however, we do NOT want to download the template we want to download the version of the template you used on your Vizi.

Click on the dropdown list and select your IoT Hub, mine for example is listed here (rb-demo):

Select the profile and click ‘Next’.

Complete the fields ‘New Project’ and ‘Group’ and click ‘Download’.

You will then see a progress bar of your download, please be patient as this profile is very large it may take some time and will depend on your internet speed.

While the profile is downloading let’s put your video/s onto your Vizi.

To connect to your ssh enabled Vizi, you require your IP address, open the Devices tab in Profile builder to show the IP address for your Vizi, as shown below:

Enter that IP address, your user name (root), your password (root) and select Port 22 and click Quickconnect or press enter.

As you may remember from the enabling ssh instructions (Enable SSH on Vizi-AI) we enabled Port 22 which is the standard port used for ftp.

Once you have connected to your Vizi you will see lots of information, I thought it may be useful to help you understand this screen.

The box highlighted in green is a log of all your interactions between your PC and your Vizi. The purple box on the left highlights your PC’s file system and the blue box on the right highlights your Vizi file system.

Using your mouse left click on the folder, highlighted here in Red.

This takes us to the root directory of your Vizi, this is where we are going to create the folder for your videos to be stored in.

Using your mouse, right click on the root folder highlighted below.

Click to Create a directory and enter it.

Give the directory a name, for this guide I will use a folder called videos that I am creating here.

Click OK when you have chosen a name for your directory.

As you can see the directory has been created and is empty awaiting you to copy your .mp4 video files into the directory.

Find the mp4 video file/s that you want to copy to your Vizi and drag them into your empty folder.

You will then see that they have been copied across to your new folder.

Once your profile has been downloaded from your IoT Hub click on the profile name to start editing it.

In your profile the app responsible for capturing images is the frame-streamer app, this is the app that we need to open.

Click on the app name to open the configuration screen.

In the configuration screen we need to enter the name of the video that you want to play, this must be the exact name including the .mp4 file extension or your video will fail to play. Once certain that this is correct click Save Changes.

Next click the Docker tab at the top of the configuration screen.

The section we are interested in is highlighted in green below. Before we can use the new folder, we created earlier on the Vizi we need to mount that folder in to the frame-streamer docker container.

To do this we need to tell the frame-streamer container about the new folder in the Container Create Options.

Edit the Container Create Options so that they say:

{
	"NetworkingConfig": {
		"EndpointsConfig": {
			"host": {}
		}
	},
	"HostConfig": {
		"Binds": [
			"/videos:/videos"
		],
		"NetworkMode": "host"
	}
}

Then click Save Changes and then Close.

This is our profile now configured to use the new video and we have told the frame-streamer app to mount the videos folder so that it can access the video.

Now we have to upload the changes we have made. Click Deploy.

You will be presented with two options to deploy your profile. Select ‘Upload to a cloud service’ and click Next.

Select to Keep device association and to Overwrite existing profiles and then select the IoT Hub to deploy this profile too. Then click Upload.

You will be shown an uploading message.

Once the profile has been uploaded you will be shown an Upload report.

Click Finish to return back to your profile.

To view your new video, once it has deployed navigate to the Vision tab:

Click the Streams tab

Select to view the demoStream which is produced by the Vizi software described above.

You may see a spinning icon for a short amount of time, this is while Profile Builder is connecting to the Stream Viewer app and initiating the process of communication with the Data River, we don’t set the Stream Viewer to do this all of the time to save processing on the Data River.

Provided you have supplied the correct information, you will see that your video has now changed and inferencing has started.

Troubleshooting

I found the first time I did this my video didn’t run how I thought it would, to that end I realized I needed to downstream my video.

I did this using VLC and have provided a guide for you to use here (How to downsample a video with VLC) I converted my video to use 720p and to run at 15 frames per second (FPS).

What next?

Why not try your new video with different models, How to use the ADLINK model manager and Models

Stay in touch

Sign up to our email list to be notified of the latest industry news