Commit graph

306 commits

Author SHA1 Message Date
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'
2020-11-08 08:49:03 +01:00
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'
2020-11-08 08:36:26 +01:00
The Hatsune Daishi
987d2e079a
[instagram] Fix extractor 2020-11-06 15:15:07 +09:00
nixxo
8abd647c59 [mailru] removed escaped braces, use urljoin, added tests 2020-11-05 20:52:28 +01:00
Tom-Oliver Heidel
adb118da26
Merge pull request #118 from insaneracist/youtube-music-playlist
[youtube] fix: Youtube Music playlists
2020-11-05 17:28:15 +01:00
Tom-Oliver Heidel
06a8be981b
Merge pull request #117 from nixxo/la7-proto-fix
[la7] fix missing protocol
2020-11-05 17:25:58 +01:00
Tom-Oliver Heidel
f406ab6a14
Merge pull request #112 from insaneracist/youtube-mix-fix
[youtube] fix: mix playlist title
2020-11-05 17:25:27 +01:00
Tom-Oliver Heidel
206de9b233
Merge pull request #101 from exwm/vlive-fix
[vlive] fix extractor for revamped website
2020-11-05 17:20:44 +01:00
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
2020-11-04 21:51:52 +01:00
Tom-Oliver Heidel
f8ddb38977
Merge pull request #108 from insaneracist/ytdl-pr/24751-zoomus
[zoom] new extractor
2020-11-04 21:21:10 +01:00
pukkandan
503d4a44f6 Don't try to embed/convert json subtitles generated by youtube livechat 2020-11-05 01:47:52 +05:30
insaneracist
366a7a4753 [zoom] rename extractor from zoomus 2020-11-04 12:13:51 -08:00
insaneracist
7f4f0b21c2 [youtube] added Youtube Music channel info 2020-11-04 12:07:14 -08:00
insaneracist
659ddd7f70 [youtube] fix: Youtube Music playlists 2020-11-04 10:06:53 -08:00
nixxo
ab36800b1f [la7] fix missing protocol 2020-11-04 18:14:02 +01:00
exwm
9c8bc84fd2 [vlive] add: improved video extractor errors 2020-11-03 21:30:01 -05:00
exwm
c434e9f504 [vlive] fix: missing expected types for try_get 2020-11-03 21:05:19 -05:00
exwm
be5d6c213c [vlive] refactor: delete dead function code 2020-11-03 20:59:23 -05:00
insaneracist
15f6397c19 [youtube] get mix playlist title from ytInitialData 2020-11-03 07:15:16 -08:00
Tom-Oliver Heidel
7166f47b18
Merge pull request #57 from insaneracist/youtube-mix-fix
[youtube] fix: extract mix playlist ids from ytInitialData (#33)
2020-11-03 10:33:58 +01:00
Tom-Oliver Heidel
8934f61717
Merge pull request #68 from peet1993/master
[Youtube] Fixed problem with new youtube player
2020-11-03 10:27:13 +01:00
Tom-Oliver Heidel
4481cfb570
Merge pull request #82 from nixxo/skyitalia
[skyitalia] added geoblock msg
2020-11-03 10:01:37 +01:00
Roman Sebastian Karwacik
b11a88fc24 [zoomus] Adjusted url regex, now allowing for arbitrary long ids, dont throw warning if password field not found 2020-11-02 16:09:20 -08:00
Roman Sebastian Karwacik
aa13f124a5 [zoomus] Adjusted referer header, fixed formating for flake8 2020-11-02 16:09:20 -08:00
Roman Sebastian Karwacik
81acad1279 [zoomus] Added support for password protected videos 2020-11-02 16:09:20 -08:00
Roman Sebastian Karwacik
abd273e17b [zoomus] coding conventions 2020-11-02 16:09:19 -08:00
Roman Sebastian Karwacik
55cd2999ed [zoomus] Cleanup 2020-11-02 16:09:19 -08:00
Roman Sebastian Karwacik
ef6be42014 [zoomus] Allow for more urls 2020-11-02 16:09:19 -08:00
Roman Sebastian Karwacik
3f0852e35f [zoomus] Add new extractor 2020-11-02 16:09:16 -08:00
exwm
130599af94 [vlive] fix: raise login required error on vlive+ 2020-11-02 18:35:45 -05:00
exwm
73cc1b9125 [vlive] fix: live video extractor
* use live video info endpoint from v3 api
2020-11-02 18:35:45 -05:00
exwm
3417362556 [vlive] fix: vod logic wrongly used for live video 2020-11-02 18:35:45 -05:00
exwm
8ba3ad0a48 [vlive] fix: fetching live video not yet uploaded for replay 2020-11-02 18:35:44 -05:00
exwm
1923b146b3 [vlive] add: support new channel url format 2020-11-02 18:35:44 -05:00
exwm
5dcfd2508a [vlive] add: support video post urls 2020-11-02 18:35:44 -05:00
exwm
0536e60b48 [vlive] fix: extractor tests for VODs 2020-11-02 18:35:44 -05:00
insaneracist
5c15c1a0d7 python2: don't use str, use compat_str 2020-11-02 14:54:47 -08:00
Diego Fernando Rodríguez Varón
60351178a5 [TMZ] Fix TMZ.com extractor 2020-11-01 21:25:34 -05:00
Unknown
31108ce946 [core] sleep-subtitles fix 2020-11-01 03:36:16 +01:00
Unknown
ae306df7e0 [viki] new way of obtaining subtitles. 2020-11-01 03:01:10 +01:00
nixxo
e61f360157 [skyitalia] added geoblock msg 2020-10-31 14:52:07 +01:00
insaneracist
712799bd30 Merge branch 'master' into youtube-mix-fix 2020-10-31 02:40:11 -07:00
Unknown
7fb5f2f29d [skip travis] templates and urls 2020-10-31 09:26:04 +01:00
Tom-Oliver Heidel
200959ec76
Merge pull request #61 from merval/merval/comcast_sso_fix
Added Comcast_SSO fix
2020-10-31 09:15:15 +01:00
Tom-Oliver Heidel
4f51913680
Merge pull request #65 from TobiX/fix-netzkino
[Netzkino] Only use video id to find metadata
2020-10-31 09:14:16 +01:00
Tom-Oliver Heidel
b8c6e56725
Merge pull request #55 from insaneracist/youtube-music-metadata-fix
[youtube] fix: extract artist metadata from ytInitialData (#49)
2020-10-31 09:08:33 +01:00
Tom-Oliver Heidel
2c01ee48e0
Merge pull request #47 from insaneracist/newgrounds-fix
[newgrounds] fix: video download
2020-10-31 09:05:05 +01:00
Tom-Oliver Heidel
0ae154c4b4
Merge pull request #51 from B0pol/nitter
[nitter] Add new extractor
2020-10-31 09:03:17 +01:00
Tom-Oliver Heidel
e2d5e9a361
Merge pull request #30 from merval/merval/brightcove_drm
Added DRM logic to brightcove
2020-10-31 09:02:50 +01:00
Tom-Oliver Heidel
12ae240c36
Merge pull request #19 from nixxo/patch-1
[mtv] Fix a missing match_id
2020-10-31 09:02:06 +01:00
Tom-Oliver Heidel
76c2df5f0a
Merge pull request #40 from nixxo/skyitalia
[skyitalia] Add new extractor
2020-10-31 09:00:29 +01:00
Tom-Oliver Heidel
90c3f039e2
Merge pull request #45 from insaneracist/xtube-fix
[xtube] fix extractor (#17)
2020-10-31 08:58:51 +01:00
Unknown
fa57af1ef3 flake8. added sha256 check to updater. 2020-10-31 08:57:55 +01:00
Unknown
9f448fcb26 [core/yt_live_chat] live_chat is back. dl() new parameter 2020-10-31 05:46:51 +01:00
Peter Oettig
59c5fa91c1 Fixed problem with new youtube player, leading to "Unable to extract video data". 2020-10-31 00:33:26 +01:00
Tobias Gruetzmacher
7db1d2a69e Only use video id to find metadata 2020-10-30 21:29:21 +01:00
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.
2020-10-30 08:31:34 -07:00
insaneracist
5b0a6a8010 [youtube] fix: extract mix playlist ids from ytInitialData (#33) 2020-10-29 16:11:14 -07:00
insaneracist
9322f1162d [youtube] fix: extract artist metadata from ytInitialData (#49) 2020-10-29 14:37:06 -07:00
nixxo
920ad13673 [skyitalia] fixed coding conventions 2020-10-29 13:37:07 +01:00
nixxo
508649e6f5 [rcs] fixed coding conventions 2020-10-29 13:31:12 +01:00
bopol
bb8a73a0e2 [nitter] Add new extractor 2020-10-29 08:58:10 +01:00
Unknown
4932ba4aec [yt_live_chat] deactivate for now. 2020-10-29 02:57:43 +01:00
Unknown
0704d2224b [core] be able to hand over id and title using url_result 2020-10-29 01:56:55 +01:00
insaneracist
139e10ad98 [newgrounds] fix: video download 2020-10-28 16:55:47 -07:00
insaneracist
576d233fe6 [xtube] fix extractor (#17) 2020-10-28 13:48:55 -07:00
nixxo
a85e131b48 [rcs] Add new extractor 2020-10-28 20:32:28 +01:00
nixxo
165ce9f773 [gedi] removed unused tests, fixed extractor name 2020-10-28 20:04:00 +01:00
nixxo
81a20463a4 [skyitalia] moved token 2020-10-28 17:06:49 +01:00
nixxo
0b72c2bc31 [skyitalia] removed arbitrary parameter 2020-10-28 17:04:36 +01:00
nixxo
c3c18d7b8a [skyitalia] Add new extractor 2020-10-28 16:55:58 +01:00
insaneracist
ccec6955f3 [bandcamp] fix failing test. remove subclass hack 2020-10-28 08:12:58 -07:00
nixxo
6c6ee4905f [mtv] proposed fix 2020-10-28 13:48:22 +01:00
Tom-Oliver Heidel
1808b9e28c
Merge pull request #32 from amigatomte/patch-1
Update to reflect website changes.
2020-10-28 12:31:38 +01:00
Unknown
079a941282 [mtv] add match_id reminder 2020-10-28 12:25:49 +01:00
Unknown
3467b3e28f [skip travis][bandcamp] fix minor typo in tests 2020-10-28 12:18:04 +01:00
Tom-Oliver Heidel
565e61d488
Merge pull request #36 from insaneracist/bandcamp-fix
[bandcamp] restore album downloads
2020-10-28 12:15:29 +01:00
insaneracist
48aac9fc86 [bandcamp] restore album downloads
flake8 conform
2020-10-27 19:47:30 -07:00
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.
2020-10-27 20:39:49 +01:00
Unknown
6f8557ec4d [skip travis] add note to remove tvland. 2020-10-27 16:49:42 +01:00
amigatomte
fb9c36c45f
Update to reflect website changes. 2020-10-27 15:27:51 +01:00
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.
2020-10-27 06:33:47 -07:00
nixxo
d4ca287459 [gedi] fixed class name 2020-10-26 22:03:03 +01:00
nixxo
a916af123c [gedi] Add new extractor 2020-10-26 22:01:25 +01:00
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))
2020-10-26 13:36:29 +01:00
Unknown
8045ef7760 next release: 2020.10.26 2020-10-26 04:34:25 +01:00
Unknown
fb2c9277bc [youtube] ultimate age gate fix 2020-10-26 04:32:37 +01:00
Unknown
4f5a0ad822 [tiktok] fallback url + cookie 2020-10-26 02:15:46 +01:00
Dan Walker
1666c2709f Fixed tiktok.py
The JSON formatting of the response changed, corrected.

#TESTING
Successfully downloaded and played a tiktok video
2020-10-25 06:08:57 -07:00
Unknown
6011cf1650 pypi c'mon. 2020-10-24 07:23:22 +02:00
Unknown
3d83f4723e bump. 2020-10-24 07:03:53 +02:00
Unknown
6c894ea191 [youtube/ytsearch] fix yt search feed + version update. 2020-10-24 06:57:14 +02:00
Unknown
dd2d55f10d COMPLAINFREE 2020-10-24 05:09:22 +02:00
Unknown
3a6a581d94 Merge remote-tracking branch 'origin/master' 2020-10-23 16:53:59 +02:00
Unknown
07bafb4a90 [reddit] best format hotfix based on resolution. 2020-10-23 16:53:52 +02:00
Tom-Oliver Heidel
7eff09d332
Merge pull request #196 from blackjack4494/twitter_shortener
Twitter shortener
2020-10-18 07:43:42 +02:00
Unknown
957c523eea [youtube] cookie update reminder 2020-10-18 03:04:10 +02:00
Unknown
a537ab1a09 [twitter/t.co] update supportedsites, failover replace, tco:id feature 2020-10-18 02:14:13 +02:00
Unknown
9e20a9c447 [twitter/t.co] implemented. 2020-10-17 10:24:57 +02:00
Unknown
51707d9a7a [MTV/Nick] universal mgid extractor + fix nick.de feed 2020-10-17 08:26:39 +02:00
Unknown
f33b7b5eb4 [Twitter/t.co] showcase expanded how to use generic 2020-10-13 02:03:48 +02:00
Unknown
86b868c6a5 [Twitter/t.co] simple extractor added. modification needed. 2020-10-13 01:58:59 +02:00
Tom-Oliver Heidel
d8f97cc1d3
Merge pull request #188 from blackjack4494/SouthparkDE_MTV
[SouthparkDE/MTV] another mgid extraction (mtv_base) feed url updated
2020-10-13 01:03:29 +02:00
Tom-Oliver Heidel
573c752256 Merge branch 'la7-fix' of https://github.com/iamleot/youtube-dl into iamleot-la7-fix 2020-10-13 00:58:04 +02:00
Unknown
bc887cdd01 [SouthparkDE] regex and tests 2020-10-13 00:47:17 +02:00
Unknown
320724f964 [SouthparkDE/MTV] another mgid extraction (mtv_base) feed url updated 2020-10-12 23:46:02 +02:00
Tom-Oliver Heidel
60ecb525b2 Merge branch 'fixYTSearch' of https://github.com/xarantolus/youtube-dl into xarantolus-fixYTSearch 2020-10-09 08:19:38 +02:00
Tom-Oliver Heidel
cfd7f14bb3
Merge pull request #176 from blackjack4494/mtv_updated_extractor_logic
[Mtv] updated extractor logic & more
2020-10-09 08:01:31 +02:00
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
2020-10-09 07:57:39 +02:00
Unknown
cf7cb94287 [mtvn] update mtv network related extractors 2020-10-09 07:50:22 +02:00
Unknown
b6e0c7d2e3 [mtv] fix mtv.com and more(?) 2020-10-09 07:06:49 +02:00
Unknown
962cc3ef87 merge bandcamp 2020-10-07 05:42:38 +02:00
Unknown
b777004649 Merge branch 'ytdl-org-master' 2020-10-07 05:34:22 +02:00
Tom-Oliver Heidel
044ecf795d Merge branch 'feature_subscriber_count' of https://github.com/RedpointsBots/youtube-dl into RedpointsBots-feature_subscriber_count 2020-10-07 05:22:31 +02:00
Tom-Oliver Heidel
a87a873d24 Merge branch 'bugfix_youtube_like_extraction' of https://github.com/RedpointsBots/youtube-dl into RedpointsBots-bugfix_youtube_like_extraction 2020-10-07 05:13:25 +02:00
Unknown
c73baf23e0 fix to support python 2.6 2020-10-07 04:54:38 +02:00
Unknown
4bb9c8802e flake8 2020-10-07 04:31:23 +02:00
Unknown
9d9314cb66 [youtube] only playable on yt and age gated 2020-10-07 04:19:08 +02:00
Unknown
3d6a47d35f [skip travis] version 2020-09-30 07:11:49 +02:00
Unknown
bdc3fd2f35 [core] add option to trim file name length with integer
https://github.com/blackjack4494/youtube-dlc/issues/85
2020-09-30 05:50:09 +02:00
Unknown
6923b5381f [hotstar] several api changes and payloads/queries 2020-09-30 03:51:40 +02:00
Unknown
3a379e5e83 [Bandcamp] update - fix regexp for JSON matching 2020-09-29 05:54:36 +02:00
Unknown
0c9df79e17 [core] no sleep affected subtitles only with enforced flag 2020-09-29 05:11:32 +02:00
Unknown
88bdacf33c Merge remote-tracking branch 'origin/master' 2020-09-29 01:42:36 +02:00
Unknown
8219ef6427 [tiktok] add referer - required to download from cdn 2020-09-29 01:42:25 +02:00
stephen
61e4c6ed45 Added regex for ABC.com site. 2020-09-27 05:33:37 -05:00
Unknown
b33c48f269 [skip travis] version bump 2020-09-23 05:11:32 +02:00
Tom-Oliver Heidel
04b61c6572 Merge branch 'naver' of https://github.com/SeonjaeHyeon/youtube-dl into SeonjaeHyeon-naver 2020-09-23 04:01:51 +02:00
Unknown
915f2a92ac update workflow, semi fix integrated updater 2020-09-23 03:16:06 +02:00
Unknown
1b3f7c9a7e merge youtube-dl master 22.09.2020 2020-09-22 16:09:54 +02:00
Jody Bruchon
a45e861918 Switch from binary search tree to Python sets
Signed-off-by: Jody Bruchon <jody@jodybruchon.com>
2020-09-18 21:18:23 -04:00
Jody Bruchon
fd87f42378 Randomize the ArchiveTree the proper Python way
Signed-off-by: Jody Bruchon <jody@jodybruchon.com>
2020-09-18 14:22:42 -04:00
Jody Bruchon
2459b6e1cf Style revisions 2020-09-18 09:35:21 -04:00
Jody Bruchon
4f0150dcec Merge remote-tracking branch 'upstream/master' 2020-09-18 08:49:11 -04:00
Unknown
35d3b674c7 [hotstar] regex the second. 2020-09-18 14:15:34 +02:00
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>
2020-09-18 00:11:36 -04:00
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>
2020-09-17 21:45:40 -04:00
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.
2020-09-17 17:28:22 -04:00
Jody Bruchon
1de7ea76f8 Remove recursion in at_insert() 2020-09-17 15:08:33 -04:00
Jody Bruchon
a5029645ae Remove debugging print statements 2020-09-17 14:46:11 -04:00
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>
2020-09-17 14:22:07 -04:00
Unknown
7ac0ba50ce [hotstar] regex fix 2020-09-17 14:00:03 +02:00
Unknown
17cb02d0c6 bump version 2020.09.16 2020-09-16 13:55:35 +02:00
Unknown
78895bd3a1 [Core] hls manifests, dynamic mpd 2020-09-16 13:00:41 +02:00
Tom-Oliver Heidel
cd93279de8 Merge branch 'ext/remuxe-video' of https://github.com/Zocker1999NET/youtube-dl into Zocker1999NET-ext/remuxe-video 2020-09-16 10:30:38 +02:00
Tom-Oliver Heidel
c11c64f318 Merge branch 'elonet' of https://github.com/tpikonen/youtube-dl into tpikonen-elonet 2020-09-14 13:24:18 +02:00
Tom-Oliver Heidel
4c7d0c13e1 Merge branch 'fix-mitele' of https://github.com/DjMoren/youtube-dl 2020-09-14 13:22:50 +02:00
Tom-Oliver Heidel
acdb1a4ec6 Merge branch 'arbitrary-merges' of https://github.com/fstirlitz/youtube-dlc 2020-09-14 13:04:24 +02:00
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.
2020-09-14 12:53:09 +02:00
Unknown
e69dd78090 merge ytdl-master 2020-09-14 12:50:56 +02:00