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ý
5ad5daa6bb
Stream bucket manager ( #12 )
...
* refactor webrtc.
* bind track with a single connection.
* audio+video codec.
* move stream selection to bucket manager.
* audio w/o bucket manager.
* revert peer changes.
* return video IDs.
* destroy & recreate all.
* add video ID change.
* Track -> Recevier.
2022-10-17 13:39:31 +02:00
Miroslav Šedivý
691150900b
Temporary websocket disconnect handling ( #6 )
...
* fix websocket close log error.
* logger session interface no pointer.
* websocket delayet disconnect.
* session host: save id not pointer to a session.
* fix if hostId not stored.
2022-08-26 20:16:40 +02:00
Miroslav Šedivý
a6813f994c
ws control buttons & keys add optional pos.
2022-07-28 12:43:31 +02:00
Miroslav Šedivý
7d5ec0190a
add button events to control WebSocket.
2022-07-28 12:43:31 +02:00
Miroslav Šedivý
f4a4e0152e
webrtc SetCursorPosition.
2022-07-28 12:43:31 +02:00
Miroslav Šedivý
81531d74c1
websocket move cursor & scroll.
2022-07-28 12:43:31 +02:00
Miroslav Šedivý
babddacbf3
Go generics and changes in v1.18 ( #5 )
...
* ArrayIn to use generics.
* interface{} -> any.
2022-07-28 12:20:20 +02:00
Miroslav Šedivý
3cd59b9f30
rename module name from gitlab to github.
2022-07-14 22:10:41 +02:00
Miroslav Šedivý
d5425ea457
clipboard set for control paste.
2022-05-03 19:57:31 +00:00
Miroslav Šedivý
61059c9b3c
revert backwards compatibility.
2022-04-19 10:16:59 +00:00
Miroslav Šedivý
81867d811b
sessions: switch to settings struct.
2022-03-27 00:08:06 +01: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
Miroslav Šedivý
94c17e9a42
rename module to gitlab.com/demodesk/neko/server.
2022-03-20 11:27:41 +01:00
Miroslav Šedivý
d20fa071e7
register negotiation event after initial offer.
2022-02-10 23:39:52 +01:00
Miroslav Šedivý
26ab7fa12d
add control cut.
2022-01-30 17:53:22 +01:00
Miroslav Šedivý
e8c7ab421a
control actions with requests.
2022-01-30 17:52:50 +01:00
Miroslav Šedivý
f6eb8d0315
ws handler simplify logging.
2022-01-30 17:47:28 +01:00
Miroslav Šedivý
fcc85aa9d6
desktop control websocket.
2022-01-30 01:25:04 +01:00
Miroslav Šedivý
7b2c1570bf
add SDP answer.
2021-11-28 18:36:47 +01:00
Miroslav Šedivý
44e74e3088
implement signal offer.
2021-11-25 00:07:17 +01:00
Miroslav Šedivý
6fa2f4513f
add InactiveCursors to ws init.
2021-11-01 18:38:16 +01:00
Miroslav Šedivý
51577ecff4
screen size retype one struct.
2021-09-20 18:28:13 +02:00
Miroslav Šedivý
d21cb9f336
client logs use module.
2021-09-12 17:00:29 +02:00
Miroslav Šedivý
51207c2b50
FE logs: no handler context.
2021-09-09 22:51:37 +02:00
Miroslav Šedivý
afc79ed847
receive frontend logs using WS.
2021-09-09 22:08:39 +02:00
Miroslav Šedivý
5130d94bbc
websocket handler simplified logging.
2021-09-01 23:10:18 +02:00
Miroslav Šedivý
49c48b3200
remove event from messages.
2021-09-01 21:58:39 +02:00
Miroslav Šedivý
c82a083fb6
use websocket message.
2021-08-29 23:00:51 +02:00
Miroslav Šedivý
47d0359106
remove unknown message from handler.
2021-08-29 19:28:01 +02:00
Miroslav Šedivý
8f8cd47e85
websockets logging.
2021-08-29 18:23:58 +02:00
Miroslav Šedivý
3227978725
add screencast enabled bool to system init.
2021-07-14 14:23:51 +02:00
Miroslav Šedivý
7df642a346
add iceTrickle for restart from config.
2021-06-27 22:05:37 +02:00
Miroslav Šedivý
09fdea1b11
add ice restarts.
2021-06-27 22:02:05 +02:00
Miroslav Šedivý
014b757734
webrtc connect with selected video.
2021-04-30 14:05:07 +00:00
Miroslav Šedivý
552223d031
iceservers with auth.
2021-03-17 15:47:49 +01:00
Miroslav Šedivý
a9aa62f062
lint & logging fixes.
2021-03-16 10:53:03 +01:00
Miroslav Šedivý
971e3bff4e
handler: log unknown event.
2021-03-16 10:25:13 +01:00
Miroslav Šedivý
3b0c16b308
handler: include event in error.
2021-03-16 10:22:03 +01:00
Miroslav Šedivý
594404824f
fmt.
2021-03-14 01:05:00 +01:00
Miroslav Šedivý
4a28307c1e
session profile decoupled.
2021-03-14 00:45:51 +01:00
Miroslav Šedivý
5101f0a9c3
fix logs.
2021-03-14 00:12:32 +01:00
Miroslav Šedivý
fb2078e1ff
member -> session.
2021-03-14 00:05:31 +01:00
Miroslav Šedivý
fa687480a9
member events -> session events.
2021-03-13 23:48:07 +01:00
Miroslav Šedivý
dafebc79e5
memberState -> sessionState.
2021-03-13 23:42:16 +01:00
Miroslav Šedivý
b03a730c84
memberId to sessionId.
2021-03-13 23:32:10 +01:00
Miroslav Šedivý
d83e04e7ec
fix logs, unified session_id.
2021-03-13 23:27:28 +01:00
Miroslav Šedivý
a6b66e4d55
OnHostChanged event.
2021-03-13 21:37:00 +01:00