Commit graph

403 commits

Author SHA1 Message Date
Gabe Kangas
8021c66869
feat(api): put replay APIs behind feature flag 2023-09-07 17:42:04 -07:00
Gabe Kangas
065e779e99
fix: message does not need to be logged to console 2023-09-07 17:42:02 -07:00
Gabe Kangas
1da7dc92dd
fix(video): create more vide-related paths taking the streamid into account 2023-09-07 17:42:01 -07:00
Gabe Kangas
66d4bb2321
fix(video): fix local storage cleanup job to use new stream id 2023-09-07 17:42:01 -07:00
Gabe Kangas
6aacd7bfce
feat: attempt to fix any streams marked as unended 2023-09-07 17:42:00 -07:00
Gabe Kangas
96fb5ebb82
feat(video): first pass at adding clip functionality 2023-09-07 17:41:59 -07:00
Gabe Kangas
e1b9c160c9
fix: some small cleanup 2023-09-07 17:41:58 -07:00
Gabe Kangas
4ba36c17a3
feat(video): first pass at replay functionality
- Persist segments
- Record configurations
- Rebuild entire stream playlists
- First steps to working towards https://github.com/owncast/owncast/issues/102
2023-09-07 17:41:57 -07:00
Gabe Kangas
08f8149b63
feat(storage): add support for custom object storage path prefix 2023-09-07 17:41:56 -07:00
Gabe Kangas
c9298def5b
Cleanup object storage files on success or failure (#3231)
* fix: cleanup object storage files on success or failure. Closes #3230

* fix: clean filepath when deleting for safety
2023-08-03 20:33:44 -07:00
John Regan
b2a80f2149
s3Storage: fix slice bounds out of range error (#3208) 2023-07-24 15:12:04 -07:00
Gabe Kangas
d0376cdc75
fix: limit the different worker pools to available CPU cores. Should resolve #3189 2023-07-18 20:26:44 -07:00
John Regan
dfa3a2a273
chat: check that a new username is different before sending out updates (#3162) 2023-07-10 23:16:36 -07:00
John Regan
46ca5223f9
Chat wire protocol (#3125)
* core: remove file extension from emoji name

* web: transform emotes to labels when sending

* chat: replace br with line break

* core: implement emoji cache

* chat: send shortcodes for custom emoji

* chat: correct esling errors

* core: move emoji injection into dedicated function

* emoji: integrate emoji into markdown renderer, fix formatting

* chat protocol: correct golangci-lint findings

* chat field: specify that the contentEditable is an HTMLElement

* admin: mention that emoji should have unique names

* Prettified Code!

* regenerate pack-lock

* chat: correct the emphasis tag, provide fallback for other elements

---------

Co-authored-by: jprjr <jprjr@users.noreply.github.com>
2023-07-05 17:25:47 -07:00
Gabe Kangas
a354787a9e
feat(chat): support line breaks and pasted content. Closes #3108 2023-06-27 14:51:01 -07:00
Gabe Kangas
d33f117a82
fix(chat): fix missing alt tags on custom emoji. Closes #3106 2023-06-26 11:38:10 -07:00
Gabe Kangas
3ed5a0b7f3
feat: simplify console logs 2023-06-05 08:44:14 -07:00
hagn
35bdb5bca2
Use VA-API hardware decoding and scaling (#2976)
* Enable VA-API hardware decoding

* Use VA-API hardware scaling
2023-06-02 12:15:10 -07:00
Gabe Kangas
c295e4f215
Update segment cleanup to support object storage (#2876)
* Add support for S3 cleanup + standardize firing cleanup. Closes #2646

* fix: manually fix post-merge
2023-05-31 11:10:04 -07:00
Gabe Kangas
cd458630ec
Support using the custom video serving endpoint even if you don't use object storage (#2924)
* feat(video): refactor video serving endpoint

It can now be used without an object storage provider. Closes #2785

* fix: remove debug log
2023-05-30 14:05:24 -07:00
Gabe Kangas
209756fed3
feat(webhooks): add stream status to webhook (#2934)
Expand the payload sent for stream status webhooks. Closes #2881
2023-05-30 11:32:05 -07:00
Gabe Kangas
15dc718e61
feat: add support for robots.txt disabling search indexing (#2929)
* feat: add support for robots.txt

Can toggle disabling search engine indexing. Closes #2684

* fix: unexport ts const
2023-05-30 11:09:51 -07:00
Gabe Kangas
85e7af3d5f
Update to Go 1.20 + run better align (#2927)
* chore(go): update go version to 1.20. Closes #2185

* chore(go): run better align against project

To optimize struct field order. Closes #2870

* chore(go): update CI jobs to use Go 1.20

* fix(go): linter warnings for Go 1.20 update
2023-05-30 10:31:43 -07:00
Gabe Kangas
c4f30210ac
Add comment to explain what this service does 2023-05-28 12:38:51 -07:00
Gabe Kangas
d253081452
feat(video): force closed gops 2023-05-11 17:13:38 -07:00
Gabe Kangas
521e2d1276
chore(go): updated build tag constraint syntax 2023-04-24 17:49:29 -07:00
Gabe Kangas
74f076f44b
Refactor the api access token query. Fixes #2902" 2023-04-05 15:33:48 -07:00
Gabe Kangas
b5dc6324f8
Give a more detailed s3 failure error message 2023-04-01 13:15:35 -07:00
Pranav Joglekar
8667fc9513
improv: use actual webhook events in webhook tests (#2882) 2023-03-30 20:38:57 -07:00
Pranav Joglekar
07c5cabfe8
Trigger the title updated webhook event whenever a title is changed (#2823)
* wip: trigger the title updated webhook event whenever a title is changed

* Commit updated API documentation

* fix: add STREAM_TITLE_CHANGED to list of valid events

* feat: Add support for STREAM_TITLE_CHANGED webhook event on admin dashboard

* fix: transmit webhook event after stream has changed to fix race conditions where older title was sent

---------

Co-authored-by: Owncast <owncast@owncast.online>
2023-03-28 11:34:00 -07:00
Gabe Kangas
604e1fdbaa
Increase timeout between join messages from 5 to 10 minutes 2023-03-21 17:19:38 -07:00
Jacob Wrenn
7e76ee63e5
S3 headers (#2830)
* change s3 headers for playlist files

* clean up code

---------

Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2023-03-16 11:07:42 -07:00
Gabe Kangas
2364293742
Remove unused event and comments on block 2023-03-13 15:11:51 -07:00
Gabe Kangas
23a721857f
Do not support stream key UI or any persisted stream keys when overridden via cli flag. Closes #2749 2023-02-27 17:08:52 -08:00
Gabe Kangas
cf126c2e2c
Fix the filename mismatch then the on-disk filename changed. 2023-02-05 20:42:34 -08:00
Gabe Kangas
ba69bac6d9
Rename offline clip for clarity with typescript 2023-01-26 17:14:29 -08:00
Gabe Kangas
f4ed7d7453
Create explicit mapping between cpu use levels and codec presets. Closes #2610 2023-01-22 20:45:19 -08:00
Gabe Kangas
19c228eaf6
Allow adding custom javascript to the page. Closes #2604 2023-01-18 22:38:24 -08:00
Michael David Kuckuk
59e5cfefd4
Remove twitter notification configuration (#2598) 2023-01-17 13:20:29 -08:00
Meisam
64d3c37fb2
improve stream testing script (#2549)
* merge testContent.sh into ocContent.sh

* detect ffmpeg

ffmpeg or ffmpeg.exe in path, current dir, or parent dir

* use ocTestStream in api test

* enable verbose logging for api tests

* log ffmpeg version

* change ffmpeg lookup order

* set path properly for using the local ffmpeg

* rm double space from transcoder error logs

* update tests for new video stream

do not test bitrate

* set test stream target to 127.0.0.1

* log ffmpeg path

* update ffmpeg to v4.4.1

* improve logs

* fix ffmpeg installer script

* fix api test runner

* fix logs

* install fonts

* cleanup

* use ocTestStream.sh for all automated tests

* cleanup ocTestStream.sh

* cleanup test/automated/hls/run.sh

* Fix misspell

* fix ffmpeg installer in automated test runners

* spell fix

* cleanup script

* rev quick api tests

* cleanup tmp paths properly in automated tests

* rm unused ffmpeg package

* cleanup

* fix s3 test

* cache ffmpeg bin for automated tests

* shellcheck allow source

* rm missplaced file if backup fails

* use ffmpeg full path

* set lookup path for shellcheck
2023-01-10 18:50:32 -08:00
Gabe Kangas
2675150cdf
Revert "improve stream testing script (#2525)"
This reverts commit e748d8f765.
2023-01-04 14:22:55 -08:00
Meisam
e748d8f765
improve stream testing script (#2525)
* merge testContent.sh into ocContent.sh

* detect ffmpeg

ffmpeg or ffmpeg.exe in path, current dir, or parent dir

* use ocTestStream in api test

* enable verbose logging for api tests

* log ffmpeg version

* change ffmpeg lookup order

* set path properly for using the local ffmpeg

* rm double space from transcoder error logs

* update tests for new video stream

do not test bitrate

* set test stream target to 127.0.0.1

* log ffmpeg path

* update ffmpeg to v4.4.1

* improve logs

* fix ffmpeg installer script

* fix api test runner

* fix logs

* install fonts

* cleanup

* use ocTestStream.sh for all automated tests

* cleanup ocTestStream.sh

* cleanup test/automated/hls/run.sh

* Fix misspell

* fix ffmpeg installer in automated test runners

* spell fix

* cleanup script

* rev quick api tests

* cleanup tmp paths properly in automated tests

* rm unused ffmpeg package

* cleanup
2023-01-04 14:12:05 -08:00
Gabe Kangas
6a8473a297
Enforce username limitations on registration for #2527 2022-12-29 14:13:23 -08:00
Gabe Kangas
0c03773c4c
Sanitize+truncate display names on registration+change. For #2527 2022-12-29 14:13:22 -08:00
Gabe Kangas
cd874cda93
Use subtle.ConstantTimeCompare instead of simple string compare. Closes #2489 2022-12-23 21:26:55 -08:00
Gabe Kangas
d5fd1bf169
Fix error handling for #1916 2022-12-16 20:30:24 -08:00
Gabe Kangas
0ebb968074
Handle subdirectories of emoji in copying, fetching and deleting. For #1916 2022-12-16 20:23:58 -08:00
Gabe Kangas
3abc7a3ab8
Expose connected client ID to moderator client info api 2022-12-13 19:17:32 -08:00
Gabe Kangas
1d248a144b
Move where emoji migration is fired to match the new emoji work 2022-12-12 08:58:00 -08:00
Philipp
dc54dfe363
Feature: emoji editor (#2411)
* Custom emoji editor: implement backend

This reuses the logo upload code

* Implement emoji edit admin interface

Again reuse base64 logic from the logo upload

* Allow toggling between uploaded and default emojis

* Add route that always serves uploaded emojis

This is needed for the admin emoji interface,
as otherwise the emojis will 404 if custom emojis are disabled

* Fix linter warnings

* Remove custom/uploaded emoji logic

* Reset timer after emoji deletion

* Setup: copy built-in emojis to emoji directory
2022-12-12 08:40:43 -08:00