Commit Graph

125 Commits

Author SHA1 Message Date
Alexandre Iooss b8ee60ce9f
Use messaging in web package 2020-10-17 12:38:18 +02:00
Alexandre Iooss 9fc94cf0de
Change not found error message 2020-10-16 21:26:48 +02:00
Alexandre Iooss 73a2adc055
Do not allow \ or @ in URL 2020-10-16 21:23:13 +02:00
Alexandre Iooss d8e021b5ed
Fix typo in negotiation 2020-10-14 21:37:05 +02:00
Alexandre Iooss dc01eca73c
Add ?nowidget GET parameter 2020-10-13 19:36:28 +02:00
Alexandre Iooss 0f98f6f62c
Fix control bar detaching from video player and remove padding 2020-10-13 19:25:21 +02:00
Yohann D'ANELLO 084ea676be Sort imports 2020-10-13 18:04:00 +02:00
Yohann D'ANELLO a6fd1344bc Avoid to DDOS the server, querying infinite time per second a blank page is maybe too much, useless and dangerous 2020-10-13 17:57:38 +02:00
Yohann D'ANELLO e154fe1a1e Stream ID was broken in the current viewers stats 2020-10-13 17:43:53 +02:00
Yohann D'ANELLO a2efa1126f Underscores are ignored by YAML, uses dashes 2020-10-13 17:25:00 +02:00
Yohann D'ANELLO de2ac30292 Replace dots by underscores in MapDomainToStream configuration 2020-10-13 17:18:44 +02:00
Yohann D'ANELLO 4546f3b8fb Map domain to streamid instead of considering that the domain is the streamid: no need to pass a YAML key that contains dots 2020-10-13 17:12:19 +02:00
Yohann D'ANELLO 51d38f6fec Store the clients that are connected to a telnet shell in the connected viewers stats 2020-10-13 11:37:59 +02:00
Yohann D'ANELLO fc96fa4d4e In oneStreamPerDomain mode, allocate the /about to display informations about Ghostream 2020-10-11 23:09:48 +02:00
Alexandre Iooss a0e520e128
Make player poster customisable, fix #20 2020-10-11 22:02:20 +02:00
Alexandre Iooss de5a48ded7
Always log ICE change on client 2020-10-11 15:03:28 +02:00
Alexandre Iooss d73a7be9f3
Make SVG favicon use SVG stack 2020-10-11 11:56:52 +02:00
Alexandre Iooss 3eb5f4cc4b
Make select options dark on Chromium 2020-10-11 11:07:51 +02:00
Alexandre Iooss 2ee2ed78a9
Custom CSS support, fix #10 2020-10-11 11:04:40 +02:00
Alexandre Iooss 064e35935d
Style player in seperate CSS file 2020-10-11 10:54:10 +02:00
Alexandre Iooss 5f457a1e6a
Also test web server desactivation 2020-10-09 23:57:39 +02:00
Alexandre Iooss fe43fdb4ae
TestHTTPServe was loading templates two times 2020-10-09 23:52:32 +02:00
Alexandre Iooss 87d2992bdf
Add package comments 2020-10-09 22:36:02 +02:00
Alexandre Iooss 0a0e8330f3
Enable web server during tests 2020-10-09 22:20:35 +02:00
Alexandre Iooss 45c6b5dba5
Fix #7: make each module optional 2020-10-09 22:06:30 +02:00
Yohann D'ANELLO ee13d9f0e9 Fix statistics test 2020-10-06 09:32:41 +02:00
Alexandre Iooss 392a9d7fc3
Quality selector reload stream 2020-10-06 09:20:25 +02:00
Alexandre Iooss 24acfe1137
Change the quality selector 2020-10-06 09:12:19 +02:00
Yohann D'ANELLO 07983a1c71 Try to add a quality selector (WIP), see #4 2020-10-06 00:06:52 +02:00
Yohann D'ANELLO 192c86f140 Count also the viewers that are streaming directly from their video player in the connected users stats 2020-10-05 22:41:19 +02:00
Yohann D'ANELLO 0a1329b929 Separate statistics per stream 2020-10-05 22:09:10 +02:00
Yohann D'ANELLO 022f6fb098 💩 Split webrtc tracks by stream id (need to clean this, stream ID must pass between the session descriptor and the webrtc flux transmit) 2020-10-05 22:00:08 +02:00
Alexandre Iooss 4f320a90b5
Change web stream poster 2020-10-04 18:39:04 +02:00
Yohann D'ANELLO 3bf27fb0b1 Don't use vars 2020-10-04 18:12:35 +02:00
Yohann D'ANELLO 7831238375 Don't split domain if we use standard HTTP ports 2020-10-04 18:10:11 +02:00
Alexandre Iooss d5ada0bce7
Do not put path in title when one stream per domain 2020-10-04 18:00:20 +02:00
Alexandre Iooss 6cf24cfb85
Add oneStreamPerDomain mode 2020-10-04 17:56:03 +02:00
Alexandre Iooss 10312667d8
Do not load chat button JS when there is no chat 2020-10-04 17:51:44 +02:00
Alexandre Iooss 3c16c11f38
Hide sidebar widget if no url provided 2020-10-04 11:57:42 +02:00
Alexandre Iooss 5cdb5282ef
Display SRT url on web page 2020-10-04 11:45:16 +02:00
Yohann D'ANELLO 8da60ebdcc Add empty configuration in Web Handler test 2020-10-03 13:28:54 +02:00
Yohann D'ANELLO 7ceecad355 ID is better than Id according to Golang 2020-10-02 21:13:50 +02:00
Yohann D'ANELLO cc4c556f2c Wait 1 second after the web server got served to avoid a request that came too early 2020-10-01 09:47:59 +02:00
Yohann D'ANELLO 56c89879c8 Try to test serving HTTP server 2020-09-30 16:11:51 +02:00
Yohann D'ANELLO ea860a0790 More coverage on web package 2020-09-30 16:09:25 +02:00
Alexandre Iooss ac40d81e98
Use fetch API to fetch viewers count 2020-09-30 15:56:24 +02:00
Alexandre Iooss 9fe544b7bc
Add a favicon 2020-09-30 15:52:26 +02:00
Yohann D'ANELLO 0adecb07cd Ghostream now uses SRT rather than RTMP (even if it is not implemented yet) 2020-09-29 19:12:29 +02:00
Alexandre Iooss 06542590e1
Make viewers counter period configurable 2020-09-29 18:44:32 +02:00
Alexandre Iooss 12009b5875
Smaller viewer count 2020-09-29 18:37:57 +02:00
Yohann D'ANELLO 881c78f576 Refresh viewer counter every 20 seconds 2020-09-29 18:25:38 +02:00
Alexandre Iooss f8aa587d0e
Handle error 2020-09-29 18:20:24 +02:00
Alexandre Iooss 078a74add1
Do not read prometheus metrics 2020-09-29 18:17:55 +02:00
Yohann D'ANELLO 2005f3ece1 Store connected viewers in Prometheus and serve this amount 2020-09-29 18:03:28 +02:00
Alexandre Iooss c49b5eeb2b
Put iframe in a sandbox 2020-09-29 17:47:36 +02:00
Alexandre Iooss 95f4b81f01
Make STUN server configurable 2020-09-29 17:27:19 +02:00
Yohann D'ANELLO 85febcf757 Add 1 second timeout to reconnect 2020-09-29 14:23:34 +02:00
Alexandre Iooss 48c8ff8987
Pack also statics during compilation 2020-09-28 18:06:10 +02:00
Alexandre Iooss 7716898713
Use pkger to pack templates 2020-09-28 17:36:40 +02:00
Alexandre Iooss 3449124d62
Fix typo in occurred 2020-09-28 10:54:02 +02:00
Alexandre Iooss 503fb2698b
Test viewer page 2020-09-27 22:40:07 +02:00
Alexandre Iooss eafb4456c4
Validation on path 2020-09-24 16:13:21 +02:00
Alexandre Iooss 43158a655f
Auto reconnect to stream 2020-09-24 12:40:48 +02:00
Alexandre Iooss 097766141f
WebRTC session exchange working 2020-09-24 11:24:13 +02:00
Alexandre Iooss 02399e7e26
Remove debug elements from viewer 2020-09-23 13:53:11 +02:00
Alexandre Iooss 4990d09767
Use POST to exchange WebRTC sessions 2020-09-23 13:52:12 +02:00
Alexandre Iooss e6450fd96a Remove screenshots from index page 2020-09-23 10:53:49 +02:00
Alexandre Iooss 73d08f497e WebRTC player 2020-09-22 22:08:14 +02:00
Alexandre Iooss 5ac336393b Restructure configuration 2020-09-22 11:42:57 +02:00
Alexandre Iooss c799a5b613 Monitoring is an internal package 2020-09-21 21:38:11 +02:00
Alexandre Iooss 7cdd78a70e Add prometheus monitoring endpoint 2020-09-21 21:33:32 +02:00
Alexandre Iooss 121592bee5 Use configuration in web server 2020-09-21 20:38:21 +02:00
Alexandre Iooss 28e3b4c753 Implement config loading 2020-09-21 19:59:41 +02:00
Alexandre Iooss a0d814b76b Split web into Go submodule 2020-09-21 17:47:31 +02:00
Alexandre Iooss b5a7b9bbcd Initial Golang project 2020-09-21 17:29:50 +02:00