VideoWebRTC
homey.video_web_rtc
A video using a WebRTC stream.
Example:
# In your device.py file
async def on_init(self):
await super().on_init()
video = self.homey.videos.create_video_web_rtc()
video.register_offer_listener(self.handle_web_rtc_offer)
video.register_keep_alive_listener(self.refresh_stream)
await self.set_camera_video('front_door', 'Front Door', video)
This class must not be initialized by the developer, but retrieved by calling ManagerVideos.create_video_web_rtc().
Ancestors
- VideoWithURL
- Video
- homey.client.serializer.Serializable
- abc.ABC
Methods
register_offer_listener
def register_offer_listener(self,listener: Callable[[str], Coroutine[Any, Any, WebRTCAnswer]]) ‑> Self
Register a listener for WebRTC offer events. This is invoked when Homey requests an SDP answer for a WebRTC offer.
Args
| Name | Type | Description |
|---|---|---|
listener |
Callable[[str], Coroutine[Any, Any, WebRTCAnswer]] | An async listener that receives an SDP string and returns a dict containing answerSdp and, if a keep-alive listener is used, streamId. |
register_keep_alive_listener
def register_keep_alive_listener(self, listener: Callable[[str], Coroutine[Any, Any, None]]) ‑> SelfRegister a listener for WebRTC keep alive events. This is invoked when Homey sends keep alive signals for active WebRTC streams.
Args
| Name | Type | Description |
|---|---|---|
listener |
Callable[[str], Coroutine[Any, Any, None]] | An async listener that receives a stream ID. |
Inherited members
WebRTCAnswer
Ancestors
- builtins.dict
Instance variables
answerSdp
var answerSdp : strstreamId
var streamId : str | NoneThe stream identifier used for the keep-alive listener.