Commit graph

1912 commits

Author SHA1 Message Date
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
Robert Scheck
373dcb4f32 Fix typo in README.md 2023-02-03 07:37:16 +01:00
Miroslav Šedivý
e80ae8019e
set answering dtls role as server. (#24) 2023-01-30 11:31:30 +01:00
Miroslav Šedivý
72c0070a3a update changelog. 2023-01-29 20:31:00 +01:00
Miroslav Šedivý
009ceddbd3 gst: move sample channel to AttachAppsink. 2023-01-29 20:31:00 +01:00
mbattista
fdf17cfe77 channel should not close on destroy 2023-01-29 20:31:00 +01:00
mbattista
628c6a1b77 remove wait timer from goroutine 2023-01-29 20:31:00 +01:00
Miroslav Šedivý
79a1c41938 ensure fps is not 0. 2023-01-29 20:31:00 +01:00
Miroslav Šedivý
64b79f4579 update. 2023-01-29 20:31:00 +01:00
Miroslav Šedivý
8d0468ea62 codec is video & audio. 2023-01-29 20:31:00 +01:00
Miroslav Šedivý
89737dd4ce codec is video & audio. 2023-01-29 20:31:00 +01:00
Miroslav Šedivý
2649594c2e strongly typed session events channel. 2023-01-29 20:31:00 +01:00
Miroslav Šedivý
f3080713ce join GetScreenSizeChangeChannel. 2023-01-29 20:31:00 +01:00
Miroslav Šedivý
6e62b796fc remove unused channels. 2023-01-29 20:31:00 +01:00
Miroslav Šedivý
4094639ea9 adaptive fps moved to pipeline creation. 2023-01-29 20:31:00 +01:00
mbattista
c45a315d9b removed adaptive framerate tag and react to closed channels 2023-01-29 20:31:00 +01:00
Miroslav Šedivý
ee13e40d4c go fmt. 2023-01-29 20:31:00 +01:00
Miroslav Šedivý
dfe8b8b57d npm lint. 2023-01-29 20:31:00 +01:00
Miroslav Šedivý
12623866b3 disableHostCheck -> allowedHosts. 2023-01-29 20:31:00 +01:00
mbattista
161d121e59 channel direct from the pipeline 2023-01-29 20:31:00 +01:00
mbattista
5690a849e2 remove go-events 2023-01-29 20:31:00 +01:00
Miroslav Šedivý
a72648c409
add dockerfile. (#22) 2023-01-27 22:32:33 +01:00
Gheorghe
94981e30aa chore: add more resolutions
- 25 fps 2k
- 25 fps 1600x900
- 25 fps 1368x768
- 25 fps 800x1600
2023-01-23 17:04:32 +01:00
Miroslav Šedivý
813a0da30c
WebRTC ping over data channel (#23)
* add datachannel ping to webrtc.

* add ping pong decode func.
2023-01-20 23:08:27 +01:00
Miroslav Šedivý
ba0dea8022 switch to xkb. 2023-01-16 13:54:17 +01:00
Miroslav Šedivý
eac9796c47 no free keycodes, pick last two keycodes anyway. 2023-01-16 13:54:17 +01:00
Miroslav Šedivý
67cc23fd53 circular list for free keycodes. 2023-01-16 13:54:17 +01:00
Miroslav Šedivý
cfc6bd417f
Update README.md 2023-01-15 22:21:44 +01:00
Miroslav Šedivý
32472a70bc
Fix docker build (#237)
* include package-lock.

* extract intel gpu support from dockerfile.

* update arm support.

* new workflows.

* build intel images.

* add to docs.
2023-01-15 20:38:29 +01:00
Miroslav Šedivý
cd9ac70cb9 update XkbAddKeyKeysym. 2023-01-15 16:23:48 +01:00
Miroslav Šedivý
a02f47f140 update xorg bindings. 2023-01-14 21:15:52 +01:00
Miroslav Šedivý
bd04ca88e8 fix missing error message on wrong config. 2023-01-13 12:01:58 +01:00
Miroslav Šedivý
8381020415 default provider: multiuser. 2023-01-13 12:01:58 +01:00
Miroslav Šedivý
7601af9917 fix default pipeline. 2023-01-13 12:01:58 +01:00
Miroslav Šedivý
1fb5ae43dd allow multiple users to be set in object provider. 2023-01-13 12:01:58 +01:00
Miroslav Šedivý
107eba22a5 select profile primarily from corresponding session, if exists. 2023-01-13 12:01:58 +01:00
Miroslav Šedivý
2ff8d84ba2 fix errors. 2023-01-13 12:01:58 +01:00
Miroslav Šedivý
af95cb4d72 change dummy to noauth mode. 2023-01-13 12:01:58 +01:00
Miroslav Šedivý
319bd457f3 add multiuser provider. 2023-01-13 12:01:58 +01:00
Miroslav Šedivý
e5c84469ce MemberProvider: add variable names. 2023-01-13 12:01:58 +01:00
Miroslav Šedivý
6574470278 login logout proper http error handling. 2023-01-12 23:21:56 +01:00
Miroslav Šedivý
ccc1df936d fix stereo for chormium browsers. 2023-01-12 20:53:36 +01:00
Miroslav Šedivý
b793e5b377 add stereo to opus codec. 2023-01-12 20:34:09 +01:00
Miroslav Šedivý
3c3042d691
Add batch endpoint (#19)
* add batch endpoint.

* keep error code.

* use utils.HttpSuccess.

* add batch to openapi.

* body omitempty.
2023-01-09 23:18:47 +01:00
Miroslav Šedivý
1509521129
Merge pull request #232 from Dishwasha/master
Use Keyboard API to lock screen for supported browsers
2023-01-07 11:58:36 +01:00
Ethan Waldo
10e2fbd499 Use Keyboard API to lock screen for supported browsers
When using fullscreen mode, hitting the escape key will exit out of
fullscreen mode.  To stay in fullscreen mode but pass the escape
key through, we can use the Keyboard API to require the escape key
be held down https://wicg.github.io/keyboard-lock/#escape-key.

Tested in Chrome which supports Keyboard API and Firefox which does
not https://caniuse.com/?search=navigator.keyboard with no errors
in either case.
2023-01-06 20:10:34 -05:00
Miroslav Šedivý
1c228a7daa update troubleshooting docs. 2023-01-04 23:16:17 +01:00
Miroslav Šedivý
e63e9d5b2f update readme. 2022-12-22 21:40:31 +01:00
Miroslav Šedivý
fb8462b56a
Add WebRTC candidate metrics (#18)
* stats: add protocol to iceCandidates.

* add ice candidates used metric.

* NewICECandidate use whole struct.
2022-12-16 13:49:51 +01:00
Miroslav Šedivý
b49f545094 properly log unhandled panics. 2022-12-15 22:15:50 +01:00