Commit graph

1222 commits

Author SHA1 Message Date
Gabe Kangas
676aa96f40 Add support for overriding embedded offline.ts. Closes #1507 2021-11-03 16:27:37 -07:00
Gabe Kangas
4a52ba9f35 Update admin 2021-11-02 18:02:03 -07:00
Gabe Kangas
c7d988c7dd Update admin 2021-11-01 18:16:01 -07:00
Gabe Kangas
cc2a9b8d8e Update admin 2021-10-28 17:36:06 -07:00
Gabe Kangas
2600afa022 Update admin (update to Nextjs 12) 2021-10-26 22:54:31 -07:00
Gabe Kangas
a40312d733 Update admin 2021-10-24 19:31:06 -07:00
Gabe Kangas
95211f51b3 Update admin 2021-10-13 19:53:10 -07:00
Gabe Kangas
ca9d5de192
Embed static resources (#1466)
* Replace pkger with go:embed for bundling the admin. Closes #844

* Remove references to pkged.go

* Point tests to use an updated version of Go

* Add comment to new exported function

* Cleanup

* Add a dummy pkged.go to alert people to stop using it.

* Add simple browser test to make sure the admin is available and renders

* Don't panic

* Embed bot/scraper metadata template.

Add browser test to validate the rendering of this template.

* Use embedded offline.ts segment

* Remove placeholder thumbnail as its unnecessary

* Remove copying the static directory into the release

* Cleanup
2021-10-11 15:04:16 -07:00
Gabe Kangas
f0bd7d2528
Replace pkger with go:embed for bundling the admin. Closes #844 (#1464)
* Replace pkger with go:embed for bundling the admin. Closes #844

* Remove references to pkged.go

* Point tests to use an updated version of Go

* Add comment to new exported function

* Cleanup

* Add a dummy pkged.go to alert people to stop using it.

* Add simple browser test to make sure the admin is available and renders

* Don't panic
2021-10-11 14:56:00 -07:00
Gabe Kangas
dc8cdb09d5 Fix metadata.html crash. Closes #746. Re: #685 2021-02-20 16:47:47 -08:00
Gabe Kangas
bc2caadb74
0.0.6 -> Master (#731)
* Implement webhook events for external integrations (#574)

* Implement webhook events for external integrations

Reference #556

* move message type to models and remove duplicate

* add json header so content type can be determined

* Pass at migrating webhooks to datastore + management apis (#589)

* Pass at migrating webhooks to datastore + management apis

* Support nil lastUsed timestamps and return back the new webhook on create

* Cleanup from review feedback

* Simplify a bit

Co-authored-by: Aaron Ogle <aaron@geekgonecrazy.com>

Co-authored-by: Gabe Kangas <gabek@real-ity.com>

* Webhook query cleanup

* Access tokens + Send system message external API (#585)

* New add, get and delete access token APIs

* Create auth token middleware

* Update last_used timestamp when using an access token

* Add auth'ed endpoint for sending system messages

* Cleanup

* Update api spec for new apis

* Commit updated API documentation

* Add auth'ed endpoint for sending user chat messages

* Return access token string

* Commit updated API documentation

* Fix route

* Support nil lastUsed time

* Commit updated Javascript packages

* Remove duplicate function post rebase

* Fix msg id generation

* Update controllers/admin/chat.go

Co-authored-by: Aaron Ogle <geekgonecrazy@users.noreply.github.com>

* Webhook query cleanup

* Add SystemMessageSent to EventType

Co-authored-by: Owncast <owncast@owncast.online>
Co-authored-by: Aaron Ogle <geekgonecrazy@users.noreply.github.com>

* Set webhook as used on completion. Closes #610

* Display webhook errors as errors

* Commit updated API documentation

* Add user joined chat event

* Change integration API paths. Update API spec

* Update development version of admin that supports integration apis

* Commit updated API documentation

* Add automated tests for external integration APIs

* check error

* quiet this test for now

* Route up some additional 3rd party apis. #638

* Commit updated API documentation

* Save username on user joined event

* Add missing scope to valid scopes list

* Add generic chat action event API for 3rd parties. Closes #666

* Commit updated API documentation

* First pass at moving WIP config framework into project for #234

* Only support exported fields in custom types

* Using YP get/set key as a first pass at using the data layer. Fixes + integration.

* Ignore test db

* Start adding getters and setters for config values

* More get/set config work. Starting to populate api with data

* Wire up some config edit endpoints

* More endpoints

* Disable cors middleware

* Add more endpoints and add test to test them

* Remove the in-memory change APIs

* Add endpoint for changing tags

* Add more config endpoints

* Starting to point more things away from config file and to the datastore

* Populate YP with db data

* Create new util method for parsing page body markdown and return it in api

* Verify proposed path to ffmpeg

* For development purposes show the config key in logs

* Move stats values to datastore

* Moving over more values to the datastore

* Move S3 config to datastore

* First pass the config -> db migrator

* Add the start of the video config apis

* It builds pointing everything away from the config

* Tweak ffmpeg path error message

* Backup database every hour. Closes #549

* Config + defaults + migration work for db

* Cleanup logging

* Remove all the old config structs

* Add descriptive info about migration

* Tweak ffmpeg validation logic

* Fix db backup path. backup on db version migration

* Set video and s3 configurations

* Update api spec with new config endpoints

* Add migrator for stats file

* Commit updated API documentation

* Use a dynamic system port for internal HLS writes. Closes #577 (#626)

* Use a dynamic system port for internal HLS writes. Closes #577

* Cleanup

* YP key migration to datastore

* Create a backup directory if needed before migrations

* Remove config test that no longer makes sense. Cleanup.

* Change number types from float32 to float64

* Update automated test suite

* Allow restoring a database backup via command line flags. Closes #549

* Add new hls segment config api

* Commit updated API documentation

* Update apis to require a value container property

* add socialHandles api

* Commit updated API documentation

* Add new latancy level setting to replace segment settings

* Commit updated API documentation

* Fix spelling

* Commit updated API documentation

* hardcode a json api of available social platforms

* Add additional icons

* Return social handles in server config api

* Add socialhandles validation to test

* Move list of hard coded social platforms to an api

* Remove audio only code from transcoder since we do not use it

* Add latency levels api + snapshot of video settings as current broadcast

* Add config/serverurl endpoint

* Return 404 on YP api if disabled

* Surface stream title in YP response

* Add stream title to web ui

* Cleanup log message. Closes #520

* Rename ffmpeg package to transcoder

* Add ws package for testing

* Reduce chat backlog to past 5hrs, max 50. Closes #548

* Fix error formatting

* Add endpoint for resetting yp registration

* Add yp/reset to api spec. return status in response

* Return zero viewer count if stream is offline. Closes #422

* Post-rebase fixes

* Fix merge conflict in openapi file

* Commit updated API documentation

* Standardize controller names

* Support setting the stream key via the command line. Closes #665

* Return social handles with YP data. First half of https://github.com/owncast/owncast-yp/issues/28

* Give the YP package access to server status regardless if enabled or not

* Change delay in automated tests

* Add stream title integration API. For #638

* Commit updated API documentation

* Add storage to the migrator

* Missing returning NSFW value in server config

* Add flag to ignore websocket client. Closes #537

* Add error for parsing broadcaster metadata

* Add support for a cli specified http server port. Closes #674

* Add cpu usage levels and a temporary mapping between it and libx264 presets

* Test for valid url endpoint when saving s3 config

* Re-configure storage on every stream to allow changing storage providers

* After 5 minutes of a stream being stopped clear the stream title

* Hide viewer count once stream goes offline instead of when player stops

* Pull steamTitle from the status that gets updated instead of the config

* Commit updated API documentation

* Optionally show stream title in the header

* Reset stream title when server starts

* Show chat action when stream title is updated

* Allow system messages to come back in persistence

* Split out getting chat history for moderation + fix tests

* Remove server title and standardize on name only

* Commit updated API documentation

* Bump github.com/aws/aws-sdk-go from 1.37.1 to 1.37.2 (#680)

Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.37.1 to 1.37.2.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Changelog](https://github.com/aws/aws-sdk-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.37.1...v1.37.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add video variant and stream latency config file migrator

* Remove mostly unused disable upgrade check bool

* Commit updated API documentation

* Allow bundling the admin from the 0.0.6 branch

* Fix saving port numbers

* Use name instead of old title on window focus

* Work on latency levels. Fix test to use levels. Clean up transcoder to only reference levels

* Another place where title -> name

* Fix test

* Bump github.com/aws/aws-sdk-go from 1.37.2 to 1.37.3 (#690)

Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.37.2 to 1.37.3.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Changelog](https://github.com/aws/aws-sdk-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.37.2...v1.37.3)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update dependabot config

* Bump github.com/aws/aws-sdk-go from 1.37.3 to 1.37.5 (#693)

Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.37.3 to 1.37.5.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Changelog](https://github.com/aws/aws-sdk-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.37.3...v1.37.5)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump video.js from 7.10.2 to 7.11.4 in /build/javascript (#694)

* Bump video.js from 7.10.2 to 7.11.4 in /build/javascript

Bumps [video.js](https://github.com/videojs/video.js) from 7.10.2 to 7.11.4.
- [Release notes](https://github.com/videojs/video.js/releases)
- [Changelog](https://github.com/videojs/video.js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/videojs/video.js/compare/v7.10.2...v7.11.4)

Signed-off-by: dependabot[bot] <support@github.com>

* Commit updated Javascript packages

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Owncast <owncast@owncast.online>

* Make the latency migrator dynamic so I can tweak values easier

* Split out fetching ffmpeg path from validating the path so it can be changed in the admin

* Some commenting and linter cleanup

* Validate the path for a logo change and throw an error if it does not exist

* Logo change requests have to be a real file now

* Cleanup, making linter happy

* Format javascript on push

* Only format js in master

* Tweak latency level values

* Remove unused config file examples

* Fix thumbnail generation after messing with the ffmpeg path getter

* Reduce how often we report high hardware utilization warnings

* Bundle the 0.0.6 branch version of the admin

* Return validated ffmpeg path in admin server config

* Change the logo to be stored in the data directory instead of webroot

* Bump postcss from 8.2.4 to 8.2.5 in /build/javascript (#702)

Bumps [postcss](https://github.com/postcss/postcss) from 8.2.4 to 8.2.5.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.2.4...8.2.5)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Default config file no longer used

* don't show stream title when offline

addresses https://github.com/owncast/owncast/issues/677

* Remove auto-clearing stream title. #677

* webroot -> data when using logo as thumbnail

* Do not list websocket/access token create/delete as integration APIs

* Commit updated API documentation

* Bundle updated admin

* Remove pointing to the 0.0.6 admin branch

* Linter cleanup

* Linter cleanup

* Add donations and follow links to show up under social handles

* Prettified Code!

* More linter cleanup

* Update admin bundle

* Remove use of platforms.js and return icons with social handles. Closes #732

* Update admin bundle

* Support custom config path for use in migration

* Remove unused platform-logos.gif

* Reduce log level of message

* Remove unused logo files in static dir

* Handle dev vs. release build info

* Restore logo.png for initial thumbnail

* Cleanup some files from the build process that are not needed

* Fix incorrect build-time injection var

* Fix missing file getting copied to the build

* Remove console directory message.

* Update admin bundle

* Fix comment

* Report storage setup error

* add some value set error checking

* Use validated dynamic ffmpeg path for animated gif preview

* Make chat message links be white so they don't hide in the bg. Closes #599

* Restore conditional that was accidentally removed

Co-authored-by: Aaron Ogle <geekgonecrazy@users.noreply.github.com>
Co-authored-by: Owncast <owncast@owncast.online>
Co-authored-by: Ginger Wong <omqmail@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: nebunez <uoj2y7wak869@opayq.net>
Co-authored-by: gabek <gabek@users.noreply.github.com>
2021-02-18 23:05:52 -08:00
imgbot[bot]
103ce8428c
[ImgBot] Optimize images (#313)
*Total -- 3,827.51kb -> 3,399.33kb (11.19%)

/webroot/img/emoji/stayhomeparrot.gif -- 53.85kb -> 7.82kb (85.48%)
/webroot/img/emoji/sadparrot.gif -- 15.42kb -> 3.91kb (74.65%)
/webroot/img/emoji/upvoteparrot.gif -- 10.02kb -> 2.55kb (74.55%)
/webroot/img/emoji/tacoparrot.gif -- 10.91kb -> 2.87kb (73.73%)
/webroot/img/emoji/loveparrot.gif -- 10.15kb -> 2.68kb (73.55%)
/webroot/img/emoji/chewbacca.png -- 34.82kb -> 11.03kb (68.31%)
/webroot/img/emoji/ripparrot.gif -- 23.23kb -> 7.55kb (67.48%)
/webroot/img/emoji/fixparrot.gif -- 10.60kb -> 3.76kb (64.5%)
/webroot/img/airplay.png -- 1.06kb -> 0.39kb (63.53%)
/webroot/img/emoji/darth_vader.png -- 1.16kb -> 0.57kb (51.18%)
/webroot/img/emoji/bluelightsaber.png -- 28.43kb -> 14.05kb (50.56%)
/webroot/img/emoji/death_star.png -- 1.34kb -> 0.70kb (48%)
/webroot/img/emoji/coffeeparrot.gif -- 6.51kb -> 3.41kb (47.53%)
/webroot/img/emoji/cryptoparrot.gif -- 9.23kb -> 5.12kb (44.55%)
/webroot/img/emoji/metalparrot.gif -- 11.54kb -> 6.53kb (43.46%)
/webroot/img/emoji/parrotnotfound.gif -- 34.86kb -> 20.16kb (42.19%)
/webroot/img/emoji/pizzaparrot.gif -- 7.07kb -> 4.11kb (41.84%)
/webroot/img/emoji/wfhparrot.gif -- 26.21kb -> 16.89kb (35.55%)
/webroot/img/smiley.png -- 3.19kb -> 2.18kb (31.72%)
/webroot/img/emoji/dealwithitparrot.gif -- 45.50kb -> 32.52kb (28.53%)
/webroot/img/emoji/mandalorian.png -- 4.38kb -> 3.17kb (27.63%)
/webroot/img/emoji/spyparrot.gif -- 62.57kb -> 45.51kb (27.26%)
/webroot/img/emoji/thanks.png -- 1.07kb -> 0.79kb (26.55%)
/webroot/img/emoji/bells.png -- 6.90kb -> 5.54kb (19.73%)
/webroot/img/emoji/cakeparrot.gif -- 88.45kb -> 71.34kb (19.35%)
/webroot/img/emoji/dadparrot.gif -- 19.06kb -> 15.45kb (18.92%)
/webroot/img/emoji/starwars.png -- 4.53kb -> 3.71kb (18.04%)
/webroot/img/emoji/r2d2.png -- 26.56kb -> 21.86kb (17.68%)
/webroot/img/emoji/Reaper-wtf.png -- 13.03kb -> 10.73kb (17.65%)
/webroot/img/emoji/ac-box.png -- 8.21kb -> 6.78kb (17.39%)
/webroot/img/emoji/ac-tree.png -- 8.38kb -> 7.02kb (16.25%)
/webroot/img/emoji/stormtrooper.png -- 4.90kb -> 4.12kb (16.03%)
/static/logo.png -- 54.96kb -> 46.18kb (15.97%)
/static/logo-900x720.png -- 54.96kb -> 46.18kb (15.97%)
/webroot/img/emoji/ryangoslingparrot.gif -- 6.98kb -> 5.88kb (15.8%)
/webroot/img/emoji/moonwalkingparrot.gif -- 19.27kb -> 16.30kb (15.44%)
/webroot/img/emoji/Reaper-gg.png -- 17.15kb -> 14.60kb (14.88%)
/webroot/img/emoji/Reaper-hype.png -- 17.34kb -> 14.76kb (14.85%)
/webroot/img/emoji/division-gg.png -- 20.83kb -> 17.80kb (14.54%)
/webroot/img/emoji/bluntparrot.gif -- 24.54kb -> 21.04kb (14.23%)
/webroot/img/emoji/tpparrot.gif -- 68.70kb -> 59.15kb (13.91%)
/webroot/img/emoji/division-lol.png -- 18.33kb -> 15.89kb (13.28%)
/webroot/img/emoji/division-hype.png -- 18.99kb -> 16.58kb (12.67%)
/webroot/img/emoji/Reaper-rip.png -- 16.79kb -> 14.70kb (12.47%)
/webroot/img/emoji/porg.png -- 29.23kb -> 25.64kb (12.29%)
/webroot/img/emoji/Reaper-lol.png -- 18.02kb -> 15.85kb (12.01%)
/webroot/img/emoji/empire.png -- 6.16kb -> 5.43kb (11.8%)
/webroot/img/emoji/division-hi.png -- 20.87kb -> 18.42kb (11.7%)
/webroot/img/emoji/darkmodeparrot.gif -- 10.28kb -> 9.09kb (11.56%)
/webroot/img/emoji/palpatine.png -- 7.33kb -> 6.48kb (11.53%)
/webroot/img/emoji/ac-moneytree.png -- 11.49kb -> 10.17kb (11.48%)
/webroot/img/emoji/ac-construction.png -- 8.03kb -> 7.10kb (11.47%)
/webroot/img/emoji/division-rip.png -- 20.36kb -> 18.05kb (11.32%)
/webroot/img/emoji/gabe1.png -- 15.36kb -> 13.64kb (11.17%)
/webroot/img/emoji/ac-turnip.png -- 8.45kb -> 7.54kb (10.8%)
/webroot/img/emoji/jediparrot.gif -- 19.26kb -> 17.21kb (10.6%)
/webroot/img/emoji/rythmicalparrot.gif -- 8.77kb -> 7.84kb (10.58%)
/webroot/img/emoji/sithparrot.gif -- 19.24kb -> 17.21kb (10.57%)
/webroot/img/emoji/division-rage.png -- 24.76kb -> 22.16kb (10.53%)
/webroot/img/emoji/division-omg.png -- 17.42kb -> 15.76kb (9.54%)
/webroot/img/logo.png -- 374.78kb -> 339.80kb (9.33%)
/webroot/img/emoji/ac-shirt.png -- 11.42kb -> 10.36kb (9.25%)
/webroot/img/emoji/doom_mad.gif -- 2.42kb -> 2.20kb (9.14%)
/webroot/img/emoji/originalparrot.gif -- 13.17kb -> 11.97kb (9.11%)
/webroot/img/emoji/division-wtf.png -- 22.52kb -> 20.57kb (8.68%)
/webroot/img/emoji/Reaper-hi.png -- 17.03kb -> 15.62kb (8.28%)
/webroot/img/emoji/transparront.gif -- 13.09kb -> 12.04kb (8.05%)
/webroot/img/emoji/partyparrot.gif -- 14.08kb -> 12.95kb (7.99%)
/webroot/img/emoji/parrot.gif -- 14.66kb -> 13.57kb (7.42%)
/webroot/img/social-icons.gif -- 14.49kb -> 13.46kb (7.16%)
/webroot/img/emoji/shufflepartyparrot.gif -- 64.00kb -> 59.52kb (7%)
/webroot/img/emoji/michaeljacksonparrot.gif -- 30.49kb -> 28.38kb (6.91%)
/webroot/img/emoji/meldparrot.gif -- 45.62kb -> 42.47kb (6.91%)
/webroot/img/emoji/headbangingparrot.gif -- 14.84kb -> 13.88kb (6.47%)
/webroot/img/emoji/blacklightsaber.png -- 11.56kb -> 10.83kb (6.3%)
/webroot/img/emoji/thumbsupparrot.gif -- 19.79kb -> 18.56kb (6.22%)
/webroot/img/emoji/sleepingparrot.gif -- 13.46kb -> 12.64kb (6.12%)
/webroot/img/emoji/ac-fossil.png -- 9.53kb -> 8.96kb (6.01%)
/webroot/img/emoji/matrixparrot.gif -- 2.21kb -> 2.08kb (5.91%)
/webroot/img/emoji/discoparrot.gif -- 17.60kb -> 16.58kb (5.84%)
/webroot/img/emoji/wineparrot.gif -- 29.77kb -> 28.10kb (5.61%)
/webroot/img/emoji/Reaper-rage.png -- 19.04kb -> 17.98kb (5.53%)
/webroot/img/emoji/ac-kkslider.png -- 28.00kb -> 26.46kb (5.48%)
/webroot/img/emoji/twinsparrot.gif -- 20.48kb -> 19.36kb (5.47%)
/webroot/img/emoji/ac-song.png -- 4.98kb -> 4.71kb (5.4%)
/webroot/img/emoji/gothparrot.gif -- 17.06kb -> 16.15kb (5.28%)
/webroot/img/emoji/mustacheparrot.gif -- 16.99kb -> 16.14kb (5.01%)
/webroot/img/emoji/popcornparrot.gif -- 17.74kb -> 16.88kb (4.86%)
/webroot/img/emoji/bb8.png -- 3.79kb -> 3.61kb (4.74%)
/webroot/img/emoji/Reaper-love.png -- 23.07kb -> 22.06kb (4.36%)
/webroot/img/emoji/scienceparrot.gif -- 26.45kb -> 25.31kb (4.32%)
/webroot/img/emoji/ac-mosquito.png -- 4.35kb -> 4.17kb (4.13%)
/webroot/img/emoji/explodyparrot.gif -- 57.42kb -> 55.08kb (4.06%)
/webroot/img/emoji/beerparrot.gif -- 23.17kb -> 22.25kb (3.98%)
/webroot/img/emoji/bobaparrot.gif -- 21.47kb -> 20.64kb (3.86%)
/webroot/img/emoji/copparrot.gif -- 20.94kb -> 20.15kb (3.78%)
/webroot/img/emoji/chillparrot.gif -- 3.75kb -> 3.62kb (3.64%)
/webroot/img/emoji/ac-item-leaf.png -- 8.65kb -> 8.34kb (3.61%)
/webroot/img/emoji/redenvelopeparrot.gif -- 23.17kb -> 22.35kb (3.52%)
/webroot/img/emoji/quadparrot.gif -- 25.43kb -> 24.57kb (3.36%)
/webroot/img/emoji/ac-weeds.png -- 10.45kb -> 10.10kb (3.26%)
/webroot/img/emoji/tiedyeparrot.gif -- 33.46kb -> 32.49kb (2.92%)
/webroot/img/emoji/rotatingparrot.gif -- 7.95kb -> 7.72kb (2.84%)
/webroot/img/favicon/ms-icon-310x310.png -- 37.86kb -> 36.83kb (2.71%)
/webroot/img/emoji/icecreamparrot.gif -- 4.19kb -> 4.08kb (2.68%)
/webroot/img/emoji/christmasparrot.gif -- 22.08kb -> 21.50kb (2.64%)
/webroot/img/emoji/pirateparrot.gif -- 22.53kb -> 21.95kb (2.6%)
/webroot/img/favicon/ms-icon-144x144.png -- 14.08kb -> 13.71kb (2.59%)
/webroot/img/favicon/apple-icon-144x144.png -- 14.08kb -> 13.71kb (2.59%)
/webroot/img/favicon/android-icon-144x144.png -- 14.08kb -> 13.71kb (2.59%)
/webroot/img/emoji/covid19parrot.gif -- 120.40kb -> 117.29kb (2.59%)
/webroot/img/favicon/apple-icon.png -- 18.35kb -> 17.88kb (2.58%)
/webroot/img/favicon/apple-icon-precomposed.png -- 18.35kb -> 17.88kb (2.58%)
/webroot/img/emoji/hamburgerparrot.gif -- 11.41kb -> 11.11kb (2.58%)
/webroot/img/favicon/ms-icon-150x150.png -- 14.52kb -> 14.15kb (2.58%)
/webroot/img/favicon/apple-icon-114x114.png -- 10.29kb -> 10.03kb (2.54%)
/webroot/img/favicon/apple-icon-180x180.png -- 17.99kb -> 17.53kb (2.54%)
/webroot/img/emoji/owncast.png -- 17.99kb -> 17.53kb (2.54%)
/webroot/img/favicon/apple-icon-120x120.png -- 11.07kb -> 10.79kb (2.5%)
/webroot/img/emoji/bananadance.gif -- 31.98kb -> 31.19kb (2.48%)
/webroot/img/emoji/darkbeerparrot.gif -- 5.31kb -> 5.18kb (2.47%)
/webroot/img/emoji/schnitzelparrot.gif -- 33.21kb -> 32.40kb (2.44%)
/webroot/img/favicon/apple-icon-152x152.png -- 14.83kb -> 14.47kb (2.43%)
/webroot/img/emoji/nodeparrot.gif -- 20.77kb -> 20.29kb (2.3%)
/webroot/img/favicon/favicon-96x96.png -- 8.42kb -> 8.23kb (2.28%)
/webroot/img/favicon/android-icon-96x96.png -- 8.42kb -> 8.23kb (2.28%)
/webroot/img/emoji/shipitparrot.gif -- 6.30kb -> 6.15kb (2.26%)
/webroot/img/emoji/headsetparrot.gif -- 31.98kb -> 31.28kb (2.17%)
/webroot/img/emoji/everythingsfineparrot.gif -- 19.57kb -> 19.15kb (2.13%)
/webroot/img/emoji/moonparrot.gif -- 32.88kb -> 32.20kb (2.08%)
/webroot/img/emoji/storm_trooper.gif -- 61.68kb -> 60.49kb (1.93%)
/webroot/img/emoji/nicolas_cage_party.gif -- 23.64kb -> 23.19kb (1.9%)
/webroot/img/favicon/apple-icon-76x76.png -- 6.25kb -> 6.14kb (1.8%)
/webroot/img/favicon/ms-icon-70x70.png -- 5.59kb -> 5.49kb (1.78%)
/webroot/img/emoji/margaritaparrot.gif -- 7.54kb -> 7.40kb (1.78%)
/webroot/img/emoji/skiparrot.gif -- 3.92kb -> 3.85kb (1.77%)
/webroot/img/emoji/pokeparrot.gif -- 20.19kb -> 19.85kb (1.66%)
/webroot/img/emoji/footballparrot.gif -- 42.08kb -> 41.39kb (1.64%)
/webroot/img/favicon/android-icon-192x192.png -- 17.79kb -> 17.50kb (1.62%)
/webroot/img/emoji/flyingmoneyparrot.gif -- 24.19kb -> 23.81kb (1.59%)
/webroot/img/favicon/apple-icon-72x72.png -- 5.86kb -> 5.77kb (1.53%)
/webroot/img/favicon/android-icon-72x72.png -- 5.86kb -> 5.77kb (1.53%)
/webroot/img/emoji/vikingparrot.gif -- 27.87kb -> 27.45kb (1.5%)
/webroot/img/emoji/daftpunkparrot.gif -- 45.15kb -> 44.48kb (1.49%)
/webroot/img/emoji/papalparrot.gif -- 2.37kb -> 2.34kb (1.48%)
/webroot/img/favicon/android-icon-48x48.png -- 3.72kb -> 3.66kb (1.47%)
/webroot/img/emoji/evilparrot.gif -- 22.77kb -> 22.47kb (1.33%)
/webroot/img/favicon/apple-icon-57x57.png -- 4.44kb -> 4.39kb (1.27%)
/webroot/img/emoji/hmmparrot.gif -- 18.09kb -> 17.88kb (1.21%)
/webroot/img/emoji/gentlemanparrot.gif -- 23.98kb -> 23.70kb (1.19%)
/webroot/img/emoji/birthdaypartyparrot.gif -- 31.71kb -> 31.34kb (1.15%)
/webroot/img/favicon/favicon-32x32.png -- 2.36kb -> 2.33kb (1.12%)
/webroot/img/favicon/android-icon-36x36.png -- 2.71kb -> 2.68kb (1.05%)
/webroot/img/emoji/sushiparrot.gif -- 33.04kb -> 32.70kb (1.03%)
/webroot/img/favicon/apple-icon-60x60.png -- 4.70kb -> 4.66kb (1%)
/webroot/img/emoji/laptop_parrot.gif -- 16.63kb -> 16.49kb (0.85%)
/webroot/img/emoji/sintparrot.gif -- 43.68kb -> 43.32kb (0.82%)
/webroot/img/emoji/harrypotterparrot.gif -- 8.21kb -> 8.14kb (0.81%)
/webroot/img/emoji/dabparrot.gif -- 9.25kb -> 9.18kb (0.76%)
/webroot/img/emoji/phparrot.gif -- 38.19kb -> 37.92kb (0.69%)
/webroot/img/emoji/headingparrot.gif -- 21.52kb -> 21.41kb (0.51%)
/webroot/img/emoji/docparrot.gif -- 22.51kb -> 22.42kb (0.42%)
/webroot/img/emoji/illuminatiparrot.gif -- 57.22kb -> 56.99kb (0.39%)
/webroot/img/emoji/opensourceparrot.gif -- 33.38kb -> 33.26kb (0.37%)
/webroot/img/emoji/pumpkinparrot.gif -- 37.52kb -> 37.40kb (0.3%)
/webroot/img/emoji/hypnoparrot.gif -- 46.43kb -> 46.30kb (0.27%)
/webroot/img/emoji/sonic.gif -- 50.32kb -> 50.24kb (0.17%)
/webroot/img/emoji/donutparrot.gif -- 60.86kb -> 60.86kb (0%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>

Co-authored-by: ImgBotApp <ImgBotHelp@gmail.com>
2020-10-31 13:27:39 -07:00
Gabe Kangas
6ea9affce0
HLS video handling/storage/state refactor (#151)
* WIP with new transcoder progress monitor

* A whole different WIP in progress monitoring via local PUTs

* Use an actual hls playlist parser to rewrite master playlist

* Cleanup

* Private vs public path for thumbnail generation

* Allow each storage provider to make decisions of how to store different types of files

* Simplify inbound file writes

* Revert

* Split out set stream as connected/disconnected state methods

* Update videojs

* Add comment about the hls handler

* Rework of the offline stream state.  For #85

* Delete old unreferenced video segment files from disk

* Cleanup all segments and revert to a completely offline state after 5min

* Stop thumbnail generation on stream stop. Copy logo to thumbnail on cleanup.

* Update transcoder test

* Add comment

* Return http 200 on success to transcoder. Tweak how files are written to disk

* Force pixel color format in transcoder

* Add debugging info for S3 transfers. Add default ACL.

* Fix cleanup timer

* Reset session stats when we cleanup the session.

* Put log file back

* Update test

* File should not be a part of this commit

* Add centralized shared performance timer for use anywhere

* Post-rebase cleanup

* Support returning nil from storage provider save

* Updates to reflect package changes + other updates in master

* Fix storage providers being overwritten

* Do not return pointer in save. Support cache headers with S3 providers

* Split out videojs + vhs and point to specific working versions of them

* Bump vjs and vhs versions

* Fix test

* Remove unused

* Update upload warning message

* No longer valid comment

* Pin videojs and vhs versions
2020-10-14 14:07:38 -07:00
Gabe Kangas
4632ba4247 Reorganize the favicons 2020-08-20 17:57:22 -07:00
Gabe Kangas
0fb48d8a7c Add favicon(s). Closes #75 2020-07-19 22:27:42 -07:00
Gabe Kangas
05c511848a Use the thumbnail for opengraph if online 2020-07-19 18:39:27 -07:00
Gabe Kangas
af2a0d4019 Fix rendered template. Closes #38 2020-07-05 23:49:48 -07:00
Gabe Kangas
b4c9654dac Swap out server-side agent detection. 2020-06-30 16:49:39 -07:00
Gabe Kangas
ea9a1a3afd Support webcrawers, bots, opengraph with a basic server-rendered metadata page. Closes #36 2020-06-30 00:09:40 -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
69da77b054 Fix short segment thumbnails. Move to JPG thumbs. Fix default thumb copy. 2020-06-18 17:56:06 -07:00
Gabe Kangas
b2f74adc02 Move player js to player.js. Update offline video clip. 2020-06-17 16:25:27 -07:00