Commit Graph

1530 Commits (0d14d0b91bee4bff6122261eab23a345ab2b4720)
 

Author SHA1 Message Date
Mike Lang cb144866a6 Change wording of "submit anyway" button when saving a draft 7 months ago
Mike Lang f9ff537b84 restreamer: Fix a bug where playlist reports video is finished spuriously
This happens when we are live viewing a stream, and the last available segment
is at the end of an hour.
We generate the end timestamp as being the end of the last available hour,
which might be within the range of the last available segment. When this happens
we stream the last segment then say we reached the requested end point.
This makes the player stop asking for more segments.

The fix is to pad the end time by an extra hour so we're asking for 1 hour more than the
last available hour.
7 months ago
Mike Lang daf6001402 restreamer: Move get_best_segments() inside playlist cache 7 months ago
Mike Lang 264545eb9d CachedIterator: Fix bug where state can change while taking the lock
Resulting in a case where we grab the wrong result, or even try to get the next item
after the iterator has already been discarded.
7 months ago
Mike Lang 0895ce44ff generate media playlist: Yield in chunks for performance
Flask sends a chunked response with one chunk per item yielded.
This adds a lot of overhead per yielded item.
We avoid this by collecting the lines of the media playlist into larger chunks
and only flushing once every 1000 segments.

For small playlists this means they'll be emitted as one chunk,
but for large playlists we still get the streaming behaviour.
7 months ago
Mike Lang 1857a998c9 reduce overhead of gevent.idle() by only yielding once per 1000 segments 7 months ago
Mike Lang 7e90346b87 restreamer: Have playlist cache stream results 7 months ago
Mike Lang 8ede4622ca CachedIterator: Re-serve any errors encountered while iterating
instead of the second one to reach the error treating it as a successful end of iterator.
7 months ago
Mike Lang 909cece196 restreamer: Move media playlist cache to also cover HLS playlist generation 7 months ago
Mike Lang cb2c58c75c restreamer: Yield the event loop during playlist generation 7 months ago
Mike Lang be7a9cd1fa restreamer: Make media playlist streamed
To deal better with very large playlists
7 months ago
Mike Lang a6d4f2466a restreamer: coalesce concurrent requests for the same playlist URL 7 months ago
Christopher Usher 28a468477d
Update DATABASE.md
Fixed some minor formatting issues
7 months ago
HubbeKing b46d9f30bb Proper example for edit_url 12 months ago
HubbeKing 7715a9c702 Run chat_archiver by default and backfill emotes by default 12 months ago
HubbeKing c9af44c327 Always create credentials secret 12 months ago
HubbeKing a98fea2489 Update NFS mount options 12 months ago
HubbeKing 517b881674 Remove old URL from edit_url config setting 12 months ago
HubbeKing 209cc6d876 Add config parameter for NFS mount options 12 months ago
HubbeKing 17596655f6 Update k8s.jsonnet file to support 2023 changes to images 12 months ago
Mike Lang 2a1f7207a8 Allow a fudge factor when checking for gaps/overlaps between segments
Sometimes in the wild (particularly on youtube) segments may not be timed perfectly, so allow up to 10ms of gap or overlap
to be counted as "equal" for purposes of finding the best segment.
12 months ago
Mike Lang b8cf0f20b0 segment_coverage: Allow alternate output location + single-run mode 12 months ago
Mike Lang 3606fadaa8 Pin gevent version to work around build issues
Seeing the following error on latest versions of gevent:

 Traceback (most recent call last):
   File "/usr/lib/python3.9/runpy.py", line 197, in _run_module_as_main
     return _run_code(code, main_globals, None,
   File "/usr/lib/python3.9/runpy.py", line 87, in _run_code
     exec(code, run_globals)
   File "/usr/lib/python3.9/site-packages/zulip_bots/schedulebot.py", line 2, in <module>
     import gevent.monkey
   File "/usr/lib/python3.9/site-packages/gevent/__init__.py", line 72, in <module>
     from gevent._hub_local import get_hub
   File "/usr/lib/python3.9/site-packages/gevent/_hub_local.py", line 150, in <module>
     import_c_accel(globals(), 'gevent.__hub_local')
   File "/usr/lib/python3.9/site-packages/gevent/_util.py", line 148, in import_c_accel
     mod = importlib.import_module(cname)
   File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
     return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named 'gevent._gevent_c_hub_local'
1 year ago
Mike Lang 859852fc50 memes 1 year ago
Christopher Usher b7e8b83c8d corrected shift names 1 year ago
Christopher Usher e12e361525 Shifts graphs 1 year ago
Christopher Usher e66540087a Fixes suggested by ekim 1 year ago
Christopher Usher eae430d5f3 removed local script 1 year ago
Christopher Usher 9a3b1fd5c3 Refactor in preperation for multiple graphs 1 year ago
Christopher Usher a6e990db68 Donation graph now works in a container 1 year ago
Christopher Usher 2c8a27330f graphs container now builds 1 year ago
Christopher Usher 3e8b4dfcf1 Starting integration of donation graphs 1 year ago
Mike Lang c65eb2eae3 Add a default timeout on google APIs 1 year ago
Mike Lang b9b7a6ca27 more schedulebot formatting 1 year ago
Mike Lang 4786154bca One more schedulebot format tweak 1 year ago
Mike Lang 7637633936 fix typo 1 year ago
Mike Lang d338c785ff schedulebot: formatting changes 1 year ago
Mike Lang f63e68f609 schedulebot: List all currently active people by role (except shift sup) 1 year ago
Mike Lang b65203ce0e bus_analyzer: Parallelize and fix error handling 1 year ago
Mike Lang c5acfe3ae0 bus_analyzer: Fix listing segments to respect tombstones 1 year ago
Mike Lang 8ac6e71d48 bus_analyzer: Normalize brightness across all digits, not one by one 1 year ago
Mike Lang bd9e22bc1f Revert "bus_analyzer: blank is grey, not black"
This reverts commit 3e0280cf33.

Now that we look at all digits at once for normalization, blank is black
1 year ago
Mike Lang 86951d5916 thrimshim: Fix bug in extrapolate code when time is a float 1 year ago
Mike Lang cd4d08adc1 Yield after each segment when doing fast/smart cuts
To avoid blocking for long periods
1 year ago
ElementalAlchemist db8c3a986f
Refresh just the images on the segment coverage page (#367)
This allows users on the page to preserve attributes like the current horizontal scroll value.
1 year ago
Mike Lang 0ed808688e cutter: Handle case where existing video has no last written thumb 1 year ago
Mike Lang 4d962ba187 Fix typo in cutter 1 year ago
Mike Lang e689626815 Add a small time range around the timestamp when extracting a frame
This should hopefully result in frames on the edge of timestamps being extracted
from a combination of the neighboring segment and the naive one,
so that we don't get errors extracting a frame.
1 year ago
Mike Lang 7a27938244 thrimshim: Expose time of day and 24h time 1 year ago
Mike Lang 3e0280cf33 bus_analyzer: blank is grey, not black 1 year ago