问题标签 [nest-device-access]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
155 浏览

webrtc - Nest Battery Cam GenerateWebRtcStream 命令出现 INVALID_ARGUMENT 错误

我正在尝试在仅支持 WebRTC 流而不支持 RTSP 的 Nest Battery Cam 上执行sdm.devices.commands.CameraLiveStream.GenerateWebRtcStream命令:

而且我总是收到一个通用错误:

有谁知道我做错了什么?

0 投票
0 回答
174 浏览

nest-device-access - RTSP 流在 DESCRIBE 方法上经常失败并出现 404

当客户端尝试执行 DESCRIBE 方法时,API 生成的流 URL 经常失败并显示 404 代码。即使随着时间的推移,相同的流 url 的行为也是随机的。下面是对从 API 返回的 RTSPS 流 URL 调用 ffprobe 的示例。每个请求在收到 URL 后大约相隔一秒钟。同样,每次都是同一个 URL。结果是

  1. 描述返回 404
  2. 描述返回 404
  3. 成功
  4. 成功但反应空洞
  5. 成功

这似乎表明这不是 ffprobe/ffplay/ffmpeg 的错误,而是 API 的某种问题,也许当 API 返回 URL 时流实际上还没有准备好?

0 投票
1 回答
45 浏览

nest-device-access - 第二代 Nest Cams 在同意屏幕上缺少权限

在授权您的应用程序时,第二代 Nest 摄像头(在本例中为室内/有线)似乎没有所有必要的权限。

来自同意屏幕的示例

请注意,地下室摄像机(第一代室内)具有“基于您选择的事件...”权限。而办公室相机没有。

实际上,尝试下载 Office 摄像头的事件图像会导致“ACCESS_DENIED”错误。

0 投票
1 回答
56 浏览

nest-device-access - Nest Battery Cam GenerateWebRtcStream 命令上的另一个 INVALID_ARGUMENT 错误

我正在尝试使用以下优惠 SDP执行sdm.devices.commands.CameraLiveStream.GenerateWebRtcStream命令:

我得到的回应是

但为什么?SDP 包含一个接收视频和音频的提议,以及一个数据通道。少了什么东西?该文档没有指定任何要求,除了音频是可接收的,它就是这样。

0 投票
0 回答
28 浏览

nest-device-access - 回答 SDP 无效?

对sdm.devices.commands.CameraLiveStream.GenerateWebRtcStream命令的请求会返回一个应答 SDP,其中包括一个数据传输部分,例如

请注意缺少 sctp-port 部分。相关的RFC规定:

没有为 SDP“sctp-port”属性定义默认值。
因此,如果该属性不存在,则
必须将关联的“m=”行视为无效。

0 投票
1 回答
64 浏览

nest - API 中缺少 NEST 恒温器热水状态和控制

我想控制 Nest 恒温器(带加热链接的第 3 代)家用热水,但是 API 似乎既没有暴露它的控件也没有暴露它的状态(https://developers.google.com/nest/device-access/ api/恒温器)。因为显然至少有一个内部 API,恒温器本身正在使用它:是否可以公开相同的控件/状态以供外部使用?用例:

  • 家庭助理集成
  • 用按钮触发“升压”
0 投票
0 回答
33 浏览

webrtc - 如何使用从 sdm.devices.commands.CameraLiveStream.GenerateWebRtcStream 返回的 answerSDP 与 google nest cam 建立流

我希望能够在家庭自动化项目中使用来自我的巢凸轮(电池)的流,从流中存储视频流和/或快照商店。我已经使用 homeassistant 成功连接了我的设备以证明这是可能的,并且非常依赖来自python-google-nest-sdm的代码。

我正在尝试使用sdm.devices.commands.CameraLiveStream.GenerateWebRtcStream从嵌套摄像头(电池)设备流式传输实时视频。我已成功连接到我的设备,发送了一个 sdpOffer 并收到了来自 sdm 的响应。我正在努力从答案中建立一个工作流。

{ "结果": { "answerSdp": "v=0\r\no=- ...\na=sctpmap:5000 webrtc-datachannel 1024\r\n", "expiresAt": "2021-12-21T21: 45:27.779Z", "mediaSessionId": "C..F" } }

我遵循了其他各种项目的代码,并尝试使用来自 python 的 aiortc,例如。aoirtc和来自例如WebRTC的 javascript 示例

我得到的最接近的方法是按照 googlelabs 的代码将answerSdp插入到 remotePeer 中,但是我遇到了一个错误,我确信我没有正确建立本地和远程对等点。

任何帮助,将不胜感激!

谢谢

0 投票
1 回答
112 浏览

webrtc - (Updated) GenerateWebRtcStream returns 400, "sdp_offer contains an invalid value." when sent to Nest Camera or Nest Doorbell

I've written an Android app to stream video from my nest cameras and doorbell. I have a valid access token and can retrieve a list of all my nest devices. However, when I send a GenerateWebRtcStream to any device, it returns the same 400 error.

I have verified that my offer:

  1. Has a=recvonly, and that it also has H264 as an available video codec. As indicated in documentation
  2. Has a data channel (as suggested by another solution to this problem).
  3. Has the audio stream data before the video stream data (as suggested by a second solution to this problem).
  4. [Updated] Have created the offer with a PeerConnection initialized with SdpSemantics.UNIFIED_PLAN

Additional information:

My Android app is based (almost entirely) off this very helpful blog. The app works when connecting to a non-nest camera (i.e. instance of itself on another device), so the offer and logic is valid on some level.

There appears to be very little information on what offer the Nest Camera's will accept, so I'm posting the generated offer and command I'm posting to the API in the hopes that someone has an idea on what I might need to change.

Many thanks in advance.

sdpOffer:

POST Body:

Error Response:

0 投票
1 回答
114 浏览

swift - RTSP 流有效,但 RTSPS 流无效?

我正在使用 SwiftUI 流式传输 RTSPVLCMediaPlayer

这是我的播放器代码:

这适用于以下 URL:rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mp4

但是,当使用从 Google API GenerateRTSPStream ( https://developers.google.com/nest/device-access/use-the-api#camera ) 生成的 URL 时,它看起来像:"rtsps://someurl.com/CjY5Y3VKaTZwR3o4Y19YbTVfMF...?auth=g.0.streamingToken"来自 api 调用的完整响应:

流不加载。问题是它使用 RTSPS 的事实吗?如果是这样,我如何调整我的代码以流式传输 RTSPS?如果这不是问题,那是什么?很卡在这里。

编辑:似乎 VLCMediaPlayer 不支持 RTSPS,如何在 iOS 中流式传输 RTSPS?

0 投票
2 回答
80 浏览

google-api - API调用的参数无效?

我收到以下 API 调用的无效参数(在https://developers.google.com/nest/device-access/api/doorbell-battery#webrtc之后):

来自服务器的响应:

什么是无效论点?