0

376 Commits

Author SHA1 Message Date
Gabe Kangas
dfeba53f08 Reduce the amount of time between start of stream and when we show as online. Can bump this back up if needed. 2020-10-08 14:27:42 -07:00
Gabe Kangas
bcf4cb09e7 Break rtmp read loop after disconnect 2020-10-07 19:59:55 -07:00
Gabe Kangas
d7e355bce1
Connected clients admin API (#217)
* Add support for ending the inbound stream. Closes #191

* Add a simple success response to API requests

* Connected clients API with geo details

* Post-rebase cleanup

* Make setting and reading geo details separate operations to unblock and speed up

* Rename file

* Fire geoip api call behind goroutine

* Add comment

* Post-rebase fixes

* Add support for the MaxMind GeoLite2 GeoIP database
2020-10-06 23:14:33 -07:00
leowmjw
769fc3a561
Fixes #211: Update mod paths (#221)
Co-authored-by: Michael Leow <mleow@moneylion.com>
2020-10-05 10:07:09 -07:00
Gabe Kangas
922dfec77a
Remove custom paths and add constants (#216) 2020-10-03 14:35:03 -07:00
Gabe Kangas
f4fdc6c951
Current broadcaster details admin api (#206)
* Add support for ending the inbound stream. Closes #191

* Add a simple success response to API requests

* Store inbound broadcast details for admin purposes

* Add /api/admin/broadcaster endpoint

* Reset broadcaster on disconnect

* Move controller to admin directory
2020-10-02 00:12:47 -07:00
Gabe Kangas
9b7784634b
First pass at YP registration/configuration (#209)
* Spike: Ping YP service with instance details

* WIP: Add to the config to support YP

* Add YP response endpoint

* Handle YP errors. Use config. Off by default

* Show message about YP support on launch

* Add animated gif preview when generating thumb

* Increase quality of preview gif and only create it if YP is enabled

* Do not allow re-registration by clearing the key

* Make large and small logos actually structured

* Change log level

* Fix default YP service URL

* Point to default hostname

* Set default value for YP to false
2020-10-01 23:55:38 -07:00
Anoop
6946d4b3ea
Make video segment filename unique (#214)
* Make video segment filename unique

* fix typo

* Remove type casting function
2020-10-01 23:34:29 -07:00
Gabe Kangas
7b64fc7c30
Disconnect stream Admin API + HTTP Basic Auth (#204)
* Create http auth middleware

* Add support for ending the inbound stream. Closes #191

* Add a simple success response to API requests
2020-10-01 18:16:58 -07:00
Gabe Kangas
ef3796a033 Use default video variants if none supplied. Fixes #199 2020-09-27 20:12:45 -07:00
Gabe Kangas
519be9d3b4 Don't update viewer counts if a live stream session is not active. 2020-09-24 20:27:47 -07:00
Gabe Kangas
fc45645280 Reset session stats when we cleanup the session. Closes #180 2020-09-24 19:38:24 -07:00
Gabe Kangas
cb2794f68c Fix cleanup. ticker -> timer and stop reinstantiation 2020-09-23 21:35:27 -07:00
Gabe Kangas
6903db8579 Re-create offline state after wiping HLS files. For #153 2020-09-17 10:31:41 -07:00
Bradley Hilton
dd9267f1ee
Reset the directories when the stream gets disconnected (#152)
* Reset the directories when the stream gets disconnected

* Cleanup after a delay

Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2020-09-16 13:31:21 -07:00
Gabe Kangas
d21f136120
Transcoder updates for bitrate validator warnings (#106)
* Transcoder updates for validator warnings (gop, max-bitrates) for #50

* Make the variant settings easier to set/read in code

* Update test to reflect update to transcoder

* Reduce the buffer to give it a little more room to improve the quality. It feels a bit crunched right now.

* Fix test due to changed bitrate buffer ratios

* Tweak buffer size one more time to get errors in the validator to zero

* Saw errors w/ different bitrates, so tweaking it again
2020-08-06 12:19:35 -07:00
Gabe Kangas
b0b5801c5f
Stop storing messages in memory and pull from persistence. Closes #81 (#105) 2020-08-05 21:01:06 -07:00
Gabe Kangas
d9509f5606
Chat updates (#92)
* Send PONG responses to PINGs

* Split out client IDs for viewer counts vs. websocket IDs

* WIP username change event

* Display username changes

* Revert commented out code

* Add support for building from the current branch

* Fix PONG

* Make username changes have a unique ID

* Add a version param to js to cachebust
2020-07-28 21:30:03 -07:00
Matt Steele
87636a4183
Support separate S3 serving endpoint (#91)
* Add s3 serving endpoint config. Fixes #90

* Move CDN endpoint generation to GenerateRemotePlaylist

* Include HLS path

* Add docs and config

* Prefer sprintf to string concatenation

* Use config method

* gofmt
2020-07-28 13:17:39 -07:00
Matt Steele
a20d2fce46
Add ACL option to s3 config (#89) 2020-07-27 21:41:51 -07:00
Gabe Kangas
5ce9a4928c Fix timeout buffer after going offline. Closes #84 2020-07-22 23:54:36 -07:00
Gabe Kangas
43df6c432e Fix possible crash for concurrent map writes 2020-07-22 23:09:11 -07:00
Gabe Kangas
a7812f8d04 Increase the delay for the welcome chat message a bit 2020-07-20 00:22:32 -07:00
Gabe Kangas
b754ee01bf Remove IPFS. For #74 2020-07-19 21:15:53 -07:00
Ginger Wong
a3613612eb Merge branch 'master' into gek/current-stream-duration 2020-07-19 15:17:03 -07:00
Gabe Kangas
c0e4f647a2 Show chat by default. Closes #72. Show placeholder text that no registration is needed. Closes #73 2020-07-19 15:15:39 -07:00
Gabe Kangas
2855027f22
Use endpoint for chat history instead of websocket (#67)
* Change placeholder when chat is disabled

* Use the /chat endpoint for bulk chat history population instead of websocket. For #47

* Force LiveUI/seek bar during live to show. Closes #11.

* Change pulling chat history into app.js

* Force new messages to have visability = true
2020-07-18 17:27:04 -07:00
Gabe Kangas
8ba0b6d7ce Show in the UI how long the user has been streaming for. Closes #59 2020-07-18 15:08:43 -07:00
Gabe Kangas
2afde7b3f9 Fix missing default video bitrate if none is supplied 2020-07-15 23:56:14 -07:00
Gabe Kangas
a277012650 Limit the backlog of chat messages to recent messages. For #47 2020-07-15 22:06:24 -07:00
Gabe Kangas
a8fe8a1cfa Add support for specifying the path for chat db. Closes #61 2020-07-15 17:20:47 -07:00
Gabe Kangas
5fe9955f26 Increase the time between broadcast started and when we are marked as online 2020-07-15 16:14:12 -07:00
Gabe Kangas
95fd8aed96 Added a basic transcoder test 2020-07-14 18:54:52 -07:00
Gabe Kangas
a7a9ae0984 Fix incorrect logging method 2020-07-14 16:48:41 -07:00
Gabe Kangas
a11999c3c0 Log cleanup 2020-07-13 23:55:12 -07:00
Gabe Kangas
ec83e11bd9 Approximately 3 segments should be available before playback can start 2020-07-13 23:51:55 -07:00
Gabe Kangas
dd1b9411bf Add verbose logging for RTMP metadata 2020-07-13 23:32:35 -07:00
Gabe Kangas
4559bde977 Most things have 30 as a standard fps instead of 25 2020-07-13 20:58:45 -07:00
Gabe Kangas
a9a83f78a3 Set a default framerate so we can specify the correct iframe settings 2020-07-13 19:37:25 -07:00
Gabe Kangas
fe102e7164 Make setting the offline content optional 2020-07-13 15:13:24 -07:00
Gabe Kangas
0027957a33 Make setting the max # of segments in playlist optional 2020-07-13 14:55:21 -07:00
Gabe Kangas
44806d1a8e Make setting save location paths optional 2020-07-13 14:45:54 -07:00
Gabe Kangas
d51901e191 Make setting the segment length optional 2020-07-13 14:39:44 -07:00
Gabe Kangas
51e2e68017 Support default path of ffmpeg and not needing to specify it in the config 2020-07-13 14:32:12 -07:00
Gabe Kangas
8cedf05214 Basic chat persistence for #26 2020-07-12 14:59:40 -07:00
Gabe Kangas
c553637521 Cleanup 2020-07-12 09:52:54 -07:00
Gabe Kangas
2bd016ae15 Add default video settings if none are provided 2020-07-12 09:52:54 -07:00
Gabe Kangas
873e2535f8 Additional log msg 2020-07-12 09:52:54 -07:00
Gabe Kangas
1409477dce Use the built-in AAC codec 2020-07-12 09:52:54 -07:00
Gabe Kangas
a0d27df8c6 Re-work RTMP for #34 2020-07-12 09:52:54 -07:00