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
Gabe Kangas
ef295b6794
Cleanup + poll connection for disconnected state. For #34
2020-07-12 09:52:54 -07:00
Gabe Kangas
0aa3159372
Works if I mux restream to ts, not flv
2020-07-12 09:52:54 -07:00
Gabe Kangas
43d434747b
Attempt with Joy5
2020-07-12 09:52:54 -07:00
Gabe Kangas
d7a2ffcca4
Add timestamp to messages. For #26
2020-07-11 19:09:01 -07:00
Gabe Kangas
4344ab6b00
Revert "Create thumbnail from end of segment. Closes #14 "
...
This reverts commit 266fe51028
.
2020-07-06 22:39:07 -07:00
Gabe Kangas
081024569e
Another logging tweak
2020-07-06 22:24:55 -07:00
Gabe Kangas
266fe51028
Create thumbnail from end of segment. Closes #14
2020-07-06 22:16:40 -07:00
Gabe Kangas
259923b303
Set logging preferences via command line flags. Closes #20
2020-07-06 21:27:31 -07:00
Gabe Kangas
1133edf716
Use the highest quality video segment to creat thumbnails from. Closes
2020-07-06 20:34:34 -07:00
Gabe Kangas
3e042866ec
Fix multiple bitrates not being uploaded to s3. Closes #40
2020-07-05 22:03:53 -07:00
Gabe Kangas
ae2e98877b
Remove no longer used property
2020-06-28 15:42:48 -07:00
Gabe Kangas
f949adb40c
Remove panic and log error if file no longer exists. Closes #31
2020-06-28 15:30:43 -07:00
Gabe Kangas
a31076a591
Fix I guess what was a typo
2020-06-25 18:26:54 -07:00
Gabe Kangas
04dc0796d8
New video transcoder ( #27 )
...
* New video transcoder
* Set a smaller max muxing size + logging tweaks
* No need to return an err since it wiill panic anyway
* Use a default encoder preset if one is not supplied
* Rename to NewTranscoder. Add comments.
* Rename Bitrate to VideoBitrate. Config file changes required with this rename.
* Allow overrides of segment length. Allow offline stream to live in a single segment
* Append offline state video to existin HLS stream instead of overwriting because players do not like that
* Make properties private as they do not need to be exported
2020-06-25 17:44:47 -07:00
Gabe Kangas
4132cf6d09
Move where the message type is set, and standardize on all caps CHAT
2020-06-24 23:20:19 -07:00
Gabe Kangas
8878ca1e88
Have both connect and disconnect time in the status API
2020-06-24 22:52:05 -07:00
Gabe Kangas
a297e33eff
Make IDs for chat messages generated server-side, not client. For #26
2020-06-24 22:00:49 -07:00
Gabe Kangas
a3273e9deb
Value injection at build time seems to only work for the main package
2020-06-24 12:55:49 -07:00
Bradley Hilton
abb2f363af
Decouple chat from core and add chat rest api ( #25 )
...
* Decouple the chat package from the core
* Add rest api endpoints for the chat aspect
2020-06-23 13:11:01 -07:00
Bradley Hilton
fe96739f60
Fix a memory leak with the chat aspect. ( #23 )
...
Essentially, the for loop wasn't being returned out
of and that caused the read listener to never be
let up and released to the gc
2020-06-22 23:52:50 -07:00
Bradley Hilton
487bd12444
Project restructure ( #18 )
...
* First pass at restructuring the project; untested but it does compile
* Restructure builds and runs 🎉
* Add the dist folder to the gitignore
* Update core/playlist/monitor.go
* golint and reorganize the monitor.go file
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2020-06-22 18:11:56 -07:00