DesktopStreaming is a custom user plugin for the Now RPA platform by ServiceNow. It adds powerful desktop streaming capabilities to your RPA projects, allowing you to capture and stream your desktop over HTTP.
This plugin provides a range of functionalities for desktop streaming, including screen capture, MJPEG streaming, resolution control, and FPS adjustment. It supports streaming with or without the mouse cursor and implements a simple authentication mechanism for secure access.
Demo.mp4
Before you can use the DesktopStreaming plugin in your Now RPA project, you need to set up the user plugin folder:
- Locate your RPA Desktop Design Studio automation project folder.
- Create a new folder named
UserPluginsin this directory. - Inside the
UserPluginsfolder, create another folder named "DesktopStreaming". - Place the plugin .dll files in this folder.
To add the plugin to your project:
- In the RPA Desktop Design Studio, open your project.
- In the Project Explorer pane, right-click User Plugins and select Add User Plugin.
- In the Available User Plugins dialog box, select
DesktopStreaming. - Click OK.
The plugin will now appear in the Toolbox pane, ready for use in your automation workflows.
- Use appropriate IP address and port for your streaming setup.
- Set reasonable FPS based on your system's performance and network bandwidth.
- Consider disabling cursor display for sensitive information.
- Always stop the streaming session when finished to free up resources.
- Secure the generated authentication key to prevent unauthorized access to the stream.
The plugin supports various streaming configurations:
-
IP Address: Example:
"127.0.0.1"(streams to localhost) -
Port: Example:
8080(streams on port 8080) -
FPS: Example:
30(streams at 30 frames per second) -
Display Cursor: Example:
true(includes mouse cursor in the stream)
Before using any other actions, it's crucial to start a streaming session. The URL returned by StartStreaming is required to access the stream.
Initializes a new desktop streaming session.
- Inputs:
ipAddress: String representing the IP address to bind the server toport: Integer representing the port number to use for the serverfps(optional): Integer representing frames per second (default is 60)displayCursor(optional): Boolean indicating whether to include the mouse cursor (default is true)
- Output: String URL for accessing the stream
Stops the desktop streaming session.
- Input: None
- Output: None
Best Practice: Always stop your streaming session explicitly using StopStreaming to ensure proper resource management.
The plugin implements a simple authentication mechanism. When you start streaming, it generates a unique authentication key that must be included in the URL to access the stream. Ensure this key is securely managed and transmitted.
Streaming at high resolutions or frame rates can be CPU-intensive. Adjust the FPS and resolution according to your system's capabilities and network bandwidth.
This project is licensed under the MIT License - see the LICENSE.txt file for details.
This software is provided as-is. Use at your own risk. The authors are not responsible for any data loss or privacy issues that may occur from using this software.
