首页 > 解决方案 > 如何(正确)在 Google 的 Nest Device Access API 中使用 ExtendRtspStream 命令?

问题描述

使用 Google 的Nest Device Access API,我可以使用命令生成 RTSP 摄像机流,然后使用GenerateRtspStream命令停止流StopRtspStream。有道理,但是这些流默认只存活 5 分钟 - 所以 API 还具有另一个命令:ExtendRtspStream.

从表面上看,这听起来应该“扩展”您最初创建的流,但是这些 RTSP 流 url 包含一个auth查询参数,并且扩展一个流只是发出一个新的令牌用于此,这意味着用于每次扩展时,流都会发生变化。因此,实际上流根本没有得到扩展,因为您用于访问流的 url 仍然无效,您必须使用新的 url 重新启动它才能继续观看流。那么有什么意义呢?你也可以打电话给GenerateRtspStream命令并在第一个到期后切换到该命令。是否有某种方法可以无缝更改我不知道使用 FFMPEG 的 RTSP url 中流?或者有一个代理服务器广播静态 RTSP url 并在每次扩展时无缝切换实际 url?


Rant 从这里开始:我真的希望这种行为实际上是 API 设计中的错误或疏忽,并且ExtendRtspStream应该尽可能长时间地保持相同的 url 活动,因为拥有 RTSP 流非常没有意义最多只能存活5分钟。哎呀,拥有一个每隔 10 秒左右从相机返回最新的单张图像快照的 API 会更有用 - 但是,唉,也没有用于此的 API。

标签: ffmpegrtspnest-device-access

解决方案


推荐阅读