Commit Graph

1010 Commits (fff01876a94358d7d93bbe9ef8503d280319bf1a)
 

Author SHA1 Message Date
Mike Lang 17af1c4e89 cutter, sheetsync: Wait for DB to connect on startup
This is a nicer error than crashing in the depths of some error handler
(which is what will happen if the DB goes unavailable while they're running),
and it's a far more common case (eg. the DB is misconfigured) than having it fail
halfway through.

Neither of these services can do anything meaningful without the DB,
so crashing without it is acceptable behaviour.
5 years ago
Mike Lang 0e437566aa backfiller: Don't crash on DB errors
We move all connection handling into get_nodes().
This means that problems connecting won't cause further errors
and cause the application to completely crash.

In turn, this means that the behaviour if the database goes down becomes
"continue backfilling from the nodes we know about" instead of crashing.
5 years ago
Mike Lang fc791e03d4 DBManager: Don't test connection on start
This gives the individual services more freedom in how to handle
a failing connection.
5 years ago
Mike Lang 3c20a9aece nginx: Serve the segments directly from the segments dir
instead of proxying through restreamer.

This should improve performance when serving the (large) segment files,
and free up restreamer for things like generating the playlist.
5 years ago
Mike Lang 095e391b60
Merge pull request #116 from ekimekim/mike/thrimbletrimmer-things
A lot of changes to thrimbletrimmer and related stuff
5 years ago
Mike Lang 934c640a04 thrimbletrimmer: Display edit notes below the video
In nice distracting pink so they're sure to see it.
5 years ago
Mike Lang f7f07a2688 Add /defaults to thrimshim, use it to populate config stuff in thrimbletrimmer
Thrimbletrimmer needs to know stuff like the bustime start time,
default channel, even if it's not looking at a specific row.
5 years ago
Mike Lang d03120548b thrimbletrimmer: Always respect the channel given by thrimshim 5 years ago
Mike Lang 6cfad08a26 thrimbletrimmer: Restore previously saved advanced options
and show the advanced pane if any are non-default.
5 years ago
Mike Lang 728ede61c0 thrimbletrimmer: Don't leave page after saving edits 5 years ago
Mike Lang 983e3a61c6 thrimbletrimmer: also pause on spacebar
Most video players pause on space, so we make sure it works if they try
5 years ago
Mike Lang 775799944a thrimbletrimmer: Don't hide the video player on error
It means you can't read the error, and it's more confusing.
5 years ago
Mike Lang 7dea1f0cdb thrimbletrimmer: Fix some typos in the new error handling 5 years ago
Mike Lang da3cc24ed1 Pass a list of upload locations from thrimshim to thrimbletrimmer
with the first one being the default.
5 years ago
Mike Lang b11fe39371 thrimshim: Validate title length, non-empty title/description
and pass the title prefix / max length through to thrimbletrimmer
5 years ago
Mike Lang ba746ff6e6 Add title and description header/footer in thrimshim instead of cutter
This accomplishes two things:
1. It allows thrimshim to properly validate length restrictions (not implemented yet)
2. It means that the database has a record of the values actually written for each of these rows,
instead of that information depending on how the cutter was configured at the time.
5 years ago
Mike Lang b0ea790407 thrimbletrimmer: Misc cleanup 5 years ago
Mike Lang 93fc202394 thrimbletrimmer: submit button: clean up, error handling, no-auth mode 5 years ago
Mike Lang cdd286c0ee thrimbletrimmer: manual link and download buttons: cleanup, error handling, no-auth mode 5 years ago
Mike Lang b06721df07 thrimbletrimmer: Update bustime/UTC values when you switch
so if you change one it changes the other.

Also in general takes those conversions and makes them available as functions for re-use.
5 years ago
Mike Lang 91c67899ee thrimbletrimmer: Read title prefix from thrimshim and display it greyed out
This gives a visual indicator showing the editor what prefix the title will have.
It also allows us to set the correct max title length.
5 years ago
Mike Lang caa129e192 thrimbletrimmer: allow holes should be off by default 5 years ago
Mike Lang 93f812eb64 thrimbletrimmer: Fix Streams and Hours links to not leave the current page
The existing approach, at least in my browser (firefox),
was causing the page to be replaced with "[window Object]".
5 years ago
Mike Lang 15cf65c926 nginx: Nicer formatting for thrimbletrimmer part of config 5 years ago
Mike Lang 60c6145836 nginx: Fix invalid config when no services deployed
ie. for a thrimbletrimmer-only node.
5 years ago
Mike Lang e5c5eb4090
Merge pull request #115 from ekimekim/mike/config-fixes
A grab-bag of fixes that came out of the recent test on toodles
5 years ago
ekimekim 6ef27fe757 nginx: Always use relative paths
So that using non-standard ports, etc. doesn't break things
5 years ago
ekimekim 742fcc3a28 Update default worksheet list to correct typo 5 years ago
ekimekim 86f22d38d8 docker-compose: Need to tell sheet-sync to allocate ids
NOTE: This is only safe if we're only running one.

Later we should make a way to control this in config so one node has it
but others can run non-allocating sheetsyncs.
5 years ago
Mike Lang b2d3faeab2
Merge pull request #113 from ekimekim/mike/cutter/upload-errors
Refactor error handling in uploads
5 years ago
Mike Lang 596cd92644 cutter: Add more specific error handling to upload backends
For youtube, know that 4xx's are safe even if finalizing was set.

For local, make all disk errors retryable since it doesn't matter.
5 years ago
Mike Lang 736040435c Refactor error handling in uploads
Instead of handling each error condition seperately,
we raise an UploadError which includes whether it's retryable.

The advantage of this is that upload backends can also raise an UploadError
to indicate two conditions it currently cannot:
	That an error is unretryable
	That an error is retryable, even if the row was already in finalizing

Under this scheme, errors while cutting become unretryable UploadErrors,
and unhandled exceptions in uploading become retryable UploadErrors if
the row is not yet finalizing only.
5 years ago
Mike Lang e435abf72e
Merge pull request #114 from ekimekim/mike/fixes
Grab-bag of cutter fixes
5 years ago
Mike Lang 40458d9d7f local backend: Use original version of title in write_info
instead of safe version
5 years ago
Mike Lang 80d829b83b full cut: ffmpeg requires a seekable output file
Most formats like mp4 require ffmpeg to make changes at the start of the file
throughout writing.

Unfortunately, this prevents us from streaming the upload as we cut it.

Instead, we spool to a temporary file until ffmpeg exits,
then upload that all at once.
5 years ago
Christopher Usher f4cd3f546e removed comments no longer needed 5 years ago
Christopher Usher 51e4520826 replaced warnings.warn with logger.warn 5 years ago
Christopher Usher 7d85eb7272 warn about and ignore files that don't parse as segments 5 years ago
Mike Lang 3a9543a4b5 Suppress less ffmpeg output when cutting
The "fatal" level was causing some useful errors to be suppressed.
5 years ago
Mike Lang 3fbbe59b00 cutter Local backend: Fix typo and file extension when full cutting 5 years ago
Mike Lang b0a71fd9f1 cutter: Fix mistake in check_candidate error handling 5 years ago
Mike Lang ba53172cbc cutter: Get video link from backend instead of hard-coding youtube 5 years ago
Mike Lang 12decf015e Fix multiple typos and mistakes with full cuts 5 years ago
Mike Lang ed2395d08e cutter: Fix typo that prevented backends from being configured 5 years ago
Mike Lang bf55b1c75e
Merge pull request #103 from ekimekim/mike/cutter/full-cut
Resurrect non-experimental cut, now dubbed "full" (vs "fast") cut
5 years ago
Mike Lang c970677a76
full cut: Fix a typo 5 years ago
Mike Lang 1218b694dd cutter: Allow fast or full cuts per location
On full cut, use encoding settings determined by the backend.
5 years ago
Mike Lang 09887f17ab restreamer: Add option to download full cut instead of fast cut
Transcoding to mp4 with no specific encoding args as a reasonable default.
5 years ago
Mike Lang d3e1d6b4fc Resurrect non-experimental cut, now dubbed "full" (vs "fast") cut
In a fast cut, we edit the first and last segments then concatenate them all.
However, this leads to some tiny but perciptible artifacting around the border
of the first and second (and second-last and last) segments.

A full cut is much slower, but re-encodes the video into the desired format
and is more reliable.

We want both options to be available.

With this commit, we only add the option, we don't use it in restreamer or cutter.
5 years ago
Mike Lang 6533eed4d4
Merge pull request #102 from ekimekim/mike/cutter/tags-and-things
tags, other video presentation tweaks and things
5 years ago