The ZED SDK, ZEDfu, and all the other ZED tools accept three types of input:
- Live images from a directly connected ZED camera;
- Recorded video files in the native SVO format, to perform offline processing;
- Network streams from a remote ZED camera (see Local Network Streaming).
Recording an SVO file
The easiest way to record a video sequence is to open the ZED Explorer tool and hit the record button. ZED Explorer can also be used in command-line mode for automated or headless recording. Alternatively, you can build your own recording application using the Recording API.
The video sequence is saved in our proprietary SVO format. SVO files contain all the required information to simulate a live camera within the ZED SDK: stereo images, timestamps, camera calibration, and sensor data. When an SVO file is loaded, the ZED SDK behaves as if a real camera were connected, so every module is available: depth, positional tracking, spatial mapping, object detection, and more.
Starting from ZED SDK v4.1, the SVO2 file format is enabled by default. SVO2 stores sensor data at its native high frequency (enabling features such as Positional Tracking Gen 2 in playback) and supports custom data recording, allowing you to store timestamped data from external sensors (GPS, external IMU, metadata, etc.) alongside the camera data.
Compression modes
SVO files can be recorded using different compression modes, from lossless to highly compressed:
| Compression Mode | Average Size (% of RAW) |
|---|---|
| LOSSLESS (PNG/ZSTD) | 42% |
| H.264 (AVCHD) | 1% |
| H.265 (HEVC) | 1% |
| H.264 LOSSLESS | 25% |
| H.265 LOSSLESS | 25% |
For optimal performance, we recommend the H.264 and H.265 modes; they use the NVENC hardware encoder built into NVIDIA GPUs and Jetson modules, leaving the CPU and GPU free for other operations.
Advantages of the offline processing method
- If you do not use H.264 or H.265 compression, no NVIDIA GPU is required to record SVO files; the recording computer only needs a USB 3.0 port and an i5-class or higher CPU. Many of our users record with a compact PC (e.g., an Intel NUC) or an NVIDIA Jetson board.
- The same video sequence can be processed multiple times with different SDK parameters (depth mode, resolution of the outputs, tracking settings, etc.) to generate different results from a single recording.
- When recording multiple cameras with hardware encoding on the same machine, please check the NVENC support matrix or our Jetson encoding support matrix for the maximum number of concurrent encoding sessions.
More information
Full details and code examples (C++, Python, C#) are available in the Video Recording documentation and in the SVO Recording, SVO Playback, and SVO Export samples on GitHub.