| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Signed-off-by: Jesús <heckyel@hyperbola.info>
|
|
|
|
| |
Signed-off-by: Jesús <heckyel@hyperbola.info>
|
|
|
|
|
|
| |
Windows sends application/vnd.ms-excel as MIME Type instead of text/csv
Signed-off-by: Jesús <heckyel@hyperbola.info>
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Ref: https://blog.youtube/news-and-events/update-to-youtube/
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Temporary fix for #95
Signed-off-by: Jesús <heckyel@hyperbola.info>
|
| |
|
| |
|
|
|
|
| |
This reverts commit a0c3ca0159136d17eefa129176ae1904110238b8.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: Jesús <heckyel@hyperbola.info>
|
| |
|
|
|
|
| |
Signed-off-by: Jesús <heckyel@hyperbola.info>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Allows for ranked preferences for h264, av1, and vp9 codecs in
settings, along with equal preferences which are tiebroken using
smaller file size.
For each quality, gives av-merge a list of video sources
and audio sources sorted based on preference & file size. It
will pick the first one that the browser supports.
Closes #84
Signed-off-by: Jesús <heckyel@hyperbola.info>
|
|
|
|
|
|
|
| |
But watch.py is not providing them yet. Deciding how to fix the
codec options/defaults is for a later commit
Signed-off-by: Jesús <heckyel@hyperbola.info>
|
|
|
|
|
|
| |
This avoids an ugly error if the user forgets to select a file
Signed-off-by: Jesús <heckyel@hyperbola.info>
|
|
|
|
|
|
| |
Closes #82
Signed-off-by: Jesús <heckyel@hyperbola.info>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Two issues fixed:
1. The append was only retried if it was the result of a seek
event. But if the video is paused (such as if the video was
finished and the user seeks back to the beginning), the seek
won't happen because the MediaSource will not issue a sourceopen
until the user plays the video. A better strategy that solves
the true issue is to retry the append if it is for the segment
corresponding to the current time, since that is critical to get
immediately.
2. If the append was not retried, entry.requested was not getting
marked as false, so it would refuse to ever rerequest the segment,
so it would stall. Set it to false if we decide not to retry the
append, so it can be rerequested later.
Signed-off-by: Jesús <heckyel@hyperbola.info>
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: Jesús <heckyel@hyperbola.info>
|
|
|
|
|
|
|
|
| |
According to
https://github.com/iv-org/invidious/issues/2319
Google Takeout changed the format from json to csv
Signed-off-by: Jesús <heckyel@hyperbola.info>
|
|
|
|
| |
Signed-off-by: Jesús <heckyel@hyperbola.info>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds support for AV1-encoded videos, which includes any videos
above 1080p. These weren't getting included because they did
not have a quality entry in the format table at the top of
watch_extraction.py. So get the quality from the quality
labels of the format if it's not there.
Because YouTube often includes BOTH AV1 and H.264 (AVC) for each
quality, after these are included, there will be way too many
quality options and the code needs to choose which one to use.
The choice is somewhat hard: AV1 is encoded in fewer bytes than
H.264 and is patent-free, however, it has less hardware support,
so might be more difficult to play. For instance, on my system,
AV1 does not work on 1080p, but H.264 does. Adds a setting about
which to prefer, set to H.264 as the default.
Also adds support for the lower quality mp4 audio quality, which
now gets used at 144p to save network bandwidth. For similar
reasons, this was not getting included because it did not
have an audio_bitrate entry in the table. Prefer bitrate
instead for the quality.
Signed-off-by: Jesús <heckyel@hyperbola.info>
|
|
|
|
|
|
|
| |
.pop() gives LIFO, but FIFO was the intention for appendQueue.
O(n) behavior is fine because appendQueue should be very small.
Signed-off-by: Jesús <heckyel@hyperbola.info>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Many things fixed:
- Delete from end of video in addition to from beginning. Firefox
automatically deletes from the beginning already.
- Increment i in the while loop (oops)
- Calling .remove takes time for the sourceBuffer to perform, and
it will be in the updating=true state. Continuing to delete more
would give an error. Waits until the updateend event is fired
before deleting more segments.
- Retry appendBuffer if the quota was exceeded during a seek append
Signed-off-by: Jesús <heckyel@hyperbola.info>
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: Jesús <heckyel@hyperbola.info>
|