Commit Graph

80 Commits (93721ed09ccf68210a2bf18baa8761b5c1525a8e)

Author SHA1 Message Date
Unknown b33c48f269 [skip travis] version bump 4 years ago
Tom-Oliver Heidel 04b61c6572 Merge branch 'naver' of https://github.com/SeonjaeHyeon/youtube-dl into SeonjaeHyeon-naver 4 years ago
Unknown 915f2a92ac update workflow, semi fix integrated updater 4 years ago
Unknown 1b3f7c9a7e merge youtube-dl master 22.09.2020 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
Jody Bruchon fd87f42378 Randomize the ArchiveTree the proper Python way
Signed-off-by: Jody Bruchon <jody@jodybruchon.com>
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
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
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
Unknown 7ac0ba50ce [hotstar] regex fix 4 years ago
Unknown 17cb02d0c6 bump version 2020.09.16 4 years ago
Unknown 78895bd3a1 [Core] hls manifests, dynamic mpd 4 years ago
Tom-Oliver Heidel cd93279de8 Merge branch 'ext/remuxe-video' of https://github.com/Zocker1999NET/youtube-dl into Zocker1999NET-ext/remuxe-video 4 years ago
Tom-Oliver Heidel c11c64f318 Merge branch 'elonet' of https://github.com/tpikonen/youtube-dl into tpikonen-elonet 4 years ago
Tom-Oliver Heidel 4c7d0c13e1 Merge branch 'fix-mitele' of https://github.com/DjMoren/youtube-dl 4 years ago
Tom-Oliver Heidel acdb1a4ec6 Merge branch 'arbitrary-merges' of https://github.com/fstirlitz/youtube-dlc 4 years ago
felix d03cfdce1b Support arbitrary stream merges
With this change, the merge operator may join any number of media streams,
video or audio. The streams are downloaded in the order specified.

Also, fix the metadata post-processor so that it doesn't leave out
any streams.
4 years ago
Unknown e69dd78090 merge ytdl-master 4 years ago
Tom-Oliver Heidel 3796554609
Merge pull request #102 from blackjack4494/gdcvault-fix
[gdcvault] fix extractor
4 years ago
Unknown 4b819d1454 flake8 4 years ago
Unknown 10bbf2c48d [skip travis] bump version 4 years ago
Tom-Oliver Heidel acd0a71894
Merge pull request #96 from blackjack4494/kakao-new-apis
[kakao] new apis
4 years ago
Tom-Oliver Heidel d8edca1e56
Merge pull request #95 from blackjack4494/daserste-ndr
[ndr] support Daserste ndr
4 years ago
Unknown 4cd3053c4f [kakao] new apis
there are also ageLimit and GeoBlock attributes provided by api_json if needed
4 years ago
Unknown f791b41970 flake8 4 years ago
Unknown 57df9f53e0 [youtube] convert subtitles with --skip-download 4 years ago
Unknown 84da5d84b0 add json3 back but don't use it as default. 4 years ago
Unknown fc0999c695 exclude json3 for now 4 years ago
Unknown d23f9ec7eb [gdcvault] fix extractor
at least when not logged in?
4 years ago
felix de7c27cd25 [dispeak] mark the "slides" stream as video-only 4 years ago
Unknown ac4df0908a [skip travis] bump version 4 years ago
Tom-Oliver Heidel 6cef08ad00 Merge branch 'tiktok' of https://github.com/skyme5/youtube-dl into skyme5-tiktok 4 years ago
Tom-Oliver Heidel df38b4a1a9 Merge branch 'pr/duboku' of https://github.com/lkho/youtube-dl into lkho-pr/duboku 4 years ago
Tom-Oliver Heidel ca640230de Merge branch 'alura' of https://github.com/hugohaa/youtube-dl into hugohaa-alura 4 years ago
Tom-Oliver Heidel 310f762636 Merge branch '26564' of https://github.com/adrianheine/youtube-dl into adrianheine-26564 4 years ago
Tom-Oliver Heidel 23306df2d8 Merge branch 'master' of https://github.com/ddland/youtube-dl into ddland-master 4 years ago
Tom-Oliver Heidel bb1d0b26ed Merge branch 'patch-2' of https://github.com/nixxo/youtube-dl into nixxo-patch-2 4 years ago
Unknown 55e106d1b0 Merge remote-tracking branch 'origin/master' 4 years ago
Tom-Oliver Heidel 0f0762a761 Merge branch 'myvideo_ge' of https://github.com/fonkap/youtube-dl into fonkap-myvideo_ge 4 years ago
Tom-Oliver Heidel 4d0d5e37f9
Merge pull request #69 from blackjack4494/viki-subtitles_and_more
[Viki] subtitles, formats
4 years ago
Tom-Oliver Heidel d153de9d10 Merge branch 'rai-update' of https://github.com/iamleot/youtube-dl into iamleot-rai-update 4 years ago
Tom-Oliver Heidel e61b2178eb Merge branch 'JensTimmerman-patch-1' of https://github.com/JensTimmerman/youtube-dl into JensTimmerman-JensTimmerman-patch-1 4 years ago
Unknown 39e7107d7f Merge branch 'ytdl-org-master' 4 years ago
Tom-Oliver Heidel 448f4b70c6 Merge branch 'fix/google-drive-cookie-issue' of https://github.com/legraphista/youtube-dl into legraphista-fix/google-drive-cookie-issue 4 years ago