PythonAI
萤石可编程设备 Python SDK 使用说明
萤石可编程设备 Python SDK 提供摄像头完整控制能力,涵盖 SD 卡管理、云台控制、网络配置、媒体录制及告警管理等核心功能。文档包含格式化 SD 卡、WiFi 连接、巡航设置等典型使用示例,并详细列出 55 个常用接口的参数说明与返回值定义,适用于设备开发与维护。

萤石可编程设备 Python SDK 提供摄像头完整控制能力,涵盖 SD 卡管理、云台控制、网络配置、媒体录制及告警管理等核心功能。文档包含格式化 SD 卡、WiFi 连接、巡航设置等典型使用示例,并详细列出 55 个常用接口的参数说明与返回值定义,适用于设备开发与维护。

本 SDK 提供摄像头设备的完整控制能力,涵盖 SD 卡管理、云台控制、网络配置、媒体录制、告警管理等核心功能。支持异步操作、参数配置及状态查询,适用于可编程摄像头设备的开发与维护。
format_sd_card(percentage):异步格式化 SD 卡(百分比范围 [0,90])get_sd_status():获取 SD 卡状态(返回分区容量、使用率等信息)create_directory(path) / create_file(path):创建目录/文件delete_path(path):删除路径(支持文件或目录)get_directory_info(path):查询目录下的文件/目录列表ptz_rotate(cfg_str):设置云台水平/垂直角度及速度ptz_stop():立即停止云台转动position_correct():校准云台初始位置ptz_add_preset(preset_index) / ptz_del_preset(preset_index):添加/删除预置点ptz_call_preset(preset_index):调用指定预置点ptz_del_preset_all():清空所有预置点ptz_set_cruise(cfg_str):设置巡航路径(支持 1-4 个预置点)ptz_cruise_enable(enable):开启/关闭巡航模式get_wifi_list(count):获取可用 WiFi 列表(最多 10 个)connect_wifi_async(cfg_str):异步连接指定 WiFi(需密码及加密方式)disconnect_wifi():断开当前 WiFi 连接get_network_param():查询当前 IP、网关等网络信息set_network_parameters(cfg_str):手动设置 IP、DNS 等参数save_video_by_time(cfg_str):按时间范围保存视频到 SD 或云端start_media_record(cfg_str) / stop_media_record(cfg_str):开始/停止视频录制start_local_snapshot(cfg_str):摄像头抓图(支持本地或云端存储)start_mic_record(cfg_str) / stop_mic_record(cfg_str):开始/停止录音get_alarm_info():查询已启用的告警类型(如人形检测、声音告警等)set_alarm_status(cfg_str):开启/关闭指定告警类型get_alarm_events():获取最近 200 条告警事件记录set_wdr(cfg_str):设置宽动态范围(WDR)参数set_mirror(cfg_str):镜像翻转画面# 格式化 SD 卡(保留 10% 空间)
result = format_sd_card(percentage=90)
if result == 0:
print("格式化任务已提交")
else:
print("格式化失败")
# 查询 SD 卡状态
sd_status = get_sd_status()
if sd_status != -1:
print(f"已用空间:{sd_status['used']}%, mmc01 剩余空间:{sd_status['free_mmc01']}GB")
import json
# 连接 WiFi(假设密码为"12345678",加密方式为 WPA2)
wifi_config = {
"ssid": "TP-LINK_35EB",
"password": "12345678",
"security": 4 # WPA2-PSK
}
result = connect_wifi_async(cfg_str=json.dumps(wifi_config))
if result == 0:
print("WiFi 连接请求已提交")
# 获取当前网络参数
network_info = get_network_param()
if network_info != -1:
print(f"IP 地址:{network_info['ip_addr']}, 信号强度:{network_info['signal_strength']}")
# 设置巡航路径(预置点 1 和 3)
cruise_config = {
"preset_num": 2,
"preset_no": [1, 3]
}
result = ptz_set_cruise(cfg_str=json.dumps(cruise_config))
if result == 0:
# 开启巡航模式
ptz_cruise_enable(enable=1)
format_sd_card 的 percentage)需在 [0,90] 范围内。get_sd_status)返回 -1 表示查询失败。save_video_by_time, ptz_panoramic, start_local_snapshot, start_media_record, start_mic_record)需通过 get_storage_id 或 get_and_clear_all_storages 获取云存储 ID。如需具体接口的详细用法,请参考对应函数的文档说明。
{
"start_time": 1638400000,
"end_time": 1638400000,
"sd": 1
}
{
"used": 1,
"total_mmc01": 102.41,
"free_mmc01": 65.31,
"total_mmc02": 256.00,
"free_mmc02": 180.50,
"diskStatus": 0
}
{
"num_files": 4,
"num_directories": 5,
"files": ["all.pem", "config.txt"],
"directories": ["voice", "certs"]
}
{
"pan_angle_min": -340,
"pan_angle_max": 340,
"tilt_angle_min": -60,
"tilt_angle_max": 60,
"speed_min": 1,
"speed_max": 3
}
{
"pan_angle": 10,
"tilt_angle": 20,
"speed": 1
}
{
"preset_num": 1,
"preset_index": [1]
}
{
"path": "/mnt/mmc02/.../pano",
"pic_name": "pano",
"type": 0
}
{
"preset_num": 2,
"preset_no": [1, 2]
}
{
"preset_num": 2,
"preset_no": [1, 3],
"enable": 1
}
[
{
"ssid": "TP-LINK_35EB",
"mode": 0,
"security": 4,
"channel": 161,
"signal_strength": 100,
"rssi": -35
}
]
{
"ssid": "TP-LINK_35EB",
"password": "12345678",
"security": 4
}
{
"ip_addr": "XXX.XXX.3.1",
"gateway": "XXX.XXX.3.1",
"pri_dns": "XXX.XXX.3.1",
"ssid": "EZVIZ-11-11"
}
{
"ip_addr": "XXX.XXX.3.1",
"gateway": "XXX.XXX.3.1",
"pri_dns": "XXX.XXX.3.1"
}
{
"type": 0,
"dest_addr": "/mnt/mmc02/.../xxx.jpg",
"resolution": 0
}
{
"stream_idx": 0,
"type": 0,
"pack_type": 1,
"dest_addr": "/mnt/mmc02/.../xxx.mp4"
}
{
"stream_idx": 0,
"type": 0,
"pack_type": 1,
"dest_addr": "/mnt/mmc02/.../xxx.mp4"
}
{
"stream_idx": 0,
"enable": 0,
"url": "rtmp://xxx.xxx.xxx.xxx/live/xxx"
}
{
"type": 0,
"dest_addr": "/mnt/mmc02/.../XXXX.aac"
}
{
"type": 0,
"dest_addr": "/mnt/mmc02/.../XXXX.aac"
}
{
"/XXX/XXX1.jpg": "E1$0$11$0$PY4O4B~$N1$BF4904736-1$00$0a81"
}
{
"enable": 0,
"level": 10
}
{
"enable": 1,
"level": 10
}
[
{"appid": "app_human_detect", "enable": 1},
{"appid": "app_db_detect", "enable": 1}
]
{
"appid": "app_db_detect",
"enable": 1
}
{
"appid": "app_db_detect",
"enable": 1
}
{
"appid": "app_db_detect"
}
[
{"app_id": "app_db_detect", "alarm_time": 1754632006},
{"app_id": "app_human_detect", "alarm_time": 1754632010}
]
{
"channel": 1,
"mode": "CENTER",
"enable": 1
}
{
"attribute": 4,
"datetime_overlay": {
"enabled": 1,
"clock_type": 0,
"positionx": 576,
"positiony": 8732
},
"channame_overlay": {
"enabled": 0,
"positionx": 608,
"positiony": 514,
"name": "Camera_BF4904736"
}
}
{
"attribute": 4,
"bDateTimeOverlay": 1,
"bchannelNameOverlay": 1,
"datetime_overlay": {},
"channame_overlay": {}
}
{
"mic_volume": 10,
"speaker_volume": 50
}
{
"mic_volume": 10,
"speaker_volume": 50
}
{
"mode": 1
}
{
"mode": 1
}
{
"resolution": 1
}
{
"resolution": 1
}

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online