ffmpeg - 如何(正确)在 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。
解决方案
推荐阅读
- python - 从另一个路径重新加载 python 模块
- ruby-on-rails - 在第三页上没有获得下一页令牌谷歌位置 api?
- node.js - 限制用户对某些功能的操作。唯一标识未登录用户
- javascript - 为什么 useEffect 钩子没有按预期工作 - 它与 useState 有什么关系?
- docker - 使用 Gitlab CI / CD 批量更新 Docker 代码
- linux - 在 shell 脚本中访问全局变量
- javascript - 当总能找到答案
- reactjs - 如何使用 reactjs 提供数据
- python - 将第 n 行元素存储在列表熊猫数据框中
- twilio - 如果参与者最初在没有视频/音频的情况下加入 twilio 房间,费用是多少?