Commit graph

364 commits

Author SHA1 Message Date
nixxo 595188ec71 [gedi] fixed Embeds tests, again 2020-11-09 09:57:15 +01:00
nixxo 6c1c3e5b85 [gedi] fixed Embeds test 2020-11-09 09:28:50 +01:00
nixxo 902784a2a9 [gedi] added huffingtonpost, added embeds 2020-11-09 09:16:37 +01:00
Diego Fernando Rodríguez Varón fff5071112 [TMZ] Add support for new page structure using JSON-LD 2020-11-08 15:36:41 -05:00
WolfganP 85da4055c0
ITV BTCC new pages' URL update, fix on items count
Fixed playlist_count as the variable was renamed
2020-11-08 19:35:54 +00:00
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/)
2020-11-08 14:07:12 +00:00
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
GreyAlien502 61e76c1e5f
simplify second page fetch
Co-authored-by: Merval <merval@users.noreply.github.com>
2020-10-27 02:20:18 +00: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
GreyAlien502 7bbc0bbce0 fix tiktok download 2020-10-26 12:38:25 +00: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
Tom-Oliver Heidel 3796554609
Merge pull request #102 from blackjack4494/gdcvault-fix
[gdcvault] fix extractor
2020-09-13 15:22:33 +02:00
Unknown 4b819d1454 flake8 2020-09-13 15:21:59 +02:00
Unknown 10bbf2c48d [skip travis] bump version 2020-09-13 15:16:38 +02:00
Tom-Oliver Heidel acd0a71894
Merge pull request #96 from blackjack4494/kakao-new-apis
[kakao] new apis
2020-09-13 12:47:12 +02:00
Tom-Oliver Heidel d8edca1e56
Merge pull request #95 from blackjack4494/daserste-ndr
[ndr] support Daserste ndr
2020-09-13 12:36:17 +02:00
Unknown 4cd3053c4f [kakao] new apis
there are also ageLimit and GeoBlock attributes provided by api_json if needed
2020-09-13 12:31:36 +02:00
Unknown f791b41970 flake8 2020-09-13 11:08:02 +02:00
Unknown 57df9f53e0 [youtube] convert subtitles with --skip-download 2020-09-13 11:03:48 +02:00
Unknown 84da5d84b0 add json3 back but don't use it as default. 2020-09-13 11:02:07 +02:00
Unknown fc0999c695 exclude json3 for now 2020-09-13 09:22:24 +02:00
Unknown d23f9ec7eb [gdcvault] fix extractor
at least when not logged in?
2020-09-13 01:04:02 +02:00
felix de7c27cd25 [dispeak] mark the "slides" stream as video-only 2020-09-12 13:41:23 +02:00
Unknown ac4df0908a [skip travis] bump version 2020-09-12 06:17:02 +02:00
Tom-Oliver Heidel 6cef08ad00 Merge branch 'tiktok' of https://github.com/skyme5/youtube-dl into skyme5-tiktok 2020-09-12 05:49:52 +02:00
Tom-Oliver Heidel df38b4a1a9 Merge branch 'pr/duboku' of https://github.com/lkho/youtube-dl into lkho-pr/duboku 2020-09-12 05:47:27 +02:00
Tom-Oliver Heidel ca640230de Merge branch 'alura' of https://github.com/hugohaa/youtube-dl into hugohaa-alura 2020-09-12 05:38:44 +02:00
Tom-Oliver Heidel 310f762636 Merge branch '26564' of https://github.com/adrianheine/youtube-dl into adrianheine-26564 2020-09-12 05:37:08 +02:00
Tom-Oliver Heidel 23306df2d8 Merge branch 'master' of https://github.com/ddland/youtube-dl into ddland-master 2020-09-12 05:34:59 +02:00
Tom-Oliver Heidel bb1d0b26ed Merge branch 'patch-2' of https://github.com/nixxo/youtube-dl into nixxo-patch-2 2020-09-12 05:33:16 +02:00
Unknown 55e106d1b0 Merge remote-tracking branch 'origin/master' 2020-09-12 05:22:29 +02:00
Tom-Oliver Heidel 0f0762a761 Merge branch 'myvideo_ge' of https://github.com/fonkap/youtube-dl into fonkap-myvideo_ge 2020-09-12 05:22:08 +02:00
Tom-Oliver Heidel 4d0d5e37f9
Merge pull request #69 from blackjack4494/viki-subtitles_and_more
[Viki] subtitles, formats
2020-09-12 05:21:46 +02:00
Tom-Oliver Heidel d153de9d10 Merge branch 'rai-update' of https://github.com/iamleot/youtube-dl into iamleot-rai-update 2020-09-12 05:12:19 +02:00
Tom-Oliver Heidel e61b2178eb Merge branch 'JensTimmerman-patch-1' of https://github.com/JensTimmerman/youtube-dl into JensTimmerman-JensTimmerman-patch-1 2020-09-12 05:10:55 +02:00
Unknown 39e7107d7f Merge branch 'ytdl-org-master' 2020-09-12 05:08:57 +02:00
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 2020-09-12 05:02:08 +02:00
Unknown 4ae68091bb [soundcloud] flake8 2020-09-12 01:17:16 +02:00
Unknown 921dc153f3 [ndr-daserste] flake8 2020-09-12 01:12:39 +02:00
Unknown dc9d8f44d6 [daserste-ndr] dirty workaround
what a mess..
2020-09-11 03:20:44 +02:00
Unknown 169bd46bdc [viki] subtitles, formats 2020-09-09 21:20:13 +02:00
Unknown 389709160c [soundcloud] playlist limit per page according to official docs
https://github.com/ytdl-org/youtube-dl/pull/26557
2020-09-09 18:24:20 +02:00
Tom-Oliver Heidel cb2ea2d5ef Merge branch 'rutv' of https://github.com/adrianheine/youtube-dl into adrianheine-rutv 2020-09-08 18:58:19 +02:00
Tom-Oliver Heidel 10a4858d8f Merge branch 'magenta' of https://github.com/adrianheine/youtube-dl into adrianheine-magenta 2020-09-08 18:49:11 +02:00
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 2020-09-08 18:31:53 +02:00
Unknown 2045de7c32 [skip travis] bump version 2020-09-06 07:36:49 +02:00
Tom-Oliver Heidel 65f5a72266 Merge branch 'ondemandkorea' of https://github.com/julien-hadleyjack/youtube-dl into julien-hadleyjack-ondemandkorea 2020-09-06 04:02:43 +02:00
Unknown bc842c27a7 flake8 fix + soundcloud tests 2020-09-06 02:57:08 +02:00
Tom-Oliver Heidel 3c0c0b428d Merge branch 'mkvthumbnail' of https://github.com/MrDoritos/youtube-dl into MrDoritos-mkvthumbnail 2020-09-06 02:43:37 +02:00
Tom-Oliver Heidel a74727e93c Merge branch 'abc' of https://github.com/adrianheine/youtube-dl into adrianheine-abc 2020-09-06 02:39:04 +02:00
Unknown b54d0e702a Merge remote-tracking branch 'origin/master' 2020-09-06 02:37:51 +02:00
Tom-Oliver Heidel 9aa79d6460 Merge branch 'master' of https://github.com/zubearc/youtube-dl into zubearc 2020-09-06 01:52:20 +02:00
NotFound 7078ec64b3 [hotstar] Move to API v1 2020-09-06 03:04:08 +05:30