Commit Graph

484 Commits (c4218ac3f1146daac20308439cdc374e3561101a)

Author SHA1 Message Date
nao20010128nao a1d6041497 [instagram] fix thumbnail URL extraction 4 years ago
Tom-Oliver Heidel b28e751688
[skip travis] 4 years ago
Tom-Oliver Heidel 7ee5015a34
Merge pull request #149 from RobinD42/fix-subtitle-fallback
fall-back to the old way to fetch subtitles, if needed
4 years ago
Tom-Oliver Heidel 00c38ef28d
Merge pull request #151 from wlritchi/youtube-playlist-polymer
RFC: youtube: Polymer UI and JSON endpoints for playlists
4 years ago
Tom-Oliver Heidel 34861f1c96
Merge pull request #137 from nsapa/fix_subtitle
Fix issue triggered by tubeup
4 years ago
Unknown 104bfdd24d ytsearchurl 5 pages for around 100 results 4 years ago
Luc Ritchie 73ac856785 [youtube] max_pages=5 for search, unlimited for everything else
Also drop a few leftover methods in search that are no longer used.
4 years ago
Tom-Oliver Heidel d91fdaff03
Merge pull request #79 from rigstot/thisvid
implement ThisVid extractor
4 years ago
Tom-Oliver Heidel c54f4aada5
Merge branch 'master' into youtube-playlist-polymer 4 years ago
Unknown 0f8566e90b manually set limit for youtubesearchurl 4 years ago
Tom-Oliver Heidel 0e0cffb8fe
Merge pull request #147 from ZenulAbidin/master
Fix #93 YoutubePlaylistsIE
4 years ago
rigstot d7aec208f2 implement ThisVid extractor
deobfuscates the video URL using a reverse engineered version of KVS
player's algorithm. This was tested against version 4.0.4, 5.0.1,
5.1.1.4 and 5.2.0.4 of the player and a warning will be issued if the
major version changes.
4 years ago
Tom-Oliver Heidel 69e3c6df5c
Merge pull request #159 from pukkandan/no-http-header
Fix external downloader when there is no http_header
4 years ago
pukkandan 002ea8fe17 Fix external downloader when there is no http_header 4 years ago
Roman Karwacik 8f109ad4ad
[zoom] Fix url parsing for url's containing /share/ and dots 4 years ago
Luc Ritchie 9833e7a015 fix: youtube: Polymer UI and JSON endpoints for playlists
We already had a few copies of Polymer-style pagination handling logic
for certain circumstances, but now we're forced into using it for all
playlists since we can no longer disable Polymer. Refactor the logic to
move it to the parent class for all entry lists (including e.g. search
results, feeds, and list of playlists), and generify a bit to cover the
child classes' use cases.
4 years ago
Robin Dunn 142f2c8e99 fall-back to the old way to fetch subtitles, if needed 4 years ago
Ali Sherief 876f1c17ff
Fix #93 YoutubePlaylistsIE 4 years ago
nixxo 5867a16789 [rcs] fixed embeds detection, fixed tests 4 years ago
nixxo 8924ddc3ee [gedi] fixed Gedi regex 4 years ago
nixxo 595188ec71 [gedi] fixed Embeds tests, again 4 years ago
nixxo 6c1c3e5b85 [gedi] fixed Embeds test 4 years ago
nixxo 902784a2a9 [gedi] added huffingtonpost, added embeds 4 years ago
Diego Fernando Rodríguez Varón fff5071112 [TMZ] Add support for new page structure using JSON-LD 4 years ago
WolfganP 85da4055c0
ITV BTCC new pages' URL update, fix on items count
Fixed playlist_count as the variable was renamed
4 years ago
WolfganP 6857df609b
ITV BTCC new pages' URL update (articles instead of races)
Not my changes, but from @franhp that didn't get merged on yt-dl on time
It supports BTCC new pages' schema from 2019 an on (/articles/ instead of /races/)
4 years ago
Nicolas SAPA 8263104fe4 [youtube] Fix 'liveChatReplayContinuationData' missing 'continuation' key
live_chat_continuation['continuations'][0]['liveChatReplayContinuationData']['continuation'] can not exist.
So catch the KeyError.

Traceback:
$ tubeup 'https://youtube.com/watch?v=JyE9OF03cao'
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dlc version 2020.10.25
[debug] Python version 3.7.3 (CPython) - Linux-5.8.0-0.bpo.2-amd64-x86_64-with-debian-10.6
[debug] exe versions: ffmpeg 3.3.9, ffprobe 3.3.9
[debug] Proxy map: {}
There are no annotations to write.
[download] 452.59KiB at 615.35KiB/s (00:01)ERROR: 'liveChatReplayContinuationData'
Traceback (most recent call last):
  File "/mnt/data2/Backup/Wiki/.local/lib/python3.7/site-packages/youtube_dlc/YoutubeDL.py", line 846, in extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/mnt/data2/Backup/Wiki/.local/lib/python3.7/site-packages/youtube_dlc/YoutubeDL.py", line 901, in process_ie_result
    return self.process_video_result(ie_result, download=download)
  File "/mnt/data2/Backup/Wiki/.local/lib/python3.7/site-packages/youtube_dlc/YoutubeDL.py", line 1696, in process_video_result
    self.process_info(new_info)
  File "/mnt/data2/Backup/Wiki/.local/lib/python3.7/site-packages/youtube_dlc/YoutubeDL.py", line 1894, in process_info
    dl(sub_filename, sub_info, subtitle=True)
  File "/mnt/data2/Backup/Wiki/.local/lib/python3.7/site-packages/youtube_dlc/YoutubeDL.py", line 1866, in dl
    return fd.download(name, info, subtitle)
  File "/mnt/data2/Backup/Wiki/.local/lib/python3.7/site-packages/youtube_dlc/downloader/common.py", line 375, in download
    return self.real_download(filename, info_dict)
  File "/mnt/data2/Backup/Wiki/.local/lib/python3.7/site-packages/youtube_dlc/downloader/youtube_live_chat.py", line 85, in real_download
    continuation_id = live_chat_continuation['continuations'][0]['liveChatReplayContinuationData']['continuation']
KeyError: 'liveChatReplayContinuationData'
4 years ago
Nicolas SAPA b860e4cc2f [common] Make sure self.params.get('sleep_interval_subtitles') is int
This can happen if another software is using yt-dlc'API (ie: tubeup).
The stack trace would be:
$ tubeup 'https://youtube.com/watch?v=JyE9OF03cao'
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dlc version 2020.10.25
[debug] Python version 3.7.3 (CPython) - Linux-5.8.0-0.bpo.2-amd64-x86_64-with-debian-10.6
[debug] exe versions: ffmpeg 3.3.9, ffprobe 3.3.9
[debug] Proxy map: {}
There are no annotations to write.
ERROR: '>' not supported between instances of 'NoneType' and 'int'
Traceback (most recent call last):
  File "/mnt/data2/Backup/Wiki/.local/lib/python3.7/site-packages/youtube_dlc/YoutubeDL.py", line 846, in extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/mnt/data2/Backup/Wiki/.local/lib/python3.7/site-packages/youtube_dlc/YoutubeDL.py", line 901, in process_ie_result
    return self.process_video_result(ie_result, download=download)
  File "/mnt/data2/Backup/Wiki/.local/lib/python3.7/site-packages/youtube_dlc/YoutubeDL.py", line 1696, in process_video_result
    self.process_info(new_info)
  File "/mnt/data2/Backup/Wiki/.local/lib/python3.7/site-packages/youtube_dlc/YoutubeDL.py", line 1894, in process_info
    dl(sub_filename, sub_info, subtitle=True)
  File "/mnt/data2/Backup/Wiki/.local/lib/python3.7/site-packages/youtube_dlc/YoutubeDL.py", line 1866, in dl
    return fd.download(name, info, subtitle)
  File "/mnt/data2/Backup/Wiki/.local/lib/python3.7/site-packages/youtube_dlc/downloader/common.py", line 367, in download
    if self.params.get('sleep_interval_subtitles') > 0:
TypeError: '>' not supported between instances of 'NoneType' and 'int'
4 years ago
The Hatsune Daishi 987d2e079a
[instagram] Fix extractor 4 years ago
nixxo 8abd647c59 [mailru] removed escaped braces, use urljoin, added tests 4 years ago
Tom-Oliver Heidel adb118da26
Merge pull request #118 from insaneracist/youtube-music-playlist
[youtube] fix: Youtube Music playlists
4 years ago
Tom-Oliver Heidel 06a8be981b
Merge pull request #117 from nixxo/la7-proto-fix
[la7] fix missing protocol
4 years ago
Tom-Oliver Heidel f406ab6a14
Merge pull request #112 from insaneracist/youtube-mix-fix
[youtube] fix: mix playlist title
4 years ago
Tom-Oliver Heidel 206de9b233
Merge pull request #101 from exwm/vlive-fix
[vlive] fix extractor for revamped website
4 years ago
Tom-Oliver Heidel 123049d1ce
Merge pull request #120 from pukkandan/no-embed-livechat
Don't try to embed/convert json subtitles generated by youtube livechat
4 years ago
Tom-Oliver Heidel f8ddb38977
Merge pull request #108 from insaneracist/ytdl-pr/24751-zoomus
[zoom] new extractor
4 years ago
pukkandan 503d4a44f6 Don't try to embed/convert json subtitles generated by youtube livechat 4 years ago
insaneracist 366a7a4753 [zoom] rename extractor from zoomus 4 years ago
insaneracist 7f4f0b21c2 [youtube] added Youtube Music channel info 4 years ago
insaneracist 659ddd7f70 [youtube] fix: Youtube Music playlists 4 years ago
nixxo ab36800b1f [la7] fix missing protocol 4 years ago
exwm 9c8bc84fd2 [vlive] add: improved video extractor errors 4 years ago
exwm c434e9f504 [vlive] fix: missing expected types for try_get 4 years ago
exwm be5d6c213c [vlive] refactor: delete dead function code 4 years ago
insaneracist 15f6397c19 [youtube] get mix playlist title from ytInitialData 4 years ago
Tom-Oliver Heidel 7166f47b18
Merge pull request #57 from insaneracist/youtube-mix-fix
[youtube] fix: extract mix playlist ids from ytInitialData (#33)
4 years ago
Tom-Oliver Heidel 8934f61717
Merge pull request #68 from peet1993/master
[Youtube] Fixed problem with new youtube player
4 years ago
Tom-Oliver Heidel 4481cfb570
Merge pull request #82 from nixxo/skyitalia
[skyitalia] added geoblock msg
4 years ago
Roman Sebastian Karwacik b11a88fc24 [zoomus] Adjusted url regex, now allowing for arbitrary long ids, dont throw warning if password field not found 4 years ago
Roman Sebastian Karwacik aa13f124a5 [zoomus] Adjusted referer header, fixed formating for flake8 4 years ago
Roman Sebastian Karwacik 81acad1279 [zoomus] Added support for password protected videos 4 years ago
Roman Sebastian Karwacik abd273e17b [zoomus] coding conventions 4 years ago
Roman Sebastian Karwacik 55cd2999ed [zoomus] Cleanup 4 years ago
Roman Sebastian Karwacik ef6be42014 [zoomus] Allow for more urls 4 years ago
Roman Sebastian Karwacik 3f0852e35f [zoomus] Add new extractor 4 years ago
exwm 130599af94 [vlive] fix: raise login required error on vlive+ 4 years ago
exwm 73cc1b9125 [vlive] fix: live video extractor
* use live video info endpoint from v3 api
4 years ago
exwm 3417362556 [vlive] fix: vod logic wrongly used for live video 4 years ago
exwm 8ba3ad0a48 [vlive] fix: fetching live video not yet uploaded for replay 4 years ago
exwm 1923b146b3 [vlive] add: support new channel url format 4 years ago
exwm 5dcfd2508a [vlive] add: support video post urls 4 years ago
exwm 0536e60b48 [vlive] fix: extractor tests for VODs 4 years ago
insaneracist 5c15c1a0d7 python2: don't use str, use compat_str 4 years ago
Diego Fernando Rodríguez Varón 60351178a5 [TMZ] Fix TMZ.com extractor 4 years ago
Unknown 31108ce946 [core] sleep-subtitles fix 4 years ago
Unknown ae306df7e0 [viki] new way of obtaining subtitles. 4 years ago
nixxo e61f360157 [skyitalia] added geoblock msg 4 years ago
insaneracist 712799bd30 Merge branch 'master' into youtube-mix-fix 4 years ago
Unknown 7fb5f2f29d [skip travis] templates and urls 4 years ago
Tom-Oliver Heidel 200959ec76
Merge pull request #61 from merval/merval/comcast_sso_fix
Added Comcast_SSO fix
4 years ago
Tom-Oliver Heidel 4f51913680
Merge pull request #65 from TobiX/fix-netzkino
[Netzkino] Only use video id to find metadata
4 years ago
Tom-Oliver Heidel b8c6e56725
Merge pull request #55 from insaneracist/youtube-music-metadata-fix
[youtube] fix: extract artist metadata from ytInitialData (#49)
4 years ago
Tom-Oliver Heidel 2c01ee48e0
Merge pull request #47 from insaneracist/newgrounds-fix
[newgrounds] fix: video download
4 years ago
Tom-Oliver Heidel 0ae154c4b4
Merge pull request #51 from B0pol/nitter
[nitter] Add new extractor
4 years ago
Tom-Oliver Heidel e2d5e9a361
Merge pull request #30 from merval/merval/brightcove_drm
Added DRM logic to brightcove
4 years ago
Tom-Oliver Heidel 12ae240c36
Merge pull request #19 from nixxo/patch-1
[mtv] Fix a missing match_id
4 years ago
Tom-Oliver Heidel 76c2df5f0a
Merge pull request #40 from nixxo/skyitalia
[skyitalia] Add new extractor
4 years ago
Tom-Oliver Heidel 90c3f039e2
Merge pull request #45 from insaneracist/xtube-fix
[xtube] fix extractor (#17)
4 years ago
Unknown fa57af1ef3 flake8. added sha256 check to updater. 4 years ago
Unknown 9f448fcb26 [core/yt_live_chat] live_chat is back. dl() new parameter 4 years ago
Peter Oettig 59c5fa91c1 Fixed problem with new youtube player, leading to "Unable to extract video data". 4 years ago
Tobias Gruetzmacher 7db1d2a69e Only use video id to find metadata 4 years ago
Dan Walker 3086aa194f Added Comcast_SSO fix
This fix had been proposed on yt-dl for a lengthy period of time but was never merged. It has been thoroughly tested but a large section of the community.
4 years ago
insaneracist 5b0a6a8010 [youtube] fix: extract mix playlist ids from ytInitialData (#33) 4 years ago
insaneracist 9322f1162d [youtube] fix: extract artist metadata from ytInitialData (#49) 4 years ago
nixxo 920ad13673 [skyitalia] fixed coding conventions 4 years ago
nixxo 508649e6f5 [rcs] fixed coding conventions 4 years ago
bopol bb8a73a0e2 [nitter] Add new extractor 4 years ago
Unknown 4932ba4aec [yt_live_chat] deactivate for now. 4 years ago
Unknown 0704d2224b [core] be able to hand over id and title using url_result 4 years ago
insaneracist 139e10ad98 [newgrounds] fix: video download 4 years ago
insaneracist 576d233fe6 [xtube] fix extractor (#17) 4 years ago
nixxo a85e131b48 [rcs] Add new extractor 4 years ago
nixxo 165ce9f773 [gedi] removed unused tests, fixed extractor name 4 years ago
nixxo 81a20463a4 [skyitalia] moved token 4 years ago
nixxo 0b72c2bc31 [skyitalia] removed arbitrary parameter 4 years ago
nixxo c3c18d7b8a [skyitalia] Add new extractor 4 years ago
insaneracist ccec6955f3 [bandcamp] fix failing test. remove subclass hack 4 years ago
nixxo 6c6ee4905f [mtv] proposed fix 4 years ago
Tom-Oliver Heidel 1808b9e28c
Merge pull request #32 from amigatomte/patch-1
Update to reflect website changes.
4 years ago
Unknown 079a941282 [mtv] add match_id reminder 4 years ago
Unknown 3467b3e28f [skip travis][bandcamp] fix minor typo in tests 4 years ago
Tom-Oliver Heidel 565e61d488
Merge pull request #36 from insaneracist/bandcamp-fix
[bandcamp] restore album downloads
4 years ago
insaneracist 48aac9fc86 [bandcamp] restore album downloads
flake8 conform
4 years ago
Peter Oettig 67b19799a5 Fixed problem with JS player URL
The JS player URL could not be found anymore, possibly because of a change on Youtubes side.
4 years ago
Unknown 6f8557ec4d [skip travis] add note to remove tvland. 4 years ago
amigatomte fb9c36c45f
Update to reflect website changes. 4 years ago
Dan Walker 87ab4fb11a Added DRM logic
In the event when there are no available sources due to DRM controlled sources, return a DRM error and don't proceed with trying.

#28 reports that an ExtractorError "No video formats found". Which is true, because the formats list is empty, however it's empty because they are all locked. This provides a more informative message to the end-user.

# TESTING
Tried the URL provided in #28 and confirmed a DRM messages is returned.
4 years ago
GreyAlien502 61e76c1e5f
simplify second page fetch
Co-authored-by: Merval <merval@users.noreply.github.com>
4 years ago
nixxo d4ca287459 [gedi] fixed class name 4 years ago
nixxo a916af123c [gedi] Add new extractor 4 years ago
GreyAlien502 7bbc0bbce0 fix tiktok download 4 years ago
nixxo 5fec75c81c
[mtv] Fix a missing match_id
Fix a problem introduced in 320724f964 where is extracted the ID from the url with self._match_id but the problem is that ID is not always present in the url passed so the title should be extracted as proposed by the fix (and like is done in _real_extract (see line 337))
4 years ago
Unknown 8045ef7760 next release: 2020.10.26 4 years ago
Unknown fb2c9277bc [youtube] ultimate age gate fix 4 years ago
Unknown 4f5a0ad822 [tiktok] fallback url + cookie 4 years ago
Dan Walker 1666c2709f Fixed tiktok.py
The JSON formatting of the response changed, corrected.

#TESTING
Successfully downloaded and played a tiktok video
4 years ago
Unknown 6011cf1650 pypi c'mon. 4 years ago
Unknown 3d83f4723e bump. 4 years ago
Unknown 6c894ea191 [youtube/ytsearch] fix yt search feed + version update. 4 years ago
Unknown dd2d55f10d COMPLAINFREE 4 years ago
Unknown 3a6a581d94 Merge remote-tracking branch 'origin/master' 4 years ago
Unknown 07bafb4a90 [reddit] best format hotfix based on resolution. 4 years ago
Tom-Oliver Heidel 7eff09d332
Merge pull request #196 from blackjack4494/twitter_shortener
Twitter shortener
4 years ago
Unknown 957c523eea [youtube] cookie update reminder 4 years ago
Unknown a537ab1a09 [twitter/t.co] update supportedsites, failover replace, tco:id feature 4 years ago
Unknown 9e20a9c447 [twitter/t.co] implemented. 4 years ago
Unknown 51707d9a7a [MTV/Nick] universal mgid extractor + fix nick.de feed 4 years ago
Unknown f33b7b5eb4 [Twitter/t.co] showcase expanded how to use generic 4 years ago
Unknown 86b868c6a5 [Twitter/t.co] simple extractor added. modification needed. 4 years ago
Tom-Oliver Heidel d8f97cc1d3
Merge pull request #188 from blackjack4494/SouthparkDE_MTV
[SouthparkDE/MTV] another mgid extraction (mtv_base) feed url updated
4 years ago
Tom-Oliver Heidel 573c752256 Merge branch 'la7-fix' of https://github.com/iamleot/youtube-dl into iamleot-la7-fix 4 years ago
Unknown bc887cdd01 [SouthparkDE] regex and tests 4 years ago
Unknown 320724f964 [SouthparkDE/MTV] another mgid extraction (mtv_base) feed url updated 4 years ago
Tom-Oliver Heidel 60ecb525b2 Merge branch 'fixYTSearch' of https://github.com/xarantolus/youtube-dl into xarantolus-fixYTSearch 4 years ago
Tom-Oliver Heidel cfd7f14bb3
Merge pull request #176 from blackjack4494/mtv_updated_extractor_logic
[Mtv] updated extractor logic & more
4 years ago
Tom-Oliver Heidel b492464bf1
Merge pull request #171 from blackjack4494/yt_only_age_gate
[youtube] fix yt-only playback when age restricted/gated - requires cookies
4 years ago
Unknown cf7cb94287 [mtvn] update mtv network related extractors 4 years ago
Unknown b6e0c7d2e3 [mtv] fix mtv.com and more(?) 4 years ago
Unknown 962cc3ef87 merge bandcamp 4 years ago
Unknown b777004649 Merge branch 'ytdl-org-master' 4 years ago
Tom-Oliver Heidel 044ecf795d Merge branch 'feature_subscriber_count' of https://github.com/RedpointsBots/youtube-dl into RedpointsBots-feature_subscriber_count 4 years ago
Tom-Oliver Heidel a87a873d24 Merge branch 'bugfix_youtube_like_extraction' of https://github.com/RedpointsBots/youtube-dl into RedpointsBots-bugfix_youtube_like_extraction 4 years ago
Unknown c73baf23e0 fix to support python 2.6 4 years ago
Unknown 4bb9c8802e flake8 4 years ago
Unknown 9d9314cb66 [youtube] only playable on yt and age gated 4 years ago
Unknown 3d6a47d35f [skip travis] version 4 years ago
Unknown bdc3fd2f35 [core] add option to trim file name length with integer
https://github.com/blackjack4494/youtube-dlc/issues/85
4 years ago
Unknown 6923b5381f [hotstar] several api changes and payloads/queries 4 years ago
Unknown 3a379e5e83 [Bandcamp] update - fix regexp for JSON matching 4 years ago
Unknown 0c9df79e17 [core] no sleep affected subtitles only with enforced flag 4 years ago
Unknown 88bdacf33c Merge remote-tracking branch 'origin/master' 4 years ago
Unknown 8219ef6427 [tiktok] add referer - required to download from cdn 4 years ago
stephen 61e4c6ed45 Added regex for ABC.com site. 4 years ago
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
Unknown 4ae68091bb [soundcloud] flake8 4 years ago
Unknown 921dc153f3 [ndr-daserste] flake8 4 years ago
Unknown dc9d8f44d6 [daserste-ndr] dirty workaround
what a mess..
4 years ago
Unknown 169bd46bdc [viki] subtitles, formats 4 years ago
Unknown 389709160c [soundcloud] playlist limit per page according to official docs
https://github.com/ytdl-org/youtube-dl/pull/26557
4 years ago
Tom-Oliver Heidel cb2ea2d5ef Merge branch 'rutv' of https://github.com/adrianheine/youtube-dl into adrianheine-rutv 4 years ago
Tom-Oliver Heidel 10a4858d8f Merge branch 'magenta' of https://github.com/adrianheine/youtube-dl into adrianheine-magenta 4 years ago
Tom-Oliver Heidel baf36445c1 Merge branch 'ard.py_add_playlist_support' of https://github.com/martin54/youtube-dl into martin54-ard.py_add_playlist_support 4 years ago
Unknown 2045de7c32 [skip travis] bump version 4 years ago
Tom-Oliver Heidel 65f5a72266 Merge branch 'ondemandkorea' of https://github.com/julien-hadleyjack/youtube-dl into julien-hadleyjack-ondemandkorea 4 years ago
Unknown bc842c27a7 flake8 fix + soundcloud tests 4 years ago
Tom-Oliver Heidel 3c0c0b428d Merge branch 'mkvthumbnail' of https://github.com/MrDoritos/youtube-dl into MrDoritos-mkvthumbnail 4 years ago
Tom-Oliver Heidel a74727e93c Merge branch 'abc' of https://github.com/adrianheine/youtube-dl into adrianheine-abc 4 years ago
Unknown b54d0e702a Merge remote-tracking branch 'origin/master' 4 years ago
Tom-Oliver Heidel 9aa79d6460 Merge branch 'master' of https://github.com/zubearc/youtube-dl into zubearc 4 years ago
NotFound 7078ec64b3 [hotstar] Move to API v1 4 years ago
Tom-Oliver Heidel 51f8793699 Merge branch 'deezer' of https://github.com/LucBerge/youtube-dl into LucBerge-deezer 4 years ago
Tom-Oliver Heidel 47b9774231 Merge branch 'wdr-subtitles' of https://github.com/mrtnmtth/youtube-dl into mrtnmtth-wdr-subtitles 4 years ago
Unknown 906f980a75 [soundcloud] sets pattern and tests
include tests (weekly + charts)
weekly with login worked before. but now also public weekly will work. charts and similar patterned sets as well
4 years ago
Tom-Oliver Heidel e908c55c9f Merge branch 'tvnow' of https://github.com/TinyToweringTree/youtube-dl into TinyToweringTree-tvnow 4 years ago
Unknown 633c2852fb [skip travis] twitch release. 4 years ago
Tom-Oliver Heidel dac4ecf592 Merge branch 'twitch-fix' of https://github.com/lel-amri/youtube-dl into lel-amri-twitch-fix 4 years ago
Unknown 92dcea3d94 [skip travis] versioning in pypi is fun.. 4 years ago
Unknown c8ba06b7b6 bumping version 4 years ago
Tom-Oliver Heidel 22f9b078fd Merge branch 'master' of https://github.com/ssaqua/youtube-dl into ssaqua-master 4 years ago
Unknown 3ca3f77f9c [skip travis] adding automerge support
basically copying content of youtube_dl folder to youtube_dlc and excluding the youtube_dl folder when compiling
4 years ago
Unknown 8c5fee2ea5 fix merge. 4 years ago
Unknown 3867038a06 renaming issues resolved 4 years ago
Unknown 66f4ffbbad [skip travis] update version to dev 4 years ago
Unknown cefecac12c [skip travis] renaming
to avoid using same folder when using pip install for example
4 years ago