Commit Graph

745 Commits

Author SHA1 Message Date
pukkandan 819e05319b
Improved progress reporting (See desc) (#1125)
* Separate `--console-title` and `--no-progress`
* Add option `--progress` to show progress-bar even in quiet mode
* Fix and refactor `minicurses`
* Use `minicurses` for all progress reporting
* Standardize use of terminal sequences and enable color support for windows 10
* Add option `--progress-template` to customize progress-bar and console-title
* Add postprocessor hooks and progress reporting

Closes: #906, #901, #1085, #1170
2021-10-09 00:41:59 +05:30
pukkandan 49e7e9c3ce
[docs,build] Change all pycryptodome references to pycryptodomex 2021-10-06 06:45:45 +05:30
shirt f85e6be42e
[build] Use pycryptodomex for PyInstaller (#1179) 2021-10-05 13:37:58 -04:00
pukkandan e6f21b3d92
[docs,cleanup] Some minor refactoring and improve docs 2021-09-30 03:32:52 +05:30
pukkandan d710cc6d36
[docs] Add note about our custom ffmpeg builds 2021-09-30 03:32:49 +05:30
pukkandan 3ae5e79774
[postprocessor] Add plugin support
Adds option `--use-postprocessor` to enable them
2021-09-30 03:32:46 +05:30
pukkandan 80c03fa98f
Allow empty output template to skip a type of file
Closes #760, #1111
2021-09-30 03:32:43 +05:30
pukkandan 91dd88b90f
[outtmpl] Alternate form of format type `l` for `\n` delimited list 2021-09-27 11:29:16 +05:30
pukkandan 524e2e4fda
[outtmpl] Format type `U` for unicode normalization 2021-09-26 01:41:01 +05:30
pukkandan 0ef787d773 Release 2021.09.25 2021-09-25 06:28:05 +05:30
pukkandan b19404591a
Separate the options `--ignore-errors` and `--no-abort-on-error`
In youtube-dl, `-i` ignores both download and post-processing error, and
treats the download as successful even if the post-processor fails.

yt-dlp used to skip the entire video on either error and there was no
option to ignore the post-processing errors like youtube-dl does.

By splitting the option into two, now either just the download errors
(--no-abort-on-error, default on CLI) or all errors (--ignore-errors)
can be ignored as per the users' needs

Closes #893
2021-09-24 06:05:35 +05:30
pukkandan d806c9fd97
[docs,cleanup] Add deprecation warning in docs
for some counter intuitive behaviour that may be removed in future.

and fix linter
2021-09-22 05:50:11 +05:30
pukkandan 7c37ff97d3
Allow alternate fields in outtmpl
Closes #899, #1004
2021-09-18 16:41:01 +05:30
pukkandan f5aa5cfbff
Add format type `B` for outtmpl to treat the value as bytes
This is useful to limit the filename to a certain number of bytes rather than characters
Closes #1003
2021-09-18 00:11:11 +05:30
pukkandan 0001fcb586
Add option `--netrc-location`
Closes #792, #963
2021-09-16 01:28:55 +05:30
pukkandan c589c1d395
[compat] Don't ignore `HOME` (if set) on windows
Related: #792
2021-09-16 01:28:54 +05:30
coletdjnz b6de707d13
[youtube] Improvements to JS player extraction (See desc) (#860)
* fallback player url extraction when it fails to be extracted from the webpage
* don't download js player unnecessarily for clients that don't require it
* try to extract js player url from any additional client configs
* ability to skip the js player usage/download using `player_skip=js`
* ability to skip the initial webpage download using `player_skip=webpage`

known issue:
* authentication for multi-channel accounts and multi-account cookies may not work correctly if the webpage or client configs are skipped
*  formats from the web client requiring signature decryption will be skipped if player js extraction is skipped

Authored by: coletdjnz
2021-09-06 12:56:41 +05:30
pukkandan 526d74ec5a
[cleanup] Misc 2021-09-05 11:16:23 +05:30
pukkandan 9ee4f0bb5b
Release 2021.09.02 2021-09-02 04:43:38 +05:30
Nil Admirari 7a340e0df3
Native SponsorBlock implementation and related improvements (#360)
SponsorBlock options:
* The fetched sponsor sections are written to infojson
* `--sponsorblock-remove` removes specified chapters from file
* `--sponsorblock-mark` marks the specified sponsor sections as chapters
* `--sponsorblock-chapter-title` to specify sponsor chapter template
* `--sponsorblock-api` to use a different API

Related improvements:
* Split `--embed-chapters` from `--embed-metadata`
* Add `--remove-chapters` to remove arbitrary chapters
* Add `--force-keyframes-at-cuts` for more accurate cuts when removing and splitting chapters

Deprecates all `--sponskrub` options

Authored by: nihil-admirari, pukkandan
2021-09-02 02:25:16 +05:30
The Hatsune Daishi b8773e63f0
[build] Add homebrew taps (#827)
https://github.com/yt-dlp/homebrew-taps
Closes: #754, #770
Authored by: nao20010128nao
2021-08-30 20:07:43 +05:30
pukkandan 2e7781a93c
[docs] Fix some typos
Closes #677, #774
2021-08-28 02:20:40 +05:30
pukkandan 198e3a04c9
[FormatSort] Remove priority of `lang` 2021-08-26 08:08:33 +05:30
coletdjnz 0bb1bc1b10
[youtube] Remove annotations and deprecate `--write-annotations` (#765)
Closes #692 
Authored by: coletdjnz
2021-08-24 09:22:40 +05:30
pukkandan 330690a214
[downloader/ffmpeg] Allow passing custom arguments before -i
Closes #686
2021-08-24 04:24:12 +05:30
pukkandan 88acdbc269
[extractor] Better error message for DRM (#729)
Closes #636
2021-08-23 01:38:38 +05:30
pukkandan 8f18aca871
Let `--match-filter` reject entries early
Makes redundant: `--match-title`, `--reject-title`, `--min-views`, `--max-views`
2021-08-17 04:29:56 +05:30
zootedb0t 7581d2467a
[docs] fix typo (#715)
Authored by: zootedb0t
2021-08-16 21:59:40 +05:30
pukkandan 31654882e9
[options] Add `_set_from_options_callback` 2021-08-15 00:26:34 +05:30
pukkandan 418964fa91
Release 2021.08.10 2021-08-10 20:10:39 +05:30
pukkandan e9f4ccd19e
Add option `--replace-in-metadata` 2021-08-10 01:22:55 +05:30
pukkandan 3448870205
[docs] Fix some mistakes and improve doc 2021-08-07 21:41:48 +05:30
pukkandan 2b8a2973bd Allow entire infodict to be printed using `%()s`
Makes `--dump-json` redundant
2021-08-07 21:17:04 +05:30
pukkandan b7b04c782e Add option `--no-simulate` to not simulate even when `--print` or `--list...` are used
* Deprecates `--print-json`
* Some listings like `--list-extractors` are handled by `yt_dlp` and so are not affected by this. These have been documented as such

Addresses: https://github.com/ytdl-org/youtube-dl/issues/29675, https://github.com/ytdl-org/youtube-dl/issues/29580#issuecomment-882046305
2021-08-07 21:17:03 +05:30
pukkandan 57015a4a3f
[youtube] extractor-arg to show live dash formats
If replay is enabled, these formats can be used to download the last 4 hours
2021-08-07 12:47:54 +05:30
pukkandan b51d2ae3ca
Add compat-option `no-keep-subs`
Closes #630
2021-08-06 00:55:04 +05:30
pukkandan a047eeb6d2
Add regex to `--match-filter`
This does not fully deprecate `--match-title`/`--reject-title`
since `--match-filter` is only checked after the extraction is complete,
while `--match-title` can often be checked from the flat playlist.

Fixes: https://github.com/ytdl-org/youtube-dl/issues/9092, https://github.com/ytdl-org/youtube-dl/issues/23035
2021-08-05 04:10:26 +05:30
Max Teegen 77b87f0519 Add all format filtering operators also to `--match-filter`
PR: https://github.com/ytdl-org/youtube-dl/pull/27361

Authored by: max-te
2021-08-05 03:37:20 +05:30
MinePlayersPE 3dbb2a9dcb
[RCTIPlus] Support events and TV (#625)
Authored by: MinePlayersPE
2021-08-04 18:42:15 +05:30
The Hatsune Daishi 9997eee4af
[openrec] Add extractors (#624)
Authored by: nao20010128nao
2021-08-04 14:44:37 +05:30
pukkandan c31be5b009
[docs] Document which fields `--add-metadata` adds to the file
:ci skip all
2021-08-03 01:34:28 +05:30
pukkandan e980017ac8
[doc] Fix banner URL 2021-08-02 10:45:02 +05:30
pukkandan 6ccf351a87
Release 2021.08.02 2021-08-02 10:37:10 +05:30
pukkandan 28dff70b51
Add donate links 2021-08-02 08:51:23 +05:30
pukkandan 1aebc0f79e
Add logo and banner 2021-08-02 08:51:22 +05:30
David e7e94f2a5c
[youtube] Add age-gate bypass for unverified accounts (#600)
Adds `_creator` variants for each client

Authored by: zerodytrash, colethedj, pukkandan
2021-08-02 02:43:46 +05:30
pukkandan e4f0275711
Add compat-option `no-clean-infojson` 2021-08-01 12:13:40 +05:30
pukkandan 7d1eb38af1
Add format types `j`, `l`, `q` for outtmpl
Closes #345
2021-07-29 08:47:25 +05:30
MinePlayersPE c0bc527bca
[YouTube] Age-gate bypass implementation (#575)
* Calling the API with `clientScreen=EMBED` allows access to most age-gated videos - discovered by @ccdffddfddfdsfedeee (https://github.com/yt-dlp/yt-dlp/issues/574#issuecomment-887171136)
* Adds clients: (web/android/ios)_(embedded/agegate), mweb_embedded
* Renamed mobile_web to mweb

Closes #574

Authored by pukkandan, MinePlayersPE
2021-07-27 15:10:44 +05:30
coletdjnz 5a1fc62b41
[youtube] Add `mobile_web` client (#557)
Authored by: colethedj
2021-07-26 03:48:36 +05:30
pukkandan b4c055bac2
[youtube] Add `player_client=all` 2021-07-26 03:38:18 +05:30
pukkandan f703a88055
Release 2021.07.24 2021-07-24 07:03:14 +05:30
pukkandan 060ac76257
[test] Use `pytest` instead of `nosetests` (#482)
`nosetests` is no longer being maintained : https://github.com/nose-devs/nose/issues/1099
and will stop working in py 3.10 as can be seen in #480
2021-07-23 20:18:15 +05:30
pukkandan 245524e6a3
Release 2021.07.21
and fix some typos
Closes #538
2021-07-22 02:33:28 +05:30
Matt Broadway 982ee69a74
Add option `--cookies-from-browser` to load cookies from a browser (#488)
* also adds `--no-cookies-from-browser`

Original PR: https://github.com/ytdl-org/youtube-dl/pull/29201
Authored by: mbway
2021-07-22 02:02:49 +05:30
pukkandan ae30b84072
Add field `live_status` 2021-07-21 20:50:58 +05:30
pukkandan 11f9be0912
[youtube] Extract data from multiple clients (#536)
* `player_client` accepts multiple clients
* default `player_client` = `android,web`
* music clients can be specifically requested
* Add IOS `player_client`
* Hide live dash since they can't be downloaded

Closes #501

Authored-by: pukkandan, colethedj
2021-07-21 09:22:34 +05:30
pukkandan 0ba692acc8
[youtube] Extract more thumbnails
* The thumbnail URLs are hard-coded and their actual existence is tested lazily
* Added option `--no-check-formats` to not test them

Closes #340, Related: #402, #337, https://github.com/ytdl-org/youtube-dl/issues/29049
2021-07-20 02:42:11 +05:30
pukkandan dce8743677
[docs] fix default of multistreams 2021-07-19 23:47:57 +05:30
pukkandan 5520aa2dc9
Add option `--exec-before-download`
Closes #530
2021-07-19 23:47:45 +05:30
coletdjnz 2d6659b9ea
[youtube:comments] Move comment extraction to new API (#466)
Closes #438, #481, #485 

Authored by: colethedj
2021-07-12 04:48:40 +05:30
zackmark29 73d829c144
[VIKI] Rewrite extractors (#475)
Closes #462
Also added extractor-arg `video_types` to `vikichannel`

Co-authored-by: zackmark29, pukkandan
2021-07-10 02:08:09 +05:30
pukkandan a8bf9b4dc1
Release 2021.07.07 2021-07-07 05:35:20 +05:30
pukkandan 3acf6d3856
[Funimation] Rewrite extractor (See desc) (#444)
* Support direct `/player/` URL
* Treat the different versions of an episode as different formats of a single video. So `experience_id` can no longer be used as the video `id` and the `episode_id` is used instead. This means that all existing archives will break
* Extractor options `language` and `version` to pre-select them
* Compat option `seperate-video-versions` to fall back to old behavior (including using the old video IDs)

Closes #428
2021-07-07 02:51:29 +05:30
pukkandan bc97cdae67
[cleanup] Fix linter and some typos
Related: https://github.com/ytdl-org/youtube-dl/pull/29398
2021-07-04 03:04:25 +05:30
coletdjnz 109dd3b237
[youtube] Use new API for additional video extraction requests (#328)
Co-authored-by: colethedj, pukkandan
Closes https://github.com/yt-dlp/yt-dlp/issues/427
Workarounds for https://github.com/ytdl-org/youtube-dl/issues/29326, https://github.com/yt-dlp/yt-dlp/issues/319, https://github.com/ytdl-org/youtube-dl/issues/29086
2021-06-29 22:07:49 +00:00
pukkandan 5d3a0e794b
Add `--extractor-args` to pass extractor-specific arguments 2021-06-25 20:10:28 +05:30
pukkandan 6aecd87106
Release 2021.06.23 2021-06-23 07:34:55 +05:30
pukkandan e36d50c5dd
[websockets] Add `WebSocketFragmentFD` (#399)
Necessary for #392

Co-authored by: nao20010128nao, pukkandan
2021-06-21 22:56:36 +05:30
pukkandan e858a9d6d3
[EmbedThumbnail] Add compat-option `embed-thumbnail-atomicparsley`
to force use of atomicparsley for embedding thumbnails in mp4

Related: #411
2021-06-16 22:33:32 +05:30
pukkandan 3b1fe47d84
Release 2021.06.08 2021-06-08 20:13:41 +05:30
pukkandan bd99f6e648
Add field `original_url` with the user-inputted URL
So that they can be processed by `--parse-metadata` for example

`webpage_url` is the same, but may be modified by the extractor
2021-06-08 00:20:06 +05:30
pukkandan cf59cd4dcd
[docs] Improve documentation of dependencies
Related: #348
2021-06-08 00:16:44 +05:30
pukkandan 3de7c2ce9a
Release 2021.06.01 2021-06-01 20:29:03 +05:30
pukkandan 18e674b4f6
[ffmpeg] Download and merge in a single step if possible 2021-05-23 03:53:18 +05:30
louie-github a927acb1ec
[ThumbnailsConvertor] Support conversion to `png` and make it the default (#333)
PNG, being a lossless format, should be a better default here compared to JPG since we won't be compressing to a lossy format and losing some of the original image data
PNG is also supported for embedding in all the formats similar to JPEG

Authored by: louie-github
2021-05-21 23:39:48 +05:30
pukkandan 09f1580e2d
[youtube] `/live` URLs should raise error if channel is not live
Fixes: https://github.com/ytdl-org/youtube-dl/issues/29090
2021-05-21 20:05:54 +05:30
pukkandan 0fdf490d33
Release 2021.05.20 2021-05-20 21:13:19 +05:30
pukkandan 28b0eb0f65
[cleanup] See desc
* Remove struct from `embedthumbnail`
* Use bullet lists in readme where numbered list don't make sense
* Fix error introduced in 9c2b75b561 when `ie_result` is `None`
2021-05-20 18:02:58 +05:30
pukkandan 2305e2e5c9
[options] Alias `--write-comments`, `--no-write-comments`
Closes: #264
2021-05-20 15:56:57 +05:30
pukkandan 9c2b75b561
Field `additional_urls` to download additional videos from metadata 2021-05-19 18:11:15 +05:30
pukkandan 07cce701de
[cleanup] linter, code formatting and readme 2021-05-19 16:48:20 +05:30
pukkandan 5112f26a60
Add `pl_thumbnail` outtmpl key for playlist thumbnails
This should have been implemented in 681de68e9d, but I forgot
2021-05-18 17:12:20 +05:30
pukkandan a06916d98e
[extractor] Add `write_debug` and `get_param` 2021-05-17 18:59:51 +05:30
pukkandan 53c18592d3
Add option `--print`
Deprecates: `--get-description`, `--get-duration`, `--get-filename`, `--get-format`, `--get-id`, `--get-thumbnail`, `--get-title`, `--get-url`
Closes #295
2021-05-14 13:15:47 +05:30
pukkandan 4171221823
Add compat-option `no-attach-infojson` 2021-05-11 14:25:31 +05:30
pukkandan fac988053f
Release 2021.05.11
* and some documentation improvements
2021-05-11 13:35:05 +05:30
pukkandan 53ed7066ab
Option `--compat-options` to revert some of yt-dlp's changes
* Deprecates `--list-formats-as-table`, `--list-formats-old`
2021-05-11 13:30:48 +05:30
pukkandan a61f4b287b
Deprecate support for python versions < 3.6
Closes #267
2021-05-09 04:32:23 +05:30
pukkandan 486fb17975
Remove `-l`, `-t`, `-A` completely and disable `--auto-number`, `--title`, `--literal`, `--id` 2021-05-09 04:22:29 +05:30
pukkandan e8e738406a
Add experimental option `--check-formats` to test the URLs before format selection 2021-05-06 20:50:44 +05:30
pukkandan e625be0d10
Improve output template internal formatting
* Allow slicing lists/strings using `field.start🔚step`
* A field can also be used as offset like `field1+num+field2`
* A default value can be given using `field|default`
* Capture all format strings and set it to `None` if invalid. This prevents invalid fields from causing errors
2021-05-06 20:28:58 +05:30
pukkandan 0cf0571560
Release 2021.04.22 2021-04-22 16:58:28 +05:30
pukkandan e58c22a0f6
[documentation] Fix typos 2021-04-22 16:54:44 +05:30
pukkandan f4536226c1
[documentation] Clarify which deprecated options still work 2021-04-22 04:19:33 +05:30
pukkandan a439a3a45c
Improve output template (see desc)
* Objects can be traversed like `%(field.key1.key2)s`
* A number can be added to the field as `%(field+n)s`
* Deprecates `--autonumber-start`
2021-04-22 04:19:33 +05:30
pukkandan 26e2805c3f
Add option `--skip-playlist-after-errors`
Allows to skip the rest of a playlist after a given number of errors are encountered
2021-04-22 02:16:31 +05:30
pukkandan c32b0aab8a
Improve --sub-langs (see desc)
* Treat `--sub-langs` entries as regex
* `all` can be used to refer to all the subtitles
* the language code can be prefixed with `-` to exclude it
* Deprecates `--all-subs`
Closes #253
2021-04-20 02:58:03 +05:30
pukkandan a7191c6f57
Fix some linter and typos 2021-04-16 05:31:47 +05:30
pukkandan a0f30f194a
Release 2021.04.11 2021-04-12 03:20:07 +05:30