Commit Graph

926 Commits (3f7e2bd80e3c5d8a1682f20a1b245fcd974f295d)

Author SHA1 Message Date
pukkandan 8aa0e7cd96
[docs] Improvements
pukkandan 7e9a612585
Add option `--lazy-playlist` to process entries as they are received
pukkandan 7e88d7d78f
Add slicing notation to `--playlist-items`
* Adds support for negative indices and step
* Add `-I` as alias for `--playlist-index`
* Deprecates `--playlist-start`, `--playlist-end`, `--playlist-reverse`, `--no-playlist-reverse`

Closes , Closes 
pukkandan d32f30ac48
Add `--no-update`
Closes 
pukkandan 64fa820ccf
[cleanup] Misc fixes (see desc)
* [tvver] Fix bug in 6837633a4a - Closes 
* [rumble] Fix tests - Closes 
* [make] Remove `cat` abuse - Closes 
* [make] Revert  - Closes 
* [utils] Improve `get_elements_by_class` - Closes 
* [utils] Inherit `Namespace` from `types.SimpleNamespace`
* [utils] Use `re.fullmatch` for matching filters
* [jsinterp] Handle quotes in `_separate`
* [make_readme] Allow overshooting last line

Authored by: pukkandan, kwconder, MrRawes, Lesmiscore
pukkandan 56ba69e4c9
[cleanup] Misc fixes
Closes 
coletdev 2ae778b8fc
[extractor/youtube] Add `innertube_host` and `innertube_key` extractor args ()
Allows user to override Innertube API host or key for all requests
Authored by: coletdjnz
pukkandan 5ec1b6b716
Add option `--download-sections` to download video partially
Closes , Closes 
pukkandan e0ab98541c
[ExtractAudio] Allow conditional conversion
Closes 
pukkandan 35faefee5d
[ExtractAudio, cleanup] Refactor
pukkandan 00bbc5f177
[ThumbnailsConvertor] Allow conditional conversion
Closes 
pukkandan 1890fc6389
[cleanup] Misc fixes
Cherry-picks from: , 
Related: , https://github.com/yt-dlp/yt-dlp/issues/1839#issuecomment-1140313836
Authored by: pukkandan, flashdagger, gamer191
pukkandan f95b9dee45
[extractor] Add dev option `--load-pages`
pukkandan 0bf9dc1e35
Fix bug in 8a82af3511
pukkandan 8a82af3511
[cleanup] Misc fixes and cleanup
Closes , Closes , Closes 
pukkandan 6b9e832db7
`--config-location -` to provide options interactively
pukkandan 2dd5a2e3a1
[doc, cleanup] Re-indent "Usage and Options" section
pukkandan 9e49146352
Add option `--alias`
pukkandan b14d523558
Release 2022.05.18
pukkandan 2414649192
[cleanup] Misc cleanup
pukkandan 3d38b2d6d0
Fix `--date today`
Closes 
coletdev bb58c9ed5c
Add support for SSL client certificate authentication ()
Adds `--client-certificate`, `--client-certificate-key`, `--client-certificate-password`

Authored-by: coletdjnz
Co-authored-by: df <fieldhouse@gmx.net>
Co-authored-by: pukkandan <pukkandan.ytdlp@gmail.com>
coletdev 6e634cbe42
[youtube] Add YoutubeStoriesIE ()
Get channel stories with `ytstories:<channel UCID>`

Authored-by: coletdjnz
pukkandan 3fe75fdc80
[cleanup] Misc fixes (see desc)
* Do not warn when fixup is skipped for existing file
* [fragment] Fix `--skip-unavailable-fragments` for HTTP Errors
* [utils] write_string: Fix bug in 59f943cd50
* [utils] parse_codecs: Subtitle codec is generally referred to as `scodec`. https://github.com/yt-dlp/yt-dlp/pull/2174#discussion_r790156048
* [docs] Remove note about permissions. Closes 
pukkandan 6f7563beb7
[XAttrMetadata] Refactor and document dependencies
pukkandan 0a41f331cc
[doc] Minor improvements
Closes , Closes 
pukkandan 492272fed6
`--match-filter -` to interactively ask for each video
pukkandan 62f6f1cbf2
Don't imply `-s` for later stages of `-O`
pukkandan 43cc91ad75
bugfix for 19a0394044, 3d3bb1688b
pukkandan 3d3bb1688b
[docs] Improve embedding docs and other minor fixes
pukkandan e5a998f368
[cleanup] Misc cleanup ()
Authored by: fstirlitz, pukkandan
krichbanana ca5300c7ed
[youtube] Add `:ytnotifications` extractor ()
Authored by: krichbanana
pukkandan ebc7d3ff1f
[docs] Minor improvements (, )
Authored by: cffswb, danielyli


Co-authored-by: Daniel Li <dan@danielyli.com>
Co-authored-by: cffswb <karte577@gmail.com>
pukkandan a44ca5a470
[cleanup] Misc fixes
Closes https://github.com/yt-dlp/yt-dlp/pull/3213, Closes https://github.com/yt-dlp/yt-dlp/pull/3117

Related: https://github.com/yt-dlp/yt-dlp/issues/3146#issuecomment-1077323114, https://github.com/yt-dlp/yt-dlp/pull/3277#discussion_r841019671, a825ffbffa (commitcomment-68538986), https://github.com/yt-dlp/yt-dlp/issues/2360, 5fa3c9a88f (r70393519), 5fa3c9a88f (r70393254)
MrRawes 5d0aeac0e9
[docs] Clarify the exact `BSD` license of dependencies ()
Authored by: MrRawes
David e7870111e8
[YouTube] Add new age-gate bypass ()
Closes 
Authored by: zerodytrash, pukkandan
pukkandan 18e4940825
[youtube] Add extractor-arg to skip auto-translated subs
pukkandan 5c3895fff1
[outtmpl] Limit changes during sanitization
Closes 
pukkandan ae6a1b9585
[docs] Minor improvements
Closes , Closes , Closes 
coletdev d5820461e8
Use certificates from `certifi` if installed ()
Fixes  and most `CERTIFICATE_VERIFY_FAILED` issues

Authored by: coletdjnz
Lesmiscore (Naoya Ozaki) 7bdcb4a40e
[niconico] Rewrite NiconicoIE ()
Closes https://github.com/yt-dlp/yt-dlp/issues/2636, partially fixes https://github.com/yt-dlp/yt-dlp/issues/367
Authored by: Lesmiscore
shirt d69e55c1d8
[cleanup] Remove readthedocs from README.md
pukkandan 592b748582
[cleanup] Minor cleanup
Closes 
coletdev e248be3319
[panopto] Add extractors ()
Based on https://github.com/ytdl-org/youtube-dl/pull/13449
Closes 
Authored by: coletdjnz, kmark
pukkandan 08d30158ec
[cleanup, docs] Misc cleanup
Closes , closes , closes , closes 
coletdev 4390d5ec12
Add brotli content-encoding support ()
Authored by: coletdjnz
pukkandan 8b7539d27c
Implement `--add-header` without modifying `std_headers`
Closes , 
pukkandan 7eaf7f9aba
[rokfin] Add stack and channel extractors ()
Authored by: P-reducible, pukkandan
pukkandan 09b49e1f68
Add pre-processor stage `after_filter`
* Move `_match_entry` and `post_extract` to `process_video_result`. It is also left in `process_info` for API compat
* `--list-...` options and `--force-write-archive` now obey filtering options
* Move `SponsorBlockPP` to `after_filter`. Closes https://github.com/yt-dlp/yt-dlp/issues/2536
* Reverts 4ec82a72bb since this commit addresses the issue it was solving
pukkandan a30a6ed3e4
[youtube:tab] Add `approximate_date` extractor-arg
pukkandan 72073451be
[ThumbnailsConvertor] Support `webp`
Closes 
Lukas Fink 1ce9a3cb49
Add regex operator and quoting to format filters ()
Closes  
Authored by: lukasfink1
pukkandan 3856407a86
[options] Rename `--clean-infojson` to `--clean-info-json`
pukkandan c1653e9efb
Release 2022.02.04
pukkandan d5a398988b
Update to ytdl-commit-78ce962
[youtube] Support channel search
78ce962f4f
pukkandan 455a15e2dc
[cleanup,docs] Minor fixes
Closes , 
MinePlayersPE 046cab3915
[TikTok] Iterate through app versions ()
Closes 
Authored by: MinePlayersPE
pukkandan dbcea0585f
[outtmpl] Handle `-o ""` better
Since the specific type of file is not downloaded when giving `-o "<type>:"`,
now `-o ""` acts as an alias to `--skip-download`
Jeff Huffman 706dfe441b
[crunchyroll:beta] Add cookies support ()
* Extract directly from the beta API when cookies are passed. If login cookie is absent, the extraction is delegated to `CrunchyrollIE`. This causes different metadata to be extracted (including formats and video id) and therefore results in a different archive entry. For now, this issue is unavoidable since the browser also redirects to the old site when not logged in.

* Adds extractor-args `format` and `hardsub` to control the source and subtitles of the extracted formats

Closes 
Authored by: tejing1
pukkandan 88f23a18e0
[docs,cleanup] Fix linter and misc cleanup
Closes 
pukkandan bb66c24797
Add option `--print-to-file`
Closes 
pukkandan 144a3588b4
Release 2022.01.22
pukkandan fc5fa964c7
[docs] Improvements
pukkandan 0bfc53d05c
List playlist thumbnails in `--list-thumbnails`
coletdjnz 6c73052c0a
[youtube] Extract channel subscriber count ()
Closes 
* Adds `channel_follower_count` field
Authored-by: coletdjnz
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