RDP session recording exports

RDP session recording exports

출처: HashiCorp Boundary docs 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. Note Exports are both storage-intensive and compute-intensive resources with special hardware considerations. For more information, see System requirements. Boundary does not record RDP sessions directly as video. Instead, Boundary first records the session in BSR (Boundary Session Recording) 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:

  1. During the session, the recording is written to the recording worker's local storage.
  2. After the session ends, Boundary syncs the recording to the configured external object store.
  3. 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 troubleshoot failed exports.

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 failed if they remain in the pending state for at least 12 hours.
  • Deletes exports that have remained in the failed state for at least 12 hours.
  • Resets stale processing exports back to the pending state. 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.