core/homeassistant
Allen Porter c7b991f56b
Add `rtsptowebrtc` integration (#59660)
* Add initial version of the webrtc integration

Add the webrtc integration. This integration proxies the
signal 'offer' from the client to a RTSPtoWebRTCP server that
returns an 'answer'.

The RTSPtoWebRTC server is a go binary based on pion, and this is
what is currently used by the WebRTC custom_component:
https://github.com/AlexxIT/WebRTC
https://github.com/deepch/RTSPtoWebRTC

* Readability improvements for webrtc

* Reach 100% test coverage

* Use rtsp-to-webrtc client library package

* Rename webrtc to rtstptowebrtc

This is to reflect naming as one type of approach to webrtc since other webrtc integrations would look very different.

* Remove internal quality scale

* Bump rtsptowebrtc to support heartbeats

* Shorten server url variable and remove const.py

* Add config flow validation for RTSPtoWebRTC server

* Add RTSPtoWebRTC server health checks

* Accept translation suggestion

* Apply suggestions from code review

Co-authored-by: J. Nick Koston <nick@koston.org>

* Update rtsptowebrtc to use new camera registry API

Update rtsptowebrtc to use new API added in #62962

* Remove unused variable

* Fix lint and typing errors for python 3.8

* Rename to rtsp_to_webrtc to follow standards

* Use async_on_unload for unsubscribing camera webrtc provider

* Remove unnecessary translations in config flow

* Remove unnecessary configuration setup

* Cleanup test setup and typing

* Patch integration setup to avoid starting the whole integration

Co-authored-by: J. Nick Koston <nick@koston.org>
2022-01-01 12:36:31 -08:00
..
auth Bump mypy to 0.930 (#62642) 2021-12-27 17:55:17 +01:00
backports Bump mypy to 0.930 (#62642) 2021-12-27 17:55:17 +01:00
components Add `rtsptowebrtc` integration (#59660) 2022-01-01 12:36:31 -08:00
generated Add `rtsptowebrtc` integration (#59660) 2022-01-01 12:36:31 -08:00
helpers Improve typing in core service registration (#63005) 2021-12-30 21:18:10 +01:00
scripts Bump mypy to 0.930 (#62642) 2021-12-27 17:55:17 +01:00
util Bump mypy to 0.930 (#62642) 2021-12-27 17:55:17 +01:00
__init__.py
__main__.py Fix pylint plugin which checks relative imports (#62693) 2021-12-23 11:14:47 -08:00
async_timeout_backcompat.py Fix pylint plugin which checks relative imports (#62693) 2021-12-23 11:14:47 -08:00
block_async_io.py Fix pylint plugin which checks relative imports (#62693) 2021-12-23 11:14:47 -08:00
bootstrap.py Fix pylint plugin which checks relative imports (#62693) 2021-12-23 11:14:47 -08:00
config.py Bump mypy to 0.930 (#62642) 2021-12-27 17:55:17 +01:00
config_entries.py Bump mypy to 0.930 (#62642) 2021-12-27 17:55:17 +01:00
const.py Fix pylint plugin which checks relative imports (#62693) 2021-12-23 11:14:47 -08:00
core.py Improve typing in core service registration (#63005) 2021-12-30 21:18:10 +01:00
data_entry_flow.py
exceptions.py
loader.py Bump mypy to 0.930 (#62642) 2021-12-27 17:55:17 +01:00
package_constraints.txt Update frontend to 20211229.0 (#62981) 2021-12-29 12:15:52 +01:00
requirements.py Fix pylint plugin which checks relative imports (#62693) 2021-12-23 11:14:47 -08:00
runner.py Fix pylint plugin which checks relative imports (#62693) 2021-12-23 11:14:47 -08:00
setup.py Bump mypy to 0.930 (#62642) 2021-12-27 17:55:17 +01:00
strings.json Improve evil genius labs error handling (#62365) 2021-12-20 09:00:49 +01:00