Google Nest API技术问询:从Motion事件获取过往视频及直播流回溯
Nest摄像头过往视频获取问题解答
问题1:从生成的资源事件中获取过往视频片段是否可行?
背景信息
- 设备:已通电的Nest Outdoor Camera (Battery)
- 已通过Google Cloud Pub/Sub订阅接收实时资源事件,示例事件如下:
{ "eventId" : "5f48043f-ffcd-4a5a-a0f3-cc0473770d6b", "timestamp" : "2019-01-01T00:00:01Z", "resourceUpdate" : { "name" : "enterprises/project-id/devices/device-id", "events" : { "sdm.devices.events.CameraMotion.Motion" : { "eventSessionId" : "CjY5Y3VKaTZwR3o4Y19YbTVfMF...", "eventId" : "dABYrGjJLQ8k0C2peoeKLeDk5_..." } } }, "userId" : "AVPHwEuBfnPOnTqzVFT4IONX2Qqhu9EJ4ubO-bNnQ-yi", "eventThreadId" : "d67cd3f7-86a7-425e-8bb3-462f92ec9f59", "eventThreadState" : "STARTED", "resourceGroup" : [ "enterprises/project-id/devices/device-id" ] }
- 可通过
sdm.devices.commands.CameraLiveStream.GenerateWebRtcStream查看直播视频
解答
可行,核心依赖事件标识和专用回放命令:
- 事件中的
eventSessionId和eventId是关联对应视频片段的关键参数,收到事件时需保存这两个值及事件的timestamp。 - 调用
sdm.devices.commands.CameraClip.GenerateClip命令,传入设备名称、上述事件标识,即可获取该运动事件发生前后的视频片段。 - 前提:设备必须订阅Nest Aware服务,否则无云存储的过往视频可获取。
问题2:如何通过sdm.devices.commands.CameraLiveStream.GenerateWebRtcStream回溯至2天前的视频?
解答
sdm.devices.commands.CameraLiveStream.GenerateWebRtcStream仅用于生成实时直播流,不支持回溯过往视频。要获取2天前的视频,需使用专用回放命令:
- 使用
sdm.devices.commands.CameraClip.GenerateClip命令,指定时间范围(将startTime和endTime设为2天前的对应时间段)。 - 如果有2天前对应事件的
eventId,也可直接传入该参数,获取事件关联的视频片段。 - 注意:需确保设备有Nest Aware订阅,且目标视频仍在云存储有效期内(Nest Aware不同订阅等级对应不同存储时长,至少覆盖2天)。
内容的提问来源于stack exchange,提问作者jono2010
相关产品推荐
相关产品推荐

