Mike Lang
07c9c208cc
improve clock OCR by explicitly looking for green pixels
1 year ago
Mike Lang
be77f4ea14
bus_analyzer: Also record the clock
1 year ago
Mike Lang
5a0704d3d7
Reject bustimes with negative minutes
1 year ago
ElementalAlchemist
179f06b413
Fix loading Thrimbletrimmer and defaulting initial chapter time ( #361 )
1 year ago
ElementalAlchemist
d979b40d9f
Make the first chapter marker uneditable and tie it to the first range start time
...
This is a more usable enforcement of the requirement that YouTube enforces for the first chapter to be at the exact beginning of the video.
1 year ago
Mike Lang
2ae273a75c
bus_analyzer: Parse the final odo digit
1 year ago
Mike Lang
907d1ba6f9
Add a blank prototype which invalidates the odo if matched
1 year ago
Mike Lang
19f169e750
bus_analyzer: Move prototypes into subdir and allow non-digits
1 year ago
Mike Lang
5e43446c92
bus_analyzer: Add a testing routine to check analyzer changes
1 year ago
Mike Lang
a4eceea958
odo extraction: Look for digit y-level for all main digits together
...
They should all be at the same y level, and the extra data helps avoid traps
when the digit has few pixels (eg. a 1).
1 year ago
Mike Lang
30f05b0656
thumbnails: Add a CLI for generating them directly
1 year ago
Mike Lang
720f1c4b41
thrimshim: Sanity checks for odometer
1 year ago
Mike Lang
dbf9f5c8de
bus_analyzer: Drop the odometer threshold so we don't reject things at night
1 year ago
Mike Lang
e38d21fb61
bus analyser: add a frame extraction cli command
1 year ago
Mike Lang
06cd5d48ee
More extrapolation fixes
1 year ago
Mike Lang
834dc55b41
thrimshim: Fix typo in odo extrapolation
1 year ago
Mike Lang
f0e2aae519
thrimshim: Fix odometer endpoint
1 year ago
Mike Lang
a83dbb58f7
thrimshim: Fix default templates
1 year ago
Mike Lang
e7c402c5e2
schedulebot: Make user ids case-insensitive
1 year ago
Mike Lang
b6d71297c6
bus_analyzer: Make dockerfile work
1 year ago
Mike Lang
f969921ae3
bus_analyzer: Import existing extractor code and get it working
...
This was worked on out-of-repo for a while. But now it's ready to be integrated.
1 year ago
Mike Lang
9e988c0d43
Add a "prototype" of each odometer digit
...
This is an averaged, normalized version of a number of examples of each digit in the odometer.
It does not include the last digit which looks different.
These prototypes are used to recognize the digits in buscam data.
1 year ago
Mike Lang
ce665047ac
Add bus_analyzer to docker-compose
1 year ago
Mike Lang
76daceff19
bus_analyzer: initial implementation
1 year ago
Mike Lang
734a7371f3
Add bus_data DB table and have thrimshim able to query it for latest odo reading
1 year ago
Mike Lang
fccec1ace0
downloader: Fix a bug where hashes are miscalculated
...
due to not including the map data in the hash calculation.
This is only relevant for streams with map data, which does not include twitch or youtube URLs.
1 year ago
Mike Lang
590e056f7a
docker-compose: Add support for backfill only, chat only channels
...
And don't try to archive twitch chat for non-twitch channels
1 year ago
Mike Lang
3e836b935b
grafana: Disable analytics
1 year ago
Mike Lang
3df15b5784
grafana: Make it HTTPS
...
Note this introduces two files the user must provide.
We set up the makefile to fail if they don't exist.
1 year ago
Mike Lang
1e6b8e576e
grafana: Use config file instead of env vars
1 year ago
Mike Lang
5f42b8419e
downloader: Hard-code source quality for non-twitch providers
...
since they can't do any other quality, but we still want to be able to set other qualities
for twitch streams.
Really qualities should be per-channel but I'm being lazy.
1 year ago
Mike Lang
304e7b0fd9
downloader: Install yt-dlp in docker container
...
for youtube support
1 year ago
Mike Lang
0192e5246a
docker-compose: Add support for new channel format
1 year ago
Mike Lang
18b71e6f5f
downloader: Add youtube support
...
Adds very simple youtube stream support where we only ever use the "best" quality,
which we call "source" for consistency with twitch.
We use yt-dlp to do the heavy lifting of getting the playlist url out of youtube.
1 year ago
Mike Lang
05349a62df
downloader: Prepend any HLS "map" data to every segment
...
In some formats, most notably DASH, there is a "initialization data" that is required
in order to play the segment. The data is common to all segments so it is served as a seperate URL
under EXT-X-MAP. However, redundant copies of this data are benign and it's very small, so
we just put it in front of EVERY segment so that we can play every one independently (but
concatenating them still works).
We use a very simple cache to avoid downloading it again for every segment.
1 year ago
Mike Lang
e4252544be
downloader: Add ability to download from an arbitrary playlist URL
...
This is a very limited feature, it can't handle multiple qualities.
You must use "source" only and it takes the first available rendition.
1 year ago
Mike Lang
7a75442243
downloader: rename twitch.py to providers.py
...
Since it will now contain non-twitch providers also.
1 year ago
Mike Lang
bc08d97e56
downloader: Add framework to allow alternate "providers" besides twitch
...
This abstracts out the process of obtaining media playlists so that we can support non-twitch
streaming services.
1 year ago
Mike Lang
30c1877b36
Fix bugs with chat_archiver
...
* Order of arguments matters - option can't be between other positional args and *args
* Messed up the count structure
1 year ago
Mike Lang
66603bf648
docker-compose: Update some defaults
...
These more closely match our actual run usage
1 year ago
Mike Lang
c3d5405ebc
docker-compose: archive sheet support
1 year ago
Mike Lang
b93597c274
sheetsync: Support archive sheet
1 year ago
Mike Lang
8d984110ab
thrimshim: Special handling for "archive" events
1 year ago
Mike Lang
4d9d444cc3
cuter: local upload backends: Use _ instead of - as replacement char
...
This is apparently nicer to deal with in URLs.
1 year ago
Mike Lang
80c9be0baf
cutter: Get archive cut working
1 year ago
Mike Lang
4c70878a53
cutter: Fix bug when no thumbnail set
1 year ago
Mike Lang
0164f9def8
schedulebot: Don't set groups before the run starts
...
This is mainly a problem with groups_by_shift which will be set
even for negative hours that aren't on the schedule.
This causes notification spam as people move in and out of groups.
1 year ago
Mike Lang
5c7061efd2
docker-compose: Have chat-archiver archive all watched channels
1 year ago
Mike Lang
260293d40d
chat_archiver: Allow passing multiple channels on CLI
1 year ago
Mike Lang
91910c0972
chat_archiver: Fix misconfiguration where MAX_SERVER_LAG < MAX_DELAY
...
This leads to delayed JOIN/PARTs not being put in their proper batch
as it's already been closed. In fact, since each message is re-opening a batch from
more than MAX_SERVER_LAG seconds ago, each message becomes one batch.
1 year ago