Videostream for unattended runs

Video streaming your automation

Especially with unattended Windows automations, seeing what is happening is a big help. With this feature, you can view your robot executions directly from Control Room, where you can also see the logs and artifacts created by the run. The video stream and recording are also available in the view if enabled.

The feature is available just for the Enterprise and Flex tiers. Contact Robocorp Customer Success on this.

Setup

For security, video streaming has a few opt-in steps to avoid even the potential of configuring this accidentally.

  • First, video streaming needs to be enabled per organization; contact Robocorp Customer Success.
  • Second, the feature must be enabled per worker on the local machines More on security at the end of this article.

Enable video streaming on the Self-hosted Windows desktop workers

To setup a new Worker, follow the guide: Setup for Windows Desktop automation.

For existing Workers, ensure they are updated. Checkout the release notes.

Enable video streaming by running the command below on the target machine with the target user:
> robocorp-service-helper configure --enable-video-stream

Using video stream in Control Room

In Control Room, you can enable/disable the video streaming for each process step run under:
Use Desktop Connection > Enable Video Streaming

You can enable and disable the video stream as needed, so you can set it on just for debugging or demo purposes and then set it off.

View the video stream in Control Room

Once enabled, you can see the video stream under your process step run page. You can view the robot run as it happens or after it has finished. Depending on the network delay, there can be a delay in the streaming. And without going all Heisenberg here, we aim to keep the video streaming load low not to affect the robot's functionality.

Security of video stream

Video streaming is an opt-in feature that is not on by default. The feature must be enabled in the Control Room Organization and on the specific Workers.

Video streaming on the local machine is disabled by default, but you can also specifically state this with command:
robocorp-service-helper configure --disable-video-stream

In short, there is no worry about accidentally having video streaming on.

The video transfer and storage are fully encrypted, like the robot artifacts and other communications between Worker and Control Room. After the run, the video data has the same retention time as the artifacts.

Storing video stream locally

The video stream is just a set of files, so the Worker also enables storing the video stream locally. Even though Control Room video streaming is secured at the same level as the run artifacts etc., there are still cases where sending it to Control Room is not allowed. However, video streaming is still a very powerful tool for debugging, etc., so we also want to provide a local option.

To enable local storing, you can configure the target folder in Workers via rtconfig.yml that you can find in the setup folder, which by default is:
%localappdata%\robocorp\workforce-agent-core-service

# localPath: if the path is set, video stream files are not sent to the Control Room; they are only stored # locally to the defined path. If the path is invalid, the video stream feature is disabled. videoStreamOptions: localPath: 'C:\rpa-video-streams'

Setting the path redirects the video stream to the specified folder. Setting the path will also automatically stop sending the video stream to Control Room.

Each run gets a unique folder under the path set in the configuration.

Viewing locally stored video streams

The video stream is stored in M3U8 format, so the stream folders will contain a stream.m3u8 file and multiple .ts -files. Depending on your installed video playback tools, the .m3u8 can be viewed directly. In case this does not happen, you can convert the video into MP4 with the following command: %localappdata%\robocorp\ffmpeg.exe stream.m3u8 stream.mp4

Clean up of locally stored video streams

Robocorp tooling does not know when and what can be deleted, so the responsibility of cleaning up the video streams is up to you. For example, you can easily create a robot to go in at a schedule and drop stream folders that are older than x days. The reason why this cannot be done automatically by Robocorp tooling is that we do not control the data retention policies etc. We also cannot decide to hold up robot executions while performing cleanup tasks, as you could have a separate process handling the video streams.

The video streams use a lot of disk space (~15MB / min) depending on your desktop resolution, so cleanup can only be avoided for a short time.

Last edit: March 20, 2022