Commit graph

354 commits

Author SHA1 Message Date
pukkandan 29f7c58aaf Update to ytdl-2021.01.03 2021-01-05 00:02:27 +05:30
pukkandan 6623ac349b Added negative switches for many existing options
* The idea is that it should be possible to negate any boolean option by adding a `no-` to the switch

New: `--no-ignore-dynamic-mpd`, `--no-allow-dynamic-mpd`, `--allow-dynamic-mpd`, `--youtube-include-hls-manifest`, `--no-youtube-include-hls-manifest`, `--no-youtube-skip-hls-manifest`, `--no-download`, `--no-download-archive`, `--resize-buffer`, `--part`, `--mtime`, `--no-keep-fragments`, `--no-cookies`, `--no-write-annotations`, `--no-write-info-json`, `--no-write-description`, `--no-write-thumbnail`, `--youtube-include-dash-manifest`, `--post-overwrites`, `--no-keep-video`, `--no-embed-subs`, `--no-embed-thumbnail`, `--no-add-metadata`, `--no-include-ads`, `--no-write-sub`, `--no-write-auto-sub`, `--no-playlist-reverse`, `--no-restrict-filenames`, `--youtube-include-dash-manifest`, `--no-format-sort-force`, `--flat-videos`, `--no-list-formats-as-table`, `--no-sponskrub`, `--no-sponskrub-cut`, `--no-sponskrub-force`

Renamed: `--write-subs`, --no-write-subs`, `--no-write-auto-subs, `--write-auto-subs`. Note that these can still be used without the ending "s"
2021-01-04 23:15:15 +05:30
pukkandan a9e7f54670 Sponskrub integration 2021-01-04 23:13:27 +05:30
pukkandan 76d321f68f Option to present -F output to a more tabular form 2021-01-04 23:03:04 +05:30
pukkandan 2d30509fc8 Add --force-download-archive by by h-h-h-h
Authored-by: h-h-h-h
2020-12-13 20:05:04 +05:30
pukkandan 732044afb2 Add --write-*-link by h-h-h-h
Authored-by: h-h-h-h
2020-12-13 20:05:04 +05:30
pukkandan e51f368c27 Fix for embedding thumbnail in mp3 by pauldubois98
Authored-by: Paul Dubois <pauldubois98@gmail.com>
2020-12-13 20:05:03 +05:30
pukkandan f96bff99cb Relaxed validation for format filters so that any arbitrary field can be used 2020-12-13 20:05:03 +05:30
pukkandan 3f6eaea676 Make Twitch Video ID output from Playlist and VOD extractor same.
Is this sufficient for all cases?
2020-12-13 20:05:03 +05:30
pukkandan 909d24dd6d Better Format Selection
* Added options: --video-multistreams, --no-video-multistreams, --audio-multistreams, --no-audio-multistreams
* New format selectors: best*, worst*, bestvideo*, bestaudio*, worstvideo*, worstaudio*
* Added b,w,v,a as alias for best, worst, video and audio respectively in format selection
* Changed video format sorting to show video only files and video+audio files together.
2020-12-13 20:05:03 +05:30
pukkandan eb8a44336c Better Format Sorting (Squashed)
* Added --format-sort (-S height,filesize)
* Made fields reversible (-S +height)
* Added --format-sort-force, --no-format-sort-force
* Added limit (-S height:720)
* Added codec preference (-S vcodec,acodec)
* Correct handling of preference<-1000

* Rebased to yt-dlc
* Automatically determine missing bitrates
* aext, vext, protocol, acodec, vcodec can now takes priority as string, not number (-S vext:webm)
* Correct handling of None in codec, audio_codec (None means the codec is unknown while 'none' means it doesn't exist)
* Correctly parse filesize (-S filesize:200M)
* Generalized preference calculation

* Rewrote entire code into the class FormatSort
* Correctly handle user input errors
* Combined fields (-S +ext:webm:webm)
* Closest mode (-S filesize~50M)
* Aliases (framerate=fps, br=bitrate etc)

* Documentation
2020-12-13 20:05:02 +05:30
Kyu Yeun Kim 3d54ebd427 [vlive] add support for playlists 2020-12-04 23:24:23 +09:00
Tom-Oliver Heidel 98e248faa4
Merge pull request #106 from diegorodriguezv/fix-tmz
[TMZ] Fix TMZ.com extractor
2020-12-02 01:46:46 +01:00
Unknown 40ec740f7b [yt] temporary fix for automatic captions - disable json3 2020-12-02 01:44:14 +01:00
nixxo 4f618e64f5 [skyit] removed old skyitalia extractor 2020-12-01 12:10:50 +01:00
Remita Amine 12300fa45a [skyit] add support for multiple Sky Italia websites(closes #26629) 2020-12-01 12:09:45 +01:00
Tom-Oliver Heidel b662fc8d20
Merge branch 'master' into gedi 2020-11-30 02:51:41 +01:00
Tom-Oliver Heidel 929576bb9e
Merge pull request #126 from nao20010128nao/master
[instagram] Fix extractor
2020-11-30 02:50:39 +01:00
Tom-Oliver Heidel 7dde463e86
Merge pull request #144 from nixxo/rcs
[Rcs] Add new extractor
2020-11-30 02:48:29 +01:00
Tom-Oliver Heidel e29288d667
Merge pull request #140 from WolfganP/patch-1
ITV BTCC new pages' URL update (articles instead of races)
2020-11-30 02:48:02 +01:00
Tom-Oliver Heidel 9e4043faa9
Merge branch 'master' into rcs 2020-11-30 02:46:10 +01:00
Tom-Oliver Heidel e8dfaa0fd7
Merge pull request #208 from colethedj/ytsearchfix
[youtube] fix: ytsearch not returning results sometimes due to promoted content
2020-11-30 02:34:28 +01:00
Tom-Oliver Heidel 6a03f4f2a8
Merge pull request #261 from B0pol/ina
[ina] support mobile links
2020-11-30 02:30:43 +01:00
Tom-Oliver Heidel 6248b34ad2
Merge pull request #207 from pukkandan/thumbnail-rename
[ffmpeg] Fix for os.rename error when embedding thumbnail to video in a different drive on windows
2020-11-30 02:30:20 +01:00
Tom-Oliver Heidel 8e423ae86a
Merge pull request #224 from kyuyeunk/vlive
[Vlive] Fix playlist handling when downloading a channel
2020-11-30 02:26:35 +01:00
Tom-Oliver Heidel 284ec6f48a
Merge pull request #246 from pukkandan/bitchute-embed
Detect embedded bitchute videos
2020-11-30 02:25:38 +01:00
Tom-Oliver Heidel bccdb02e93
Merge pull request #205 from pukkandan/ffmpeg-use-map
[ffmpeg] Ensure all streams are copied
2020-11-30 02:24:39 +01:00
Tom-Oliver Heidel ef5a4db06c
Merge pull request #245 from pukkandan/merge-main
Merge youtube-dl and fix Youtube Feeds
2020-11-30 02:20:18 +01:00
siikamiika ae6e4e25aa make sure playerOffsetMs is positive 2020-11-28 02:19:38 +02:00
bopol 9b664dc420 [ina] support mobile links 2020-11-27 23:54:21 +01:00
Tom-Oliver Heidel 93201d50aa
Merge pull request #213 from lorpus/master
[bitwave.tv] new extractor
2020-11-27 16:42:12 +01:00
lorpus ae7c01431d [bitwave.tv] add test 2020-11-27 00:23:13 -05:00
pukkandan c78b936af4 bug fix 2020-11-27 01:16:02 +05:30
pukkandan 2fa90513e5 flake8 2020-11-27 00:41:52 +05:30
pukkandan f0c532a430 Fix some improper Youtube URLs
Eg: https://www.youtube.com/watch?list=UUXIkr0SRTnZO4_QpZozvCCA
2020-11-27 00:27:53 +05:30
pukkandan a62cf34298 [spreaker] fix SpreakerShowIE test URL 2020-11-26 23:40:40 +05:30
pukkandan 38d7028407 Updated to release 2020.11.26 2020-11-26 22:57:34 +05:30
pukkandan 02ced43cbf Print youtube's warning message (Closes #256) 2020-11-25 19:14:49 +05:30
pukkandan 3d3dddc948 Update youtube extractor to 2020.11.24 2020-11-24 03:48:17 +05:30
pukkandan 70d5c17b08 Minor changes to make it easier to merge 2020-11-24 03:48:17 +05:30
pukkandan 70c5802b5d Update to release 2020.11.24 except youtube and skyit extractors 2020-11-24 02:33:08 +05:30
pukkandan a93f71ee5e Minor fixes 2020-11-23 23:48:39 +05:30
xypwn f8fb3b8a78
[SouthparkDe] Support for English URLs
Allow downloading English South Park episodes from the southpark.de
2020-11-23 16:49:39 +01:00
pukkandan 036fcf3aa1 Redirect channel home to /video 2020-11-23 01:56:08 +05:30
pukkandan 434406a982 Cleanup YoutubeTabIE _VALID_URL regex 2020-11-23 01:55:14 +05:30
pukkandan 386e1dd908 Better implementation of YoutubeSearchURLIE 2020-11-22 18:39:09 +05:30
pukkandan 7bd4a9b611 Added RDMM back
Eg: https://www.youtube.com/watch?v=MuAGGZNfUkU&list=RDMM
2020-11-22 15:50:16 +05:30
pukkandan ef2f3c7f58 Minor fixes 2020-11-22 15:45:33 +05:30
pukkandan a0566bbf5c Updated to release 2020.11.21.1 2020-11-22 03:51:26 +05:30
pukkandan 3462ffa892 Implemented all Youtube Feeds (ytfav, ytwatchlater, ytsubs, ythistory, ytrec) and SearchURL 2020-11-22 03:51:09 +05:30
pukkandan d3260f40cb Revert changes to vlive 2020-11-22 03:46:54 +05:30
pukkandan 097f1663a9 Detect embedded bitchute videos 2020-11-20 14:26:24 +05:30
pukkandan 8bdd16b499 Merge 'ytdl-org/youtube-dl/master' release 2020.11.19
Old Extractors left behind:
	VLivePlaylistIE
	YoutubeSearchURLIE
	YoutubeShowIE
	YoutubeFavouritesIE

If removing old extractors, make corresponding changes in
	docs/supportedsites.md
	youtube_dlc/extractor/extractors.py

Not merged:
	.github/ISSUE_TEMPLATE/1_broken_site.md
	.github/ISSUE_TEMPLATE/2_site_support_request.md
	.github/ISSUE_TEMPLATE/3_site_feature_request.md
	.github/ISSUE_TEMPLATE/4_bug_report.md
	.github/ISSUE_TEMPLATE/5_feature_request.md
	test/test_all_urls.py
	youtube_dlc/version.py
	Changelog
2020-11-20 13:03:32 +05:30
Diego Fernando Rodríguez Varón d71eb83b05 Extract embedded youtube and twitter videos 2020-11-19 23:51:43 -05:00
Tom-Oliver Heidel 228385340e
Merge pull request #187 from pukkandan/break-on-existing
Stop download after encountering video in archive
2020-11-16 23:00:44 +01:00
Kyu Yeun Kim d02f12107f [Vlive] Fix playlist handling when downloading a channel 2020-11-16 22:03:48 +09:00
lorpus d9c2b0a6de [bitwave.tv] fix build 2020-11-14 20:18:30 -05:00
lorpus 2b547dd782 [bitwave.tv] new extractor 2020-11-14 19:55:50 -05:00
pukkandan ec57f903c9 Don't try to delete file if it doesn't exist 2020-11-15 04:19:22 +05:30
Matthew 9da76d30de code consistency 2020-11-15 09:34:59 +13:00
pukkandan 958804ad4e Ensure all streams are copied when using ffmpeg 2020-11-15 01:47:26 +05:30
pukkandan 55faba7ed7 Fix for os.rename error when embedding thumbnail to video in a different drive 2020-11-15 01:46:52 +05:30
Matthew 0366ae8756 Fix search to not depend on index position for videoRenderer and token items. 2020-11-15 09:03:40 +13:00
Diego Fernando Rodríguez Varón a2044d57ca Merge branch 'master' of https://github.com/blackjack4494/yt-dlc into fix-tmz 2020-11-14 09:40:51 -05:00
pukkandan ea6e0c2b0d Add --break-on-existing by @gergesh
Authored-by: Yoav Shai <gergesh@gmail.com>
2020-11-13 14:19:00 +05:30
pukkandan fe5caa2a7c Handle IndexError 2020-11-13 03:05:29 +05:30
pukkandan 9a68de1217 Pre-check video IDs in the archive before downloading 2020-11-13 02:44:47 +05:30
Unknown 5e6cdcecdd flake8 yt py2 fix 2020-11-11 15:15:24 +01:00
Tom-Oliver Heidel c297a6c661
[skip travis] 2020-11-11 15:08:12 +01:00
Unknown 6bd79800c3 [youtube] python2 fix #168
proposed fix by awei78
2020-11-11 15:05:18 +01:00
nao20010128nao a1d6041497 [instagram] fix thumbnail URL extraction 2020-11-11 08:59:09 +00:00
Tom-Oliver Heidel b28e751688
[skip travis] 2020-11-11 00:40:43 +01:00
Tom-Oliver Heidel 7ee5015a34
Merge pull request #149 from RobinD42/fix-subtitle-fallback
fall-back to the old way to fetch subtitles, if needed
2020-11-11 00:08:18 +01:00
Tom-Oliver Heidel 00c38ef28d
Merge pull request #151 from wlritchi/youtube-playlist-polymer
RFC: youtube: Polymer UI and JSON endpoints for playlists
2020-11-11 00:05:27 +01:00
Tom-Oliver Heidel 34861f1c96
Merge pull request #137 from nsapa/fix_subtitle
Fix issue triggered by tubeup
2020-11-11 00:02:09 +01:00
Unknown 104bfdd24d ytsearchurl 5 pages for around 100 results 2020-11-11 00:00:27 +01:00
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.
2020-11-10 17:49:43 -05:00
Tom-Oliver Heidel d91fdaff03
Merge pull request #79 from rigstot/thisvid
implement ThisVid extractor
2020-11-10 23:34:16 +01:00
Tom-Oliver Heidel c54f4aada5
Merge branch 'master' into youtube-playlist-polymer 2020-11-10 23:27:55 +01:00
Unknown 0f8566e90b manually set limit for youtubesearchurl 2020-11-10 23:20:52 +01:00
Tom-Oliver Heidel 0e0cffb8fe
Merge pull request #147 from ZenulAbidin/master
Fix #93 YoutubePlaylistsIE
2020-11-10 22:58:42 +01:00
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.
2020-11-10 22:44:53 +01:00
Tom-Oliver Heidel 69e3c6df5c
Merge pull request #159 from pukkandan/no-http-header
Fix external downloader when there is no http_header
2020-11-10 19:13:47 +01:00
pukkandan 002ea8fe17 Fix external downloader when there is no http_header 2020-11-10 23:25:55 +05:30
Roman Karwacik 8f109ad4ad
[zoom] Fix url parsing for url's containing /share/ and dots 2020-11-10 10:39:57 +01:00
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.
2020-11-10 03:38:26 -05:00
Robin Dunn 142f2c8e99 fall-back to the old way to fetch subtitles, if needed 2020-11-09 15:24:42 -08:00
Ali Sherief 876f1c17ff
Fix #93 YoutubePlaylistsIE 2020-11-09 16:06:48 +00:00
nixxo 5867a16789 [rcs] fixed embeds detection, fixed tests 2020-11-09 10:59:25 +01:00
nixxo 8924ddc3ee [gedi] fixed Gedi regex 2020-11-09 10:07:52 +01:00
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