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ý
e80ae8019e
set answering dtls role as server. ( #24 )
2023-01-30 11:31:30 +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ý
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ý
6574470278
login logout proper http error handling.
2023-01-12 23:21:56 +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ý
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ý
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