| 英文 | 韩文 | 中文 | 日文 |
APIs: playback
获取录制的图像
您可以通过指定通道编号、子流索引和时间信息来获取录制的图像。
默认的子流索引为0,表示主码流。
🛠️ (frame_image, frame_info) = get_image(ch_no, year, month, day, hour, minute, second, sub_idx=idx)
↩️ frame_image: 表示视频图像的numpy数组。
· 对于像素格式为 "BGR",图像的形状为 (height, width, 3)。
↩️ frame_info: 包含视频图像信息的字典。
· frame_info['timestamp']: Unix时间戳。
· frame_info['timestamp_msec']: 毫秒级时间戳。
· frame_info['message']: 错误信息。
您还可以使用以下API更改视频输出设置:
🛠️ set_image_size(width, height): 设置输出视频的尺寸。(默认:原始视频尺寸)
🛠️ set_pixel_format("PIXEL_FORMAT"): 设置输出视频格式。可选 "RGB" / "BGR" / "0RGB" / "0BGR"。(默认:"RGB")
playback = vmspy.playback()
if not playback.init(address, port, access_id, access_pw):
print(playback.get_error())
playback.set_image_size(720, 480)
playback.set_pixel_format("BGR")
(frame_image, frame_info) = playback.get_image(1, 2025, 4, 17, 5, 24, 30)
获取录制图像序列
您可以通过指定通道编号、开始时间和间隔(秒)来获取录制图像序列。
将间隔(interval)设置为零(0)可进入全帧模式。
🛠️ ret = start(ch_no, year, month, day, hour, minute, second, interval=sec, sub_idx=idx)
↩️ ret: 成功返回True,失败返回False。
启动后,您可以按指定间隔接收一系列帧:
🛠️ (frame_image, frame_info) = get_frame()
↩️ frame_image: 表示视频图像的numpy数组。
· 对于像素格式为 "BGR",图像的形状为 (height, width, 3)。
↩️ frame_info: 包含视频图像信息的字典。
· frame_info['timestamp']: Unix时间戳。
· frame_info['timestamp_msec']: 毫秒级时间戳。
· frame_info['message']: 错误信息。
playback.set_image_size(720, 480)
playback.set_pixel_format("BGR")
playback.start(1, 2025, 4, 17, 5, 24, 30, interval=10) # 每10秒
while True:
(frame_image, frame_info) = playback.get_frame()
if frame_image.size == 0:
print(frame_info['message'])
break
# 执行分析
playback.stop()
获取归档文件图像
您可以通过指定文件ID和时间信息来获取归档文件的图像。
文件ID和时间戳可通过 `utils.get_file_list()` 函数获取。
🛠️ (frame_image, frame_info) = get_file_image(file_id, timestamp)
↩️ frame_image: 表示视频图像的numpy数组。
· 对于像素格式为 "BGR",图像的形状为 (height, width, 3)。
↩️ frame_info: 包含视频图像信息的字典。
· frame_info['timestamp']: Unix时间戳。
· frame_info['timestamp_msec']: 毫秒级时间戳。
· frame_info['message']: 错误信息。
您也可以按上述方式更改视频输出设置。
playback = vmspy.playback()
if not playback.init(address, port, access_id, access_pw):
print(playback.get_error())
playback.set_image_size(720, 480)
playback.set_pixel_format("BGR")
(frame_image, frame_info) = playback.get_file_image(29513186, 1770790997)
获取归档文件图像序列
您可以通过指定文件ID、时间信息和间隔(秒)来获取归档文件的图像序列。
文件ID和时间戳可通过 `utils.get_file_list()` 函数获取。
将间隔(interval)设置为零(0)可进入全帧模式。
🛠️ ret = start_file(file_id, timestamp, interval=sec)
↩️ ret: 成功返回True,失败返回False。
启动后,您可以按指定间隔接收一系列帧:
🛠️ (frame_image, frame_info) = get_frame()
↩️ frame_image: 表示视频图像的numpy数组。
· 对于像素格式为 "BGR",图像的形状为 (height, width, 3)。
↩️ frame_info: 包含视频图像信息的字典。
· frame_info['timestamp']: Unix时间戳。
· frame_info['timestamp_msec']: 毫秒级时间戳。
· frame_info['message']: 错误信息。
playback.set_image_size(720, 480)
playback.set_pixel_format("BGR")
playback.start_file(29513186, 1770790997, interval=10) # 每10秒
while True:
(frame_image, frame_info) = playback.get_frame()
if frame_image.size == 0:
print(frame_info['message'])
break
# 执行分析
playback.stop()


