jinghao zhang
jinghao zhang

Reputation: 1

How could I get my IPC streaming to google home APP?

I’m trying to develop a google smart home action for camera streaming based on web-rtc.

After configuring in the Google Home App, the device tag appears in the device list. However, when I click the device icon, the app shows: "This video stream can't be viewed here. If you have a smart display or Chromecast, you can ask the Assistant to stream it there".

snapshot in google home app

Yes, when I use a google nest hub, it streams from my camera successfully. I think if it's fine to stream in a nest device, it should also work in the APP. I'd like to know why it just don't work in APP.

Following is my intent answer for device SYNC:

{
    "payload": {
        "agentUserId": "anona.2589992",
        "devices": [{
            "traits": ["action.devices.traits.CameraStream"],
            "willReportState": true,
            "name": {
                "defaultNames": ["anona-3f377eadb02544a6ad91e3aa518d6006"],
                "name": "Anona Aurora Cam 0145",
                "nicknames": ["Anona Aurora Cam 0145"]
            },
            "attributes": {
                "cameraStreamNeedAuthToken": false,
                "cameraStreamSupportedProtocols": ["webrtc"]
            },
            "id": "3f377eadb02544a6ad91e3aa518d6006",
            "type": "action.devices.types.CAMERA",
            "deviceInfo": {
                "swVersion": "1.0.485",
                "model": "HM1009",
                "manufacturer": "anona-security",
                "hwVersion": "1.0"
            }
        }]
    },
    "requestId": "15164258317675603137"
}

I tried to find any document in google developer center, but found nothing points to this behavior.

Meanwhile, I tired some other cameras from other manufacturers. For example, Xiaomi BW300 security camera. Once I clicked the device tag in google home APP, it was going to connect stream to that camera.

Upvotes: 0

Views: 88

Answers (1)

Armen Sarkisyan
Armen Sarkisyan

Reputation: 109

Currently, WebRTC is supported only on specific devices like Google Nest Smart Displays and Chromecast with Google TV. This means that while your camera can stream successfully to those devices, Google Home app does not support streaming directly within it.

For streaming in the Google Home app, you might want to consider using HLS (HTTP Live Streaming). If your camera supports HLS, it can serve as a fallback for streaming within the Google Home app.

Consider implementing the following logic:

  1. Define the protocols supported by your camera in the cameraStreamSupportedProtocols attribute. For example:

    "cameraStreamSupportedProtocols": ["webrtc", "hls"]

  2. If the Google Home app does not support WebRTC, ensure your camera can switch to HLS streaming. You might want to provide a separate endpoint for HLS streaming in your camera's configuration.

Upvotes: 0

Related Questions