如何将 SVO 文件转换为 AVI,或图像/深度序列?
Last updated: August 13, 2026
SVO 文件格式是一种专有格式,只能由 ZED SDK 及其工具读取。它存储相机的未校正图像以及时间戳、传感器数据(IMU、气压计、磁力计,具体取决于是否可用)等元数据;从 ZED SDK 4.1 引入的 SVO2 格式开始,还支持高频传感器数据和用户定义的自定义数据。
SVO/SVO2 是 ZED SDK 接受的唯一输入视频格式;其他视频格式(AVI、MP4 等)无法与 SDK 一起使用。不过,您可以轻松地将 SVO 文件导出为标准格式,以供外部使用。
SVO 导出示例
ZED SVO Export 示例演示了如何将 SVO 文件转换为:
- AVI 视频(左右并排 LEFT+RIGHT,或 LEFT+DEPTH 视图)
- PNG 图像序列(LEFT+RIGHT、LEFT+DEPTH 视图,或 LEFT+DEPTH 16 位)
16 位深度序列将深度值以毫米为单位存储为 16 位 PNG 文件,适用于离线处理度量深度数据。
该示例以 C++、Python 和 C# 版本发布在 GitHub 上:https://github.com/stereolabs/zed-sdk/tree/master/recording/export/svo
ZED SDK 还会将副本安装在本地 samples 文件夹中:
- Windows:
C:\Program Files (x86)\ZED SDK\samples\recording\export\svo - Linux:
/usr/local/zed/samples/recording/export/svo
导出模式
| 模式 | 输出 |
|---|---|
| 0 | LEFT+RIGHT AVI 视频 |
| 1 | LEFT+DEPTH 视图 AVI 视频 |
| 2 | LEFT+RIGHT PNG 图像序列 |
| 3 | LEFT+DEPTH 视图 PNG 图像序列 |
| 4 | LEFT+DEPTH 16 位 PNG 图像序列 |
使用 C++ 工具
该示例是一个命令行工具,语法如下:
ZED_SVO_Export
注意:
- 对于模式 0 和 1,第二个参数是要创建的 AVI 文件的路径。
- 对于模式 2、3 和 4,第二个参数是现有输出文件夹的路径,并且必须以
/(Linux)或 \(Windows)结尾。
示例:
Windows(从包含已构建可执行文件的文件夹运行):
ZED_SVO_Export.exe "C:\path\to\your\file.svo2" "C:\Users\YOUR-USER-NAME\Desktop\output.avi" 0
ZED_SVO_Export.exe "C:\path\to\your\file.svo2" "C:\Users\YOUR-USER-NAME\Desktop\sequence\" 2
Linux(从构建目录运行):
./ZED_SVO_Export "/path/to/your/file.svo2" "/home/YOUR-USER-NAME/Desktop/output.avi" 0
./ZED_SVO_Export "/path/to/your/file.svo2" "/home/YOUR-USER-NAME/Desktop/sequence/" 4
使用 Python 脚本
无需编译任何内容,即可使用 Python 脚本 svo_export.py 执行相同的转换:
python svo_export.py --mode --input_svo_file --output_avi_file
python svo_export.py --mode --input_svo_file --output_path_dir
--output_avi_file 对模式 0 和 1 是必需的。--output_path_dir 对模式 2、3 和 4 是必需的,并且必须指向一个现有文件夹。
示例:
python svo_export.py --mode 0 --input_svo_file recording.svo2 --output_avi_file output.avi
python svo_export.py --mode 4 --input_svo_file recording.svo2 --output_path_dir ./depth_sequence/
导出为 MP4 或其他视频格式
该示例使用 OpenCV VideoWriter 生成 AVI 文件。如果要导出为其他容器/编解码器(例如 MP4),可以修改示例代码中的编解码器设置;根据平台的不同,可能需要使用支持 FFmpeg 的 OpenCV 构建版本(WITH_FFMPEG)。或者,也可以使用 FFmpeg 转换生成的 AVI 文件:
ffmpeg -i output.avi -c:v libx264 output.mp4
其他导出示例
ZED SDK 还提供了用于导出其他类型数据的示例:
支持
如果需要 SVO 导出方面的帮助,请访问我们的社区论坛:https://community.stereolabs.com/。