Commit graph

71 commits

Author SHA1 Message Date
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
Gabe Kangas
8f832dad5a Add support for stopping the transcoding process 2020-07-12 09:52:54 -07:00
Gabe Kangas
072abf2976 Fix log message 2020-07-12 09:52:54 -07:00
Gabe Kangas
6624670813 Do not die if there is a missing audio or video stream in source. #34 2020-07-12 09:52:54 -07:00
Gabe Kangas
f54d1eba38 Add additional logging of ffmpeg output to file. Help troubleshoot #34 2020-07-12 09:52:54 -07:00
Gabe Kangas
baaf556c54 Log level change 2020-07-12 09:52:54 -07:00