Update WebRTC provider documentation to reference new APIs (#2410)

This commit is contained in:
Allen Porter 2024-10-30 00:52:05 -07:00 committed by GitHub
parent 6d6ec9d734
commit 4bd68db9ff
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -104,23 +104,10 @@ class MyCamera(Camera):
"""Handle the WebRTC offer and return an answer."""
```
### RTSP to WebRTC
### WebRTC Providers
An integration may provide a WebRTC stream for any RTSP camera using `async_register_rtsp_to_web_rtc_provider`. The current best practice is for an integration to provide the actual stream manipulation with an Add-on or external service.
```python
async def handle_offer(stream_source: str, offer_sdp: str) -> str:
"""Handle the signal path for a WebRTC stream and return an answer."""
try:
return await client.offer(offer_sdp, stream_source)
except ClientError as err:
raise HomeAssistantError from err
# Call unsub() when integration unloads
unsub = camera.async_register_rtsp_to_web_rtc_provider(
hass, DOMAIN, handle_offer
)
```
An integration may provide a WebRTC stream from an existing camera's stream source using the libraries in `homeassistant.components.camera.webrtc`. An
integration may implement `CameraWebRTCProvider` and register it with `async_register_webrtc_provider`.
### Turn on