| 英語 | 韓国語 | 中国語 | 日本語 |
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()


