Commit Graph
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 KangasandGitHub 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
769fc3a561 Fixes #211: Update mod paths (#221)
Co-authored-by: Michael Leow <mleow@moneylion.com>
2020-10-05 10:07:09 -07:00
Gabe KangasandGitHub 922dfec77a Remove custom paths and add constants (#216) 2020-10-03 14:35:03 -07:00
Gabe KangasandGitHub 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 KangasandGitHub 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
AnoopandGitHub 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 KangasandGitHub 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
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 KangasandGitHub 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 KangasandGitHub b0b5801c5f Stop storing messages in memory and pull from persistence. Closes #81 (#105) 2020-08-05 21:01:06 -07:00
Gabe KangasandGitHub 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 SteeleandGitHub 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 SteeleandGitHub 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 KangasandGitHub 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