Miroslav Šedivý
6b39e8e0e8
Fix WebRTC mux issues ( #17 )
...
* use NewMultiUDPMuxFromPort.
* tcp mux add write buffer size.
2022-12-13 11:35:03 +01:00
Miroslav Šedivý
919a554a9e
track WriteSample fix log message.
2022-12-12 22:53:26 +01:00
Miroslav Šedivý
2cb64d15a0
send heartbeat with ping. ( #16 )
2022-11-11 17:58:54 +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ý
d608e312eb
check if we already listen to requested stream. ( #13 )
2022-10-23 11:31:25 +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ý
095f9fe8ee
gst as interface. ( #11 )
2022-10-13 19:57:31 +02:00
Miroslav Šedivý
c34a76c8a3
broadcast url in config.
2022-09-23 17:21:33 +02:00
Miroslav Šedivý
194fd29679
capture fix replaces for pipelines.
2022-09-23 17:21:33 +02:00
Miroslav Šedivý
da24f92e72
broadcast log url.
2022-09-23 17:21:33 +02:00
Miroslav Šedivý
3eedbbf8ea
broadcast pipeline fn.
2022-09-23 17:21:33 +02:00
Miroslav Šedivý
a6f117686f
create pipeline fn return error.
2022-09-23 17:21:33 +02:00
Miroslav Šedivý
c793ff1ff6
kataras/go-events@v0.0.3 Once workaround.
2022-09-12 21:19:21 +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ý
2bf83f6217
add metrics to config.
2022-07-04 18:26:29 +02:00
Miroslav Šedivý
bf47e5a8d0
cleanup.
2022-07-04 18:23:35 +02:00
Miroslav Šedivý
8f83089c8e
move to /health and exclude metrics from logging.
2022-07-04 18:09:47 +02:00
Miroslav Šedivý
e37f5c13ca
fix bug.
2022-07-04 18:03:35 +02:00
Miroslav Šedivý
8ada0217d0
reset counters when closed.
2022-07-04 17:47:04 +02:00
Miroslav Šedivý
d5c934f2af
add ReceiverReport.
2022-07-04 01:01:03 +02:00
Miroslav Šedivý
fb707f05a6
join bytes by a label.
2022-07-04 00:48:29 +02:00
Miroslav Šedivý
01b5d61e2b
add receiverEstimatedMaximumBitrate.
2022-07-04 00:38:46 +02:00
Miroslav Šedivý
3fda00bac5
add video id for webrtc metrics.
2022-07-03 23:21:25 +02:00
Miroslav Šedivý
e4261c53b1
iceCandidatesMu.
2022-07-03 23:06:56 +02:00
Miroslav Šedivý
bb35695255
split sctp and ice bytes.
2022-07-01 00:16:39 +02:00
Miroslav Šedivý
7a1c8813e6
metrics connection State Count.
2022-06-30 23:54:06 +02:00
Miroslav Šedivý
fc5c017666
stats ice Candidates Count.
2022-06-30 23:50:47 +02:00
Miroslav Šedivý
8e80ef2c69
streamsrc mutex.
2022-06-25 23:53:19 +02:00
Miroslav Šedivý
527b1f08f8
add webrtc metrtics.
2022-06-25 20:12:42 +02:00
Miroslav Šedivý
555fd803bc
add active pipelines.
2022-06-19 01:03:16 +02:00
Miroslav Šedivý
5ab4848580
join pipelines_total.
2022-06-19 00:51:17 +02:00
Miroslav Šedivý
ef7e9b1a53
move metrics to /metrics.
2022-06-14 22:34:51 +00:00
Miroslav Šedivý
6deaa64884
capture metrics.
2022-06-15 00:23:16 +02:00
Miroslav Šedivý
0952be6a94
add chi metrics middleware.
2022-06-15 00:22:27 +02:00
Miroslav Šedivý
d5425ea457
clipboard set for control paste.
2022-05-03 19:57:31 +00:00
Aleksandar Sukovic
49ff490640
load plugins in order of dependencies.
2022-05-03 11:17:04 +00:00
Maksim Dorokhin
ae7e6dc2d7
add error to plugin start.
2022-04-20 09:31:37 +00:00
Miroslav Šedivý
61059c9b3c
revert backwards compatibility.
2022-04-19 10:16:59 +00:00
Aleksandar Sukovic
fdd0639036
expose plugin service.
2022-04-19 10:14:59 +00:00
Miroslav Šedivý
a4bb108168
replace modules with go plugins.
2022-04-15 19:28:00 +00:00
Maksim Dorokhin
f447cabe2e
add patch method to router.
2022-04-14 08:47:47 +00:00
Miroslav Šedivý
149d74150b
sessions in private still get cursor info & send inactive.
2022-03-27 00:35:33 +01:00
Miroslav Šedivý
470f670865
private mode release control.
2022-03-27 00:32:21 +01:00
Miroslav Šedivý
58fca708a7
add settings update to API.
2022-03-27 00:26:25 +01:00
Miroslav Šedivý
7d53e59945
properly clear inactive cursors.
2022-03-27 00:26:11 +01: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ý
d108343ced
Logs JSON output.
2022-03-07 10:05:02 +00:00
Miroslav Šedivý
f32e7e7075
fix-races.
2022-02-14 17:41:47 +00:00
Miroslav Šedivý
89ba775a71
add pprof.
2022-02-12 20:22:50 +01:00
Miroslav Šedivý
d068698836
update logging.
2022-02-12 18:55:56 +01:00
Miroslav Šedivý
55a2b14aea
webrtc implement signal close.
2022-02-12 18:46:00 +01:00
Miroslav Šedivý
d20fa071e7
register negotiation event after initial offer.
2022-02-10 23:39:52 +01:00
Miroslav Šedivý
369d8f3ccf
peer webrtc connection check.
2022-02-10 00:12:30 +01:00
Miroslav Šedivý
924be20505
WebRTC TCP and UDP mux.
2022-02-09 20:45:03 +00:00
Miroslav Šedivý
c2cf9277dc
emit /recevie samples on demand.
2022-01-22 17:58:05 +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ý
0d6335ebcd
fileChooserDialog use keypress.
2022-01-30 01:23:05 +01:00
Miroslav Šedivý
b261217cbe
add KeyPress func.
2022-01-30 01:22:07 +01:00
Miroslav Šedivý
5c05d1009b
add keysymdef generator.
2022-01-30 01:20:26 +01:00
Miroslav Šedivý
499256492a
config flag with -c.
2022-01-16 21:03:37 +01:00
Miroslav Šedivý
646b6ecaff
cookie expiration as time duration.
2022-01-16 21:03:25 +01:00
Miroslav Šedivý
8b6a2ed6d6
add webcam resolution + to config.
2022-01-08 23:53:45 +01:00
Miroslav Šedivý
dc33aa37bc
add v4l2loopback to comments.
2022-01-06 22:35:12 +01:00
Miroslav Šedivý
14a2e698ac
add stop fn to remote track.
2022-01-06 22:28:34 +01:00
Miroslav Šedivý
0f9f9a376c
fix remote track logging.
2022-01-06 20:41:44 +01:00
Miroslav Šedivý
6b14e01415
add media to capture config.
2021-12-09 23:22:24 +01:00
Miroslav Šedivý
21140d3dd3
fix broadcast config.
2021-12-09 22:58:12 +01:00
Miroslav Šedivý
670e0ee17d
member profile can share media.
2021-12-09 21:48:02 +01:00
Miroslav Šedivý
b653856994
fix v4l2sink sync.
2021-12-05 22:25:35 +01:00
Miroslav Šedivý
6431f63da7
v4l2 drop-allocation.
2021-12-05 22:11:52 +01:00
Miroslav Šedivý
9a6eb942a4
keep appsrc / appsink in ctx.
2021-12-05 22:06:42 +01:00
Miroslav Šedivý
8de5cb2f4a
fix gst log.
2021-12-05 21:33:30 +01:00
Miroslav Šedivý
f9fe303b50
gst destroy remove.
2021-12-05 21:31:40 +01:00
Miroslav Šedivý
b932e94f77
gst refactor to use ctx.
2021-12-05 18:16:26 +01:00
Miroslav Šedivý
7c3a24a613
add zerolog to gst.
2021-12-05 17:52:25 +01:00
Miroslav Šedivý
09cb1e9c6a
webcam add videoconvert.
2021-12-05 16:35:04 +01:00
Miroslav Šedivý
64c3449322
pipeline error handling.
2021-12-02 23:35:38 +01:00
Miroslav Šedivý
d70ae4410f
implement webcam.
2021-12-02 23:06:21 +01:00
Miroslav Šedivý
5643e7abbc
add streamsrc to capture.
2021-12-01 22:36:45 +01:00
Miroslav Šedivý
a6eca45e7f
implement codec parse.
2021-12-01 22:34:36 +01:00
Miroslav Šedivý
0a94191a5f
rename to StreamSink.
2021-12-01 20:30:18 +01:00
Miroslav Šedivý
065a7a2e84
gst minor changes.
2021-12-01 19:55:57 +01:00
Miroslav Šedivý
75b1e08874
virtual microphone OnTrack.
2021-11-28 23:16:26 +01:00
Miroslav Šedivý
7bc9a40677
gst push function.
2021-11-28 22:37:17 +01:00
Miroslav Šedivý
710d0c9cd0
gst extract appsink.
2021-11-28 22:19:06 +01:00
Miroslav Šedivý
7b2c1570bf
add SDP answer.
2021-11-28 18:36:47 +01:00
Miroslav Šedivý
096efe9b38
add on track log.
2021-11-25 23:46:06 +01:00
Miroslav Šedivý
0075cdca2b
implement OnNegotiationNeeded.
2021-11-25 21:43:39 +01:00