Commit graph

193 commits

Author SHA1 Message Date
Meisam
e991199735
updates to backups directory (#1099)
* read BackupDirectory from command line flag

* Change the default backup directory

* mkdir BackupDirectory

* use config for backup file path

* migrateDatabase to the backup directory

* use DoesFileExists

change permission on the directory to 0700

* declare err

* generate backupFile  where needed

* style fix

* more style fixes

* more style fixes
2021-06-13 15:28:59 -07:00
Gabe Kangas
306a0066d1 Fix concurrency crash. Closes #1067 2021-06-07 21:59:43 -07:00
Jannik
fae2c58259
Fix rtmp secret validation to allow / (#1069) (#1070)
* Fix rtmp secret validation to allow `/` (#1069)

* add negative test cases for stuff before /live/

* simplify since Url.Path is already stripping the host

This means that we can simplify the code and make it much clearer.
Removes the tests that checked for the host and stuff between the host and /live/.
2021-06-04 20:09:43 -07:00
Gabe Kangas
94136d4361 Demote log message 2021-05-24 21:43:13 -07:00
leuc
5ab901bb36
Fix #981 Use -webserverip to set http listen address (#1032)
* Fix #981 Use -webserverip to set http listen address

* use 0.0.0.0 as default http listen address

* add Admin REST API for setting http listen address

* full input validation of port and IP
2021-05-24 16:13:49 -07:00
Gabe Kangas
1a0beb1d0e Fix tests 2021-05-23 14:27:35 -07:00
Meisam
8b57ddcfb1
Remove config file migrator (#1045)
* rm migrator consts

* Delete migrator.go

* rm RunMigrations()
2021-05-23 13:36:34 -07:00
Fabian Fischer
d3696cd0aa
fix: avoid duplicate cache-control header (#1048) 2021-05-23 13:35:05 -07:00
Gabe Kangas
61e07bf945 API for setting a list of blocked usernames. For #782 2021-05-22 21:50:34 -07:00
Gabe Kangas
83ad6db394 If tag storage is an empty string return back an empty slice. Fixes #974 2021-05-22 21:32:56 -07:00
Gabe Kangas
381daaec9b Save owncast logs to log file. Closes #908 2021-05-22 19:25:54 -07:00
Gabe Kangas
36a15a97dd Handle the server summary data as auto-linked markdown. Closes #1010 2021-05-22 17:09:57 -07:00
tomleb
1504ea3509
Add -logdir flag (#1039)
This allow configuring the various logs that may be outputted
(transcoder and future logs)
2021-05-22 16:29:49 -07:00
Gabe Kangas
91f6dcd0f6
Active viewer PING controller. Closes #790 (#990) 2021-05-20 20:29:01 -07:00
Gabe Kangas
3810ce4f63 Do not try to copy logo if image does not exist on disk 2021-05-14 15:28:13 -07:00
Gabe Kangas
09da85090e Fix tests 2021-05-05 19:58:02 -07:00
Gabe Kangas
4f4cef97e2 Force an iframe every segment 2021-05-05 18:21:27 -07:00
Gabe Kangas
fc123ecda3 Fix tests 2021-05-05 17:31:19 -07:00
Gabe Kangas
6bcbe60c28 Update latency level values 2021-05-05 17:22:57 -07:00
Gabe Kangas
fa3a959dc5 update tests 2021-04-29 22:13:47 -07:00
Gabe Kangas
5324d235bf Force an i-frame every second for consistent segment lenghts with
minimum latency.
2021-04-29 22:06:39 -07:00
Gabe Kangas
4f73da30a8 Add additional stream + server info to stream started webhook. Closes #971 2021-04-29 17:04:33 -07:00
Gabe Kangas
eedc07fc94 Ignore warning about hls segment length 2021-04-24 14:00:35 -07:00
Gabe Kangas
34c4350597 Add some more va-api codec error mappings 2021-04-21 17:48:39 -07:00
Gabe Kangas
a06a9c58ea Add i965-va-driver-shader missing error 2021-04-15 22:25:28 -07:00
Gabe Kangas
543577c2e0 Create hls directories at transcoder start to account for stream output changes. Fixes #940 2021-04-15 21:36:14 -07:00
Gabe Kangas
5214d81264
Codec selection (#892)
* Query for installed codecs

* Start modeling out codecs

* Can now specify a codec and get the correct settings returned from the model

* Return codecs in admin/serverconfig

* Start handling transcoding errors and return messages to user

* filter available codecs against a whitelist

* Fix merge

* Codecs are working

* Switching between codecs work

* Add apis for setting a custom video codec

* Cleanup the logging of transcoder errors

* Add v4l codec

* Add fetching v4l

* Add support for per-codec presets

* Use updated nvenc encoding parameters

* Update log message

* Some more codec WIP

* Turn off v4l. It is a mess.

* Try to make the lowest latency level a bit more playable

* Use a human redable display name in console messages

* Turn on transcoder persistent connections

* Add more codec-related user-facing error messages

* Give the initial offline state transcoder an id

* Force a minimum segment count of 3

* Disable qsv for now. set x264 specific params in VariantFlags

* Close body in case

* Ignore vbv underflow message, it is not actionable

* Determine a dynamic gop value based on the length of segments

* Add codec-specific tests

* Cleanup

* Ignore goconst lint warnings in codec file

* Troubleshoot omx

* Add more codec tests

* Remove no longer accurate comment

* Bundle admin from codec branch

* Revert back to old setting

* Cleanup list of codecs a bit

* Remove old references to the encoder preset

* Commit updated API documentation

* Update admin bundle

* Commit updated API documentation

* Add codec setting to api spec

* Commit updated API documentation

Co-authored-by: Owncast <owncast@owncast.online>
2021-04-15 13:55:51 -07:00
Gabe Kangas
f216e781dd Reduce log level on data getters 2021-04-14 16:06:22 -07:00
Gabe Kangas
df7dff081f Set and get custom styling for web interface. For #718 2021-04-11 19:34:05 -07:00
Gabe Kangas
36be7b76c2
If no logo exists copy a default one into data on launch. Closes #909 (#916) 2021-04-11 16:44:50 -07:00
Gabe Kangas
12509c1bc2 Change log level 2021-04-07 00:13:30 -07:00
Gabe Kangas
64a5720a21 Allow unique streampipe fifos. Closes #883 2021-04-01 18:56:00 -07:00
Gabe Kangas
7556671afc Fix race condition where initial offline video state was not written 2021-03-31 23:08:27 -07:00
Gabe Kangas
3ad221665e Handle un-typed or un-parsable chat messages by throwing them away and not panicing. Closes #856 2021-03-25 19:20:05 -07:00
nebunez
80579c5e7e
implement custom welcome message (#820)
* implement custom welcome message

This change adds logic for handling custom welcome messages.

* trim welcome message string on POST

Instead of trimming the welcome message every time we are going to send to send
a welcome message, we just trim once when the message is posted from the admin.
2021-03-21 17:10:56 -04:00
Gabe Kangas
3fb80554ef
Gek/external actions (#827)
* WIP External actions modal frontend

* Add external action links

* Allow modal to show/hide and use a dynamic url

* Use external link object instead of just url for state

* add style and placement to external action buttons

* reformat and simplify tag list style as not to conflict with action buttons and make them look less actionable since they're not

* fix bug to open modal

* have Esc key close modal

* fix style on modal

* make modal bg darker

* close modal when you click outside of it

* fix zindex

* Add support for external action icons and colors

* Some external action modal sizing + loading spinner

Co-authored-by: Ginger Wong <omqmail@gmail.com>
2021-03-15 15:32:52 -07:00
Gabe Kangas
bf33d08384
Add support for disabling chat. Closes #472 (#799) 2021-03-14 11:46:27 -07:00
Gabe Kangas
6f545a905b
Support full html in system messages. Closes #747 (#814) 2021-03-12 00:43:10 -08:00
nebunez
7e0822b62d fix mismatched message ids when client first sends a message
This bug is caused by the message being sent to all clients before
msg.SetDefaults() is called and the message is saved to the chat database. This
causes connected clients to get a message id that is different from what exists
in the database. This only affects clients using websockets that were connected
when the message was sent and message visibility updated.

Fixes https://github.com/owncast/owncast/issues/809
2021-03-10 14:07:47 -05:00
Gabe Kangas
de195f883e
Gek/disable remote images (#800)
* Disable images from anywhere but our emojis. Closes #756

* Add tests around images in chat messages

* Update sanitizer + test
2021-03-08 23:20:15 -08:00
Gabe Kangas
a67e938875 allocate yp at launch to allow for enabling it later 2021-03-04 01:48:10 -08:00
Gabe Kangas
49bb899d51 Optimize/fix concurrency for chat 2021-03-03 21:48:11 -08:00
Gabe Kangas
d8e6b75b5f No longer reset max viewer count at cleanup. Only do it at new stream start. Fixes #768 2021-02-26 22:15:46 -08:00
Bradley Hilton
cbcf8d4794
Fix the http port used not in sync with what is logged (#766)
* Fix the http port used not in sync with what is logged

* Actually fix the logging race condition

* Move the router logging to the router package
2021-02-26 11:23:15 -08:00
Gabe Kangas
4f833be80a Add ability to mark a message as ephemeral and set it with title changes 2021-02-23 11:24:32 -08:00
Gabe Kangas
0bfd9f8e1f Do not send user joined events to chat clients if stream is not active. Closes #750 2021-02-21 16:21:12 -08:00
Gabe Kangas
b47589fa8f Print out a log message saying what image is being copied where 2021-02-21 16:03:42 -08:00
Gabe Kangas
ebc3070ea0 Assume videopassthrough is enabled if bitrate is zero 2021-02-21 13:10:24 -08:00
Gabe Kangas
b1368db079 Fix yaml property name 2021-02-21 13:06:32 -08:00
Gabe Kangas
765dd7efe2 Fix chat history backlog query. Closes #748 2021-02-21 12:13:46 -08:00