Skip to main content

Step 2 — Deploy the Video Simulator

This article refers to Platform v3.0.0. The current Platform version is v3.2.0.
warning

This step assumes the MQTT Broker is already deployed on the same node. If it isn't, go back to Step 1 first.

Overview

The Video Simulator generates a video stream and publishes its frames as base64 over MQTT, so the rest of the pipeline can consume it without needing a real camera. It can pull from three sources:

  • Default — a preloaded video shipped with the app.
  • YouTube — any YouTube link.
  • Video file — a local file you upload to the app's file browser.

This tutorial uses the default video by default; the Stream from YouTube and Stream from a local file sections below show how to swap the source.

Video Simulator in the pipeline

Video Simulator in the pipeline

Add the Video Simulator to your Library

Marketplace badge
Video Simulator icon

Video Simulator

Publishes a video stream (default, YouTube, or local file) frame by frame to the MQTT Broker in base64.

Video Simulator in the Marketplace

Video Simulator in the Marketplace

Video Simulator in the App Library

Video Simulator in the App Library

Deploy the Video Simulator

  1. Open the Node Details page and click Add card → Application.
Add card menu

Add card menu

Select Application

Select Application

  1. Select app and version. Pick Video Simulator and its latest version. Click Next.
Select the Video Simulator

Select the Video Simulator

  1. App Secrets. Keep the defaults and click Next. The README link below the form documents every variable.
App Secrets for the Video Simulator

App Secrets for the Video Simulator

  1. App Config. Paste the JSON below to use the default video:

    {
    "util_video_simulator": {
    "system": {
    "debugLevel": "info"
    },
    "video": {
    "enabled": true,
    "fps": 30,
    "displayName": "video_simulator_01",
    "type": "default",
    "source": ""
    }
    }
    }

    Key fields:

    • displayName — the unique identifier of this stream on the MQTT broker. Other apps (Video Player, YOLOv8) point at this name to consume the stream.
    • typedefault, youtube, or video.
    • source — a YouTube URL or a file name in the app's file browser. Empty when type is default.
  2. Click Send App to deploy.

Send the Video Simulator deployment

Send the Video Simulator deployment

Verify the deployment

The Video Simulator workload card appears on the Node Details page. When it turns green (Started), the simulator is publishing frames to the broker.

Video Simulator workload card

Video Simulator workload card

Stream from YouTube

To stream from a YouTube URL instead of the default video, change two fields in the App Config:

{
"util_video_simulator": {
"system": {
"debugLevel": "info"
},
"video": {
"enabled": true,
"fps": 30,
"displayName": "video_simulator_01",
"type": "youtube",
"source": "https://www.youtube.com/watch?v=bwJ-TNu0hGM"
}
}
}

Stream from a local file

To stream from a video file, upload it first to the app's file browser.

people_walking.mp4

You can download a sample file here: people_walking.mp4.

  1. Open http://<NODE_IP>:10030 in a browser. The Video Simulator file browser opens on its own login page.
File browser login page

File browser login page

  1. Log in with the credentials defined in App Secrets (defaults bbruser / bbrpassword).
File browser credentials in App Secrets

File browser credentials in App Secrets

  1. Click Upload and pick the video file.
Upload a video file

Upload a video file

File uploaded

File uploaded

  1. Update the App Config to point at the file:

    {
    "util_video_simulator": {
    "system": {
    "debugLevel": "info"
    },
    "video": {
    "enabled": true,
    "fps": 30,
    "displayName": "video_simulator_01",
    "type": "video",
    "source": "people_walking.mp4"
    }
    }
    }
  2. Click Send App on the App Config card to apply.

Summary

The Video Simulator is now publishing frames as base64 over MQTT under the topic identified by displayName: video_simulator_01. The next step deploys the Video Player to render that stream in a browser.