RDP session recording exports
An export is a Boundary resource that tracks the conversion of a recorded RDP connection into video. Use an export when you want a playable/downloadable video artifact for a recorded RDP connection.
Boundary does not record RDP sessions directly as video. Instead, Boundary first records the session in BSR format. When you create an export, Boundary uses the stored RDP connection recording to create a video. This video file is encoded using AV1 and containerized into the WebM format. The result is a video/webm file.
How exports work
Boundary creates an export from an existing connection recording. A controller creates the export resource and assigns it to a worker for processing. When a worker receives this processing request, it begins encoding the BSR data into a playable video.
Workers also periodically update a controller on the status and progress of the exports it is processing. This update is reflected as the export's state and progress, respectively.
Boundary stores the session recording in BSR format before you create an export:
- During the session, the recording is written to the recording worker's local storage.
- After the session ends, Boundary syncs the recording to the configured external object store.
- When you create an export, Boundary reopens the stored BSR and produces a video file from that data.
Boundary does not automatically start an export when a recorded RDP session begins.
If a worker is shut down while processing an export, it will prioritize finishing the processing before shutting down. If you request a forced shutdown, the processing will stop, the export will fail, and the worker will then shut down normally.
If an export fails during processing, Boundary will automatically reattempt it unless you cancel it.
Export lifecycle
Exports move through the following lifecycle states:
pending: Boundary creates the export resource and queues it for processing.processing: A worker has accepted the export and is encoding the recorded RDP connection data into a playable video. You can track the export's progress as a percentage from 0 to 100 by reading it.finished: The worker completed the encoding and Boundary generated a playable video artifact for the connection recording.failed: The export did not complete successfully. A failed export remains available for inspection until either Boundary (automatically) or an administrator (manually) retries it. Refer to the error reason to help troubleshootfailedexports.
Export cleanup job
Boundary runs an export cleanup job to keep export state consistent and remove stale export resources. This job normally runs every 5 minutes.
The cleanup job performs the following actions:
- Marks exports as
failedif they remain in thependingstate for at least 12 hours. - Deletes exports that have remained in the
failedstate for at least 12 hours. - Resets stale
processingexports back to thependingstate. A processing export is considered stale when the assigned worker is no longer healthy. - Attempts to start pending exports by picking a worker to handle each.
Boundary includes this cleanup job as a periodic background process.
More information
- To learn more about BSR files, refer to BSR file data structure.
- To learn how to read the information in a BSR file, refer to Read a BSR file.
- To delete session recording exports, refer to Delete a session recording export.