Commit Graph

861 Commits (b85703d11a150967b9430f38ac938c7f41a4ad76)

Author SHA1 Message Date
krichbanana 64f36541c9
[youtube:tab] Raise error on tab redirect ()
Closes 
Authored by: krichbanana, coletdjnz
pukkandan 3b603dbdf1
Add option `--concat-playlist`
Closes , related: 
pukkandan ed8d87f911
[cleanup, docs] Minor fixes
Closes 
pukkandan 8130779db6
Allow listing formats, thumbnails, subtitles using `--print` ()
Closes 
Authored by: pukkandan, Zirro
pukkandan ed5835b451
Allow `--print` to be run at any post-processing stage
coletdjnz f0d785d3ed
[youtube:tab] Extract more playlist metadata ()
* Add fields modified_date, modified_timestamp
* Add field playlist_count
* [youtube:tab] Extract view_count, playlist_count, modified_date

Authored by: coletdjnz, pukkandan
pukkandan 9e907ebddf
[cleanup] Misc cleanup
pukkandan 9c906919ae
Add field `video_autonumber`
Closes 
pukkandan ebed8b3732
Add more post-processing stages
playlist = After entire playlist
after_video = After downloading all formats of a video
pukkandan 1e43a6f733
Allow `--exec` to be run at any post-processing stage
Deprecates `--exec-before-download`
pukkandan ca30f449a1
Add `--print playlist:` to print fields per playlist
pukkandan 8896899216
[FfmpegMetadata] Allow setting metadata of individual streams
Closes 
Ashish Gupta 26f2aa3db9
[hotstar] Add extractor args to ignore tags ()
Authored by: Ashish0804
pukkandan abbeeebc4c
[outtmpl] Alternate form for `D` and fix suffix's case
Fixes: https://github.com/yt-dlp/yt-dlp/issues/2085#issuecomment-1002247689, https://github.com/yt-dlp/yt-dlp/pull/2132/files#r775729811
pukkandan 6a34813a0d
[docs] Add examples for using `TYPES:` in `-P`/`-o`
Matt Broadway f59f5ef8b6
[cookies] Support other keyrings ()
Authored by: mbway
pukkandan 87e0499624
Release 2021.12.25
pukkandan d80d98e7d4
[docs] Minor fixes
MinePlayersPE d43de6821c
[GameJolt] Add extractors ()
Authored by: MinePlayersPE
pukkandan 37893bb0c9
[outtmpl] Change filename sanitization type to `S`
`F` is already used for float!
Bug in e0fd95737d
Emanuel Hoogeveen 205a0654c0
Add option `--file-access-retries` ()
Closes 
Authored by: ehoogeveen-medweb
pukkandan b69fd25c25
[cleanup] Misc cleanup
Closes     
pukkandan e0fd95737d
[outtmpl] Add alternate forms `F`, `D`
and improve `id` detection

F = sanitize as filename (# = restricted)
D = add Decimal suffixes

Closes , 2081
pukkandan fa9f30b802
Add interactive format selection with `-f -`
Closes 
The Hatsune Daishi adbc4ec4bb
[dash,youtube] Download live from start to end ()
* Add option `--live-from-start` to enable downloading live videos from start
* Add key `is_from_start` in formats to identify formats (of live videos) that downloads from start
* [dash] Create protocol `http_dash_segments_generator` that allows a function to be passed instead of fragments
* [fragment] Allow multiple live dash formats to download simultaneously
* [youtube] Implement fragment re-fetching for the live dash formats
* [youtube] Re-extract dash manifest every 5 hours (manifest expires in 6hrs)
* [postprocessor/ffmpeg] Add `FFmpegFixupDuplicateMoovPP` to fixup duplicated moov atoms

Known issue: Ctrl+C doesn't work on Windows when downloading multiple formats

Closes 
Authored by: nao20010128nao, pukkandan
Unit 193 e75bb0d6c3
[cleanup] Fix some typos ()
Authored by: unit193
pukkandan 940a67a3e2
[docs] Change all examples to use double quotes
to be platform-agnostic
PilzAdam e978789f0f
[outtmpl] Add operator `&` for replacement text ()
Authored by: PilzAdam
chris ec2e44fc57
[docs] Improve manpage format ()
Closes 
Authored by: iw0nderhow, pukkandan
coletdjnz 46383212b3
[youtube:comments] Add more options for limiting number of comments extracted ()
Extends `max_comments` extractor arg to support `max-parents,max-replies,max-replies-per-thread`.
Authored-by: coletdjnz
pukkandan 0bb322b9c0
Add field `webpage_url_domain`
Closes 
coletdjnz aa4b054512
[web.archive:youtube] Improve metadata extraction ()
Authored-by: coletdjnz
Nil Admirari 8157a09d22
[SponsorBlock] Add Filler and Highlight categories ()
Authored by: nihil-admirari, pukkandan
pukkandan 91f071af60
Release 2021.12.01
pukkandan f304da8a29
[cleanup] Misc cleanup
Closes , closes 
pukkandan 75b725a7cc
[build] Use `workflow_dispatch` for release
pukkandan 9222c38182
[cleanup] Minor cleanup
Closes , Closes 
coletdjnz d0d012d4e7
[youtube] Add `default` player client ()
Authored-by: coletdjnz
pukkandan f279aaee8e
Add compat-option embed-metadata
pukkandan 093a17107e
Allow using a custom format selector through API
Closes , 
pukkandan 86c1a8aae4
Release 2021.11.10
pukkandan 59a7a13ef9
[docs] Minor documentation improvements
Closes , 
pukkandan 4476d2c764
[outtmpl] Add alternate forms for `q` and `j`
pukkandan aeb2a9ad27
[FormatSort] `eac3` is better than `ac3`
pukkandan a9d4da606d
[crunchyroll] Add extractor-args `language` and `hardsub`
Closes 
pukkandan a4211baff5
[cleanup] Minor cleanup
pukkandan 0930b11fda
[docs,cleanup] Improve docs and minor cleanup
Closes , , , , , , 
pukkandan 08438d2ca5
[outtmpl] Add type `link` for internet shortcut files
and refactor related code
Closes 
pukkandan 96565c7e55
[cleanup] Add keyword automatically to SearchIE descriptions
and some minor cleanup of docs
pukkandan 0676afb126
Release 2021.10.22
pukkandan 49a57e70a9
[cleanup] misc
pukkandan 19b824f693
Re-implement deprecated option `--id`
Despite `--title`, `--literal` etc being deprecated,
`--id` is still documented in youtube-dl and so should be kept
pukkandan 733d8e8f99
[build] Refactor `pyinst.py` and misc cleanup
Closes 
pukkandan 386cdfdb5b
[build] Release windows exe built with py2exe
Closes: 
Related: , , , , 
Ricardo 0e5927eebf
[build] Build standalone MacOS packages ()
Closes  
Authored by: smplayer-dev
Zirro 1e520b5535
Add option `--no-batch-file` ()
Authored by: Zirro
pukkandan 176f1866cb
Add HDR information to formats
pukkandan 2d9ec70423
[ModifyChapters] Allow removing sections by timestamp
Eg: --remove-chapters "*10:15-15:00".
The `*` prefix is used so as to avoid any conflicts with other valid regex
pukkandan b11d210156
[EmbedMetadata] Allow overwriting all default metadata
with `meta_default` key
pukkandan c111cefa5d
[downloader/ffmpeg] Improve simultaneous download and merge
pukkandan dec0d56fa9
Release 2021.10.10
pukkandan c9652aa418
[docs] Remove incorrect dependency on VC++10
Closes 
pukkandan 90d55df330
Release 2021.10.09
pukkandan b5ae35ee6d
[cleanup] Misc cleanup
timethrow 8c6f4daa4c
[docs] Write embedding and contributing documentation ()
Authored by: pukkandan, timethrow
coletdjnz ac56cf38a4
[youtube:tab] Fallback to API when webpage fails to download ()
and add some extractor_args to force this mode
Authored by: coletdjnz
pukkandan 819e05319b
Improved progress reporting (See desc) ()
* 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: , , , 
pukkandan 49e7e9c3ce
[docs,build] Change all pycryptodome references to pycryptodomex
shirt f85e6be42e
[build] Use pycryptodomex for PyInstaller ()
pukkandan e6f21b3d92
[docs,cleanup] Some minor refactoring and improve docs
pukkandan d710cc6d36
[docs] Add note about our custom ffmpeg builds
pukkandan 3ae5e79774
[postprocessor] Add plugin support
Adds option `--use-postprocessor` to enable them
pukkandan 80c03fa98f
Allow empty output template to skip a type of file
Closes , 
pukkandan 91dd88b90f
[outtmpl] Alternate form of format type `l` for `\n` delimited list
pukkandan 524e2e4fda
[outtmpl] Format type `U` for unicode normalization
pukkandan 0ef787d773 Release 2021.09.25
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 
pukkandan d806c9fd97
[docs,cleanup] Add deprecation warning in docs
for some counter intuitive behaviour that may be removed in future.

and fix linter
pukkandan 7c37ff97d3
Allow alternate fields in outtmpl
Closes , 
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 
pukkandan 0001fcb586
Add option `--netrc-location`
Closes , 
pukkandan c589c1d395
[compat] Don't ignore `HOME` (if set) on windows
Related: 
coletdjnz b6de707d13
[youtube] Improvements to JS player extraction (See desc) ()
* 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
pukkandan 526d74ec5a
[cleanup] Misc
pukkandan 9ee4f0bb5b
Release 2021.09.02
Nil Admirari 7a340e0df3
Native SponsorBlock implementation and related improvements ()
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
The Hatsune Daishi b8773e63f0
[build] Add homebrew taps ()
https://github.com/yt-dlp/homebrew-taps
Closes: , 
Authored by: nao20010128nao
pukkandan 2e7781a93c
[docs] Fix some typos
Closes , 
pukkandan 198e3a04c9
[FormatSort] Remove priority of `lang`
coletdjnz 0bb1bc1b10
[youtube] Remove annotations and deprecate `--write-annotations` ()
Closes  
Authored by: coletdjnz
pukkandan 330690a214
[downloader/ffmpeg] Allow passing custom arguments before -i
Closes 
pukkandan 88acdbc269
[extractor] Better error message for DRM ()
Closes 
pukkandan 8f18aca871
Let `--match-filter` reject entries early
Makes redundant: `--match-title`, `--reject-title`, `--min-views`, `--max-views`
zootedb0t 7581d2467a
[docs] fix typo ()
Authored by: zootedb0t
pukkandan 31654882e9
[options] Add `_set_from_options_callback`
pukkandan 418964fa91
Release 2021.08.10
pukkandan e9f4ccd19e
Add option `--replace-in-metadata`
pukkandan 3448870205
[docs] Fix some mistakes and improve doc
pukkandan 2b8a2973bd Allow entire infodict to be printed using `%()s`
Makes `--dump-json` redundant
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
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
pukkandan b51d2ae3ca
Add compat-option `no-keep-subs`
Closes 
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
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
MinePlayersPE 3dbb2a9dcb
[RCTIPlus] Support events and TV ()
Authored by: MinePlayersPE
The Hatsune Daishi 9997eee4af
[openrec] Add extractors ()
Authored by: nao20010128nao
pukkandan c31be5b009
[docs] Document which fields `--add-metadata` adds to the file
:ci skip all
pukkandan e980017ac8
[doc] Fix banner URL
pukkandan 6ccf351a87
Release 2021.08.02
pukkandan 28dff70b51
Add donate links
pukkandan 1aebc0f79e
Add logo and banner
David e7e94f2a5c
[youtube] Add age-gate bypass for unverified accounts ()
Adds `_creator` variants for each client

Authored by: zerodytrash, colethedj, pukkandan
pukkandan e4f0275711
Add compat-option `no-clean-infojson`
pukkandan 7d1eb38af1
Add format types `j`, `l`, `q` for outtmpl
Closes 
MinePlayersPE c0bc527bca
[YouTube] Age-gate bypass implementation ()
* 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 

Authored by pukkandan, MinePlayersPE
coletdjnz 5a1fc62b41
[youtube] Add `mobile_web` client ()
Authored by: colethedj
pukkandan b4c055bac2
[youtube] Add `player_client=all`
pukkandan f703a88055
Release 2021.07.24
pukkandan 060ac76257
[test] Use `pytest` instead of `nosetests` ()
`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 
pukkandan 245524e6a3
Release 2021.07.21
and fix some typos
Closes 
Matt Broadway 982ee69a74
Add option `--cookies-from-browser` to load cookies from a browser ()
* also adds `--no-cookies-from-browser`

Original PR: https://github.com/ytdl-org/youtube-dl/pull/29201
Authored by: mbway
pukkandan ae30b84072
Add field `live_status`
pukkandan 11f9be0912
[youtube] Extract data from multiple clients ()
* `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 

Authored-by: pukkandan, colethedj
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 , Related: , , https://github.com/ytdl-org/youtube-dl/issues/29049
pukkandan dce8743677
[docs] fix default of multistreams
pukkandan 5520aa2dc9
Add option `--exec-before-download`
Closes 
coletdjnz 2d6659b9ea
[youtube:comments] Move comment extraction to new API ()
Closes , ,  

Authored by: colethedj
zackmark29 73d829c144
[VIKI] Rewrite extractors ()
Closes 
Also added extractor-arg `video_types` to `vikichannel`

Co-authored-by: zackmark29, pukkandan
pukkandan a8bf9b4dc1
Release 2021.07.07
pukkandan 3acf6d3856
[Funimation] Rewrite extractor (See desc) ()
* 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 
pukkandan bc97cdae67
[cleanup] Fix linter and some typos
Related: https://github.com/ytdl-org/youtube-dl/pull/29398
coletdjnz 109dd3b237
[youtube] Use new API for additional video extraction requests ()
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
pukkandan 5d3a0e794b
Add `--extractor-args` to pass extractor-specific arguments
pukkandan 6aecd87106
Release 2021.06.23
pukkandan e36d50c5dd
[websockets] Add `WebSocketFragmentFD` ()
Necessary for 

Co-authored by: nao20010128nao, pukkandan
pukkandan e858a9d6d3
[EmbedThumbnail] Add compat-option `embed-thumbnail-atomicparsley`
to force use of atomicparsley for embedding thumbnails in mp4

Related: 
pukkandan 3b1fe47d84
Release 2021.06.08
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
pukkandan cf59cd4dcd
[docs] Improve documentation of dependencies
Related: 
pukkandan 3de7c2ce9a
Release 2021.06.01
pukkandan 18e674b4f6
[ffmpeg] Download and merge in a single step if possible
louie-github a927acb1ec
[ThumbnailsConvertor] Support conversion to `png` and make it the default ()
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
pukkandan 09f1580e2d
[youtube] `/live` URLs should raise error if channel is not live
Fixes: https://github.com/ytdl-org/youtube-dl/issues/29090
pukkandan 0fdf490d33
Release 2021.05.20
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`
pukkandan 2305e2e5c9
[options] Alias `--write-comments`, `--no-write-comments`
Closes: 
pukkandan 9c2b75b561
Field `additional_urls` to download additional videos from metadata
pukkandan 07cce701de
[cleanup] linter, code formatting and readme
pukkandan 5112f26a60
Add `pl_thumbnail` outtmpl key for playlist thumbnails
This should have been implemented in 681de68e9d, but I forgot
pukkandan a06916d98e
[extractor] Add `write_debug` and `get_param`