Skip to content

SwallowData/orbbec_multi_camera

Repository files navigation

abz_camera

奥比中光(Orbbec)RGB 相机录制工具,Python 实现。

版本

v1.0.0 - 首次可用版本(2026-05-08)

功能

  • 单相机连接与采图
  • 单路 RGB 浏览器录制 GUI(Web 界面,支持定时录制)
  • 多路 RGB 同步录制
  • 时间戳对齐的合并视频
  • 固定曝光模式(避免自动曝光导致帧率波动)
  • H.264 视频编码(avc1/H264/mp4v 自动 fallback)
  • 每帧元数据记录(时间戳、重复帧标记)

环境要求

  • Windows 10/11
  • Python 3.9
  • conda 环境 orbbec_py39
  • Orbbec Python SDK(已内置在 third_party/
  • Orbbec 相机(SV1301S_U3 兼容)

快速开始

1. 创建 conda 环境

conda create -n orbbec_py39 python=3.9 numpy opencv pip -y
conda activate orbbec_py39
pip install numpy==1.25.1

2. 安装 Orbbec 驱动

安装随 SDK 提供的 SensorDriver_V4.3.0.20.exe

3. 启动

# 单相机采图
start_orbbec_camera.bat

# 多相机录制(默认 30fps,10秒)
start_orbbec_multi_rgb.bat

# 浏览器 GUI
start_orbbec_rgb_gui.bat

4. 录制参数

--camera-fps 30    # 相机流帧率
--record-fps 30    # 视频写入帧率
--duration-sec 60  # 录制时长
--width 1920 --height 1080  # 分辨率
--exposure <N>     # 固定曝光值(不指定则自动中值)
--gain <N>         # 固定增益(不指定则最小值)

项目结构

E:\abz_camera\
├── scripts/
│   ├── orbbec_connect.py          # 单相机采图
│   ├── orbbec_multi_rgb_recorder.py  # 多相机录制
│   ├── orbbec_rgb_web_gui.py      # 浏览器 GUI
│   └── merge_multi_orbbec_session.py # 多相机视频合并
├── docs/
│   ├── fix_30fps_recording.md     # 30fps 修复记录
│   ├── orbbec_camera_usage.md     # 相机使用说明
│   ├── orbbec_multi_python_usage.md
│   ├── orbbec_rgb_gui_usage.md    # GUI 使用说明
│   └── orbbec_multi_merge_usage.md
├── start_orbbec_camera.bat
├── start_orbbec_multi_rgb.bat
└── start_orbbec_rgb_gui.bat

技术细节

  • 视频编码:H.264(avc1),软件编码
  • 帧率控制:挂钟时间驱动,按 record_fps 写入帧
  • 预览编码:独立线程,15fps JPEG
  • 曝光控制:关闭自动曝光/白平衡,固定参数避免帧率波动
  • 元数据:每帧记录 host 时间、设备时间戳、重复帧标记

输出

录制结果保存在 outputs/ 目录,每个 session 包含:

  • .mp4 视频文件
  • .json 元数据文件(含每帧时间戳)
  • session.json 会话汇总

参考

  • Orbbec SDK:内置于 third_party/orbbec_sdk_python/
  • Python 版本:3.7/3.8/3.9
  • OpenCV:>=4.2.0.32

About

Orbbec multi-camera RGB/RGBD recording system

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors