Commit Graph

18291 Commits (ec57f903c907bf8c48c9cd3eea75e6dadb855595)
 

Author SHA1 Message Date
Tom-Oliver Heidel 94b89122c6
[skip travis] pypi needs make 4 years ago
Unknown ad42fc2048 Merge remote-tracking branch 'origin/master' 4 years ago
Unknown afe4cdcf58 [skip travis] very minor but important workflow related issue 4 years ago
Tom-Oliver Heidel eb98353bdd
[skip travis] adjust available python version 4 years ago
Unknown f940c3172a add missing future import 4 years ago
Unknown cdb7547e14 add pyinst to test exceptions 4 years ago
Unknown 7e8772bf82 Merge remote-tracking branch 'origin/master' 4 years ago
Tom-Oliver Heidel f97123d28c
[skip travis] added two spaces 4 years ago
Tom-Oliver Heidel 5bf3bb22d6
[skip travis] new workflow 4 years ago
Unknown 0fcd0fbb8c Merge remote-tracking branch 'origin/master' 4 years ago
Tom-Oliver Heidel 6c4e8b23e6
[skip travis] disable old workflow 4 years ago
Unknown 915f2a92ac update workflow, semi fix integrated updater 4 years ago
xarantolus c0a1a8926d Use better regex for all fixed extraction types 4 years ago
Unknown b137e533ee [skip travis] updating issue template tmpls 4 years ago
Unknown 11f96ac427 Merge branch 'ytdl-org-master' 4 years ago
Unknown 1b3f7c9a7e merge youtube-dl master 22.09.2020 4 years ago
Sergey M․ c5764b3f89
[downloader/http] Properly handle missing message in SSLError (closes #26646) 4 years ago
Sergey M․ 0837992a22
[downloader/http] Fix access to not yet opened stream in retry 4 years ago
Joel Potts b84071c0a9 [youtube] Added 'subscriber_count' to extraction 4 years ago
Tom-Oliver Heidel 486ad2cd50
Merge pull request #129 from jbruchon/master
Switch from binary search tree to Python sets
4 years ago
Sergey M․ b55715934b
release 2020.09.20 4 years ago
Sergey M․ bbc3b5b4bb
[ChangeLog] Actualize
[ci skip]
4 years ago
nixxo 1ca5f821c8
[redtube] Extend _VALID_URL (#26506) 4 years ago
Sergey M․ defc820b70
[twitch] Switch streams to GraphQL and refactor (closes #26535) 4 years ago
Jody Bruchon a45e861918 Switch from binary search tree to Python sets
Signed-off-by: Jody Bruchon <jody@jodybruchon.com>
4 years ago
Sergey M․ 82ef02e936
[telequebec] Fix issues (closes #26368) 4 years ago
Patrick Dessalle b856b3997c
[telequebec] Add support for brightcove videos (closes #25833) 4 years ago
Sergey M․ cd85a1bb8b
[pornhub] Extract metadata from JSON-LD (closes #26614) 4 years ago
Sergey M․ ce5b904050
[extractor/common] Relax interaction count extraction in _json_ld 4 years ago
Sergey M․ ad06b99dd4
[extractor/common] Extract author as uploader for VideoObject in _json_ld 4 years ago
JChris246 540b9f5164
[pornhub] Fix view count extraction (#26621) (refs #26614) 4 years ago
Jody Bruchon fd87f42378 Randomize the ArchiveTree the proper Python way
Signed-off-by: Jody Bruchon <jody@jodybruchon.com>
4 years ago
Tom-Oliver Heidel 53d50142e8 [skip travis] Update issue templates 4 years ago
Tom-Oliver Heidel c71700dbe4
Merge pull request #125 from jbruchon/master
Keep download archive in memory for better performance
4 years ago
Jody Bruchon 2459b6e1cf Style revisions 4 years ago
Jody Bruchon 4f0150dcec Merge remote-tracking branch 'upstream/master' 4 years ago
Unknown 35d3b674c7 [hotstar] regex the second. 4 years ago
Jody Bruchon a4d834fb3e Fix wrong variable in position swap corrupting archive list
It's always a simple error in the end, you know?

Signed-off-by: Jody Bruchon <jody@jodybruchon.com>
4 years ago
Jody Bruchon fda63a4e87 Randomize archive order before populating search tree
This doesn't result in an elegant, perfectly balanced search tree,
but it's absolutely good enough. This commit completely mitigates
the worst-case scenario where the archive file is sorted.

Signed-off-by: Jody Bruchon <jody@jodybruchon.com>
4 years ago
Stefan Pöschel 6e65a2a67e
[downloader/hls] Fix incorrect end byte in Range HTTP header for media segments with EXT-X-BYTERANGE (#24512) (closes #14748)
The end of the byte range is the first byte that is NOT part of the to
be downloaded range. So don't include it into the requested HTTP
download range, as this additional byte leads to a broken TS packet and
subsequently to e.g. visible video corruption.

Fixes #14748.
4 years ago
Jody Bruchon 1d74d8d9f6 Try to mitigate the problem of loading a fully sorted archive
Sorted archives turn the binary tree into a linked list and make
things horribly slow. This is an incomplete mitigation for this
issue.
4 years ago
Sergey M․ f8c7bed133
[extractor/common] Handle ssl.CertificateError in _request_webpage (closes #26601)
ssl.CertificateError is raised on some python versions <= 3.7.x
4 years ago
Sergey M․ cdc55e666f
[downloader/http] Improve timeout detection when reading block of data (refs #10935) 4 years ago
Ori Avtalion 86b7c00adc
[downloader/http] Retry download when urlopen times out (#26603) (refs #10935) 4 years ago
Jody Bruchon 1de7ea76f8 Remove recursion in at_insert() 4 years ago
Jody Bruchon a5029645ae Remove debugging print statements 4 years ago
Jody Bruchon ecdec1913f Keep download archive in memory for better performance
The old behavior was to open and scan the entire archive file for
every single video download. This resulted in horrible performance
for archives of any remotely large size, especially since all new
video IDs are appended to the end of the archive. For anyone who
uses the archive feature to maintain archives of entire video
playlists or channels, this meant that all such lists with newer
downloads would have to scan close to the end of the archive file
before the potential download was rejected. For archives with tens
of thousands of lines, this easily resulted in millions of line
reads and checks over the course of scanning a single channel or
playlist that had been seen previously.

The new behavior in this commit is to preload the archive file
into a binary search tree and scan the tree instead of constantly
scanning the file on disk for every file. When a new download is
appended to the archive file, it is also added to this tree. The
performance is massively better using this strategy over the more
"naive" line-by-line archive file parsing strategy.

The only negative consequence of this change is that the archive
in memory will not be synchronized with the archive file on disk.
Running multiple instances of the program at the same time that
all use the same archive file may result in duplicate archive
entries or duplicated downloads. This is unlikely to be a serious
issue for the vast majority of users. If the instances are not
likely to try to download identical video IDs then this should
not be a problem anyway; for example, having two instances pull
two completely different YouTube channels at once should be fine.

Signed-off-by: Jody Bruchon <jody@jodybruchon.com>
4 years ago
SeonjaeHyeon 217e517384
[naver] Add support for live videos 4 years ago
Unknown 7ac0ba50ce [hotstar] regex fix 4 years ago
Unknown fe84e2a391 [skip travis] winver 4 years ago