Commit Graph

8 Commits

Author SHA1 Message Date
Miroslav Šedivý
e3e9d1606d
Refactor signaling for video and audio (#51)
* add audio and signal request.

* disable audio by default.

* fix SignalProvide.

* disable estimator when track disabled.
2023-06-26 21:27:14 +02:00
Miroslav Šedivý
3e8d686c0f
Bandwidth estimator refactor (#46)
* rewrite to use stream selector.

* WIP.

* add nacks to metrics.

* add estimate trend.

* estimator based on trend detector.

* add estimator unstable duration.

* add estimator debug.

* add stalled duration.

* estimator move values to config.

* change default estimator values.

* minor style changes.

* fix websocket video messages.

* replace video track with ivdeo id.
2023-05-15 19:29:39 +02:00
Miroslav Šedivý
728e27da34 minor changes, moving things around. 2023-04-18 12:07:49 +02:00
Miroslav Šedivý
2364facd60
WebRTC congestion control (#26)
* Add congestion control

* Improve stream matching, add manual stream selection, add metrics

* Use a ticker for bitrate estimation and make bandwidth drops switch to lower streams more aggressively

* Missing signal response, fix video auto bug

* Remove redundant mutex

* Bitrate history queue

* Get bitrate fn support h264 & float64

---------

Co-authored-by: Aleksandar Sukovic <aleksandar.sukovic@gmail.com>
2023-02-06 19:45:51 +01:00
Miroslav Šedivý
6067367acd
Capture bandwidth switch (#14)
* Handle bitrate change by finding the stream with closest bitrate as peer

* Convert video id into bitrate when creating peer or changing bitrate

* Try to fix prometheus panic

* Revert metrics label name change

* minor fixes.

* bitrate selector.

* skip if moving to the same stream.

* no closure for getting target bitrate.

* fix: high res switch to lo video, stream bitrate out of range

* revert dev config change.

* white space.

Co-authored-by: Aleksandar Sukovic <aleksandar.sukovic@gmail.com>
2022-10-25 20:25:00 +02:00
Miroslav Šedivý
f4a4e0152e webrtc SetCursorPosition. 2022-07-28 12:43:31 +02:00
Miroslav Šedivý
d004ddd68f private mode implementation. 2022-03-26 23:20:38 +01:00
Miroslav Šedivý
8593d2d0fd move shared code to pkg. 2022-03-20 11:43:00 +01:00