Commit Graph

546 Commits (347f13dd9bccc2b4db3ea25689410d45d8370ed4)

Author SHA1 Message Date
pukkandan 21633673c3
[cleanup] Minor fixes
pukkandan 7896214c42
Bugfix for 591bb9d355
Closes 
pukkandan 5792c950bf
[compat] Implement `compat.imghdr`
Python 3.11 deprecates `imghdr` module
pukkandan 591bb9d355
Fix color in `-q -F`
and convert `ydl._out_files`/`ydl._allow_colors` to `Namespace`

Closes 
pukkandan 490110c543
`--max-downloads` should obey `--break-per-input`
pukkandan 2414649192
[cleanup] Misc cleanup
pukkandan 494f52308b
[FixupM3u8] Obey `--hls-prefer-mpegts`
Closes 
pukkandan 3a408f9d19
Show name of downloader in verbose log
Closes 
pukkandan d76fa1f3d4
[cookies] Allow `cookiefile` to be a text stream
Closes 
pukkandan 0f06bcd759
[cleanup] Minor fixes (See desc)
* [youtube] Fix `--youtube-skip-dash-manifest`
* [build] Use `$()` in `Makefile`. Closes 
* Fix bug in 385ffb467b
* Fix bug in 43d7f5a5d0
* [cleanup] Remove unnecessary `utf-8` from `str.encode`/`bytes.decode`
* [utils] LazyList: Expose unnecessarily "protected" attributes
and other minor cleanup
pukkandan d7a1aa00c6
Run `FFmpegFixupM3u8PP` for live-streams if needed
Closes 
pukkandan d4736fdb43
Remove warning for videos with an empty title
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>
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 43d7f5a5d0
[EmbedThumbnail] Do not obey `-k`
pukkandan 1d485a1a79
[cleanup] Misc fixes
Closes , https://github.com/yt-dlp/yt-dlp/issues/3514#issuecomment-1105944364
pukkandan 0a41f331cc
[doc] Minor improvements
Closes , Closes 
pukkandan 492272fed6
`--match-filter -` to interactively ask for each video
pukkandan 59f943cd50
[utils] `write_string`: Workaround newline issue in `conhost`
On windows `conhost`, when `WINDOWS_VT_MODE` is enabled, `\n` is not
actually sent if the window is exactly the length of printed line,
and the line does not end with a white-space character. So the
line-break disappears when resizing the window.

Fixes 
pukkandan 0a5a191a2a
Improve `--clean-infojson`
It should not removes fields that may be needed for `--load-infojson`.
Eg: `_ffmpeg_args`, `_has_drm`
pukkandan 9b8ee23b99
[dependencies] Create module with all dependency imports
pukkandan 19a0394044
[cleanup] Misc cleanup and refactor ()
pukkandan e5a998f368
[cleanup] Misc cleanup ()
Authored by: fstirlitz, pukkandan
pukkandan f82711587c
[cleanup] Sort imports
Using https://github.com/PyCQA/isort

    isort -m VERTICAL_HANGING_INDENT --py 36 -l 80 --rr -n --tc .
pukkandan 86e5f3ed2e
[cleanup] Upgrade syntax
Using https://github.com/asottile/pyupgrade

1. `__future__` imports and `coding: utf-8` were removed
2. Files were rewritten with `pyupgrade --py36-plus --keep-percent-format`
3. f-strings were cherry-picked from `pyupgrade --py36-plus`

Extractors are left untouched (except removing header) to avoid unnecessary merge conflicts
pukkandan f9934b9614
[cleanup] Mark some compat variables for removal ()
Authored by fstirlitz, pukkandan
felix cfb0511d82
[cleanup] Remove unused code paths ()
Notes:

* `_windows_write_string`: Fixed in 3.6
  * https://bugs.python.org/issue1602
  * PEP: https://www.python.org/dev/peps/pep-0528

* Windows UTF-8 fix: Fixed in 3.3
  * https://bugs.python.org/issue13216

* `__loader__`: is always present in 3.3+
  * https://bugs.python.org/issue14646

* `workaround_optparse_bug9161`: Fixed in 2.7
  * https://bugs.python.org/issue9161

Authored by: fstirlitz
pukkandan 97ec5bc550
[cookies] Report progress when importing cookies
pukkandan 4abea8ca0a
[utils] `sanitize_path`: Fix when path is empty string
pukkandan d8a58ddce7
De-prioritize automatic-subtitles when no `--sub-lang` is given
Closes 
pukkandan 316f2650f8
Ignore `mhtml` formats from `-f mergeall`
Closes 
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)
pukkandan 85e801a9db
Fallback to video-only format when selecting by extension
Closes 
pukkandan 5127e92a94
Fix filepath sanitization in `--print-to-file`
pukkandan cb96c5be70
Fix `--no-overwrite` for playlist infojson
Fixes: https://github.com/yt-dlp/yt-dlp/issues/1467#issuecomment-1079922971
pukkandan 90137ca4be
[utils] Add `filter_dict`
pukkandan c0b6e5c74d
Show warning when all media formats have DRM
Related: 
pukkandan 5c3895fff1
[outtmpl] Limit changes during sanitization
Closes 
pukkandan 34baa9fdf0
[outtmpl] Fix replacement/default when used with alternate
pukkandan 6db9c4d57d
Ignore format-specific fields in initial pass of `--match-filter`
Closes 
pukkandan ae6a1b9585
[docs] Minor improvements
Closes , Closes , Closes 
pukkandan c70c418d33
Fix `--abort-on-error` for subtitles
Closes 
coletdev d5820461e8
Use certificates from `certifi` if installed ()
Fixes  and most `CERTIFICATE_VERIFY_FAILED` issues

Authored by: coletdjnz
pukkandan 0c14d66ad9
Fix `autonumber`
Bug in 09b49e1f68
pukkandan 16c620bc55
Handle float in `--wait-for-video`
Closes 
pukkandan 592b748582
[cleanup] Minor cleanup
Closes 
pukkandan cf4f42cb97
Protect stdout from unexpected progress and console-title
Closes 
MMM 10331a2672
Fix `--print` with `--ignore-no-formats` when url is `None` ()
Authored by: flashdagger
pukkandan 08d30158ec
[cleanup, docs] Misc cleanup
Closes , closes , closes , closes 
coletdev 4390d5ec12
Add brotli content-encoding support ()
Authored by: coletdjnz
pukkandan 50e93e03a7
Update to ytdl-commit-6508688
Make default upload_/release_date a compat_str
6508688e88

Except:
* "[NDR] Overhaul NDR and NJoy extractors" https://github.com/ytdl-org/youtube-dl/pull/30531
    - 01824d275b
    - 39a98b09a2
    - f0a05a55c2
    - 4186e81777
pukkandan 8b7539d27c
Implement `--add-header` without modifying `std_headers`
Closes , 
pukkandan 2a938746f3
Fix verbose log when stdout/stderr encoding is `None`
See: 5c10453827
pukkandan 319b6059d2
Better error message when no --live-from-start format
pukkandan 4c3f8c3fb6
Handle negative duration from extractor
Closes 
Lesmiscore (Naoya Ozaki) 03f830040a
[YoutubeDL] Fill more fields for playlists ()
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 60f3e99592
Tolerate failure to `--write-link` due to unknown URL
Closes 
pukkandan 8d93e69d67
Create necessary directories for `--print-to-file`
Closes 
pukkandan 3aa915400d
Fix `-all` for `--sub-langs`
Closes 
pukkandan 5c10453827
Fix for when stdout/stderr encoding is None
Closes 
pukkandan e8969bda94
Obey `--abort-on-error` for "ffmpeg not installed"
Closes 
pukkandan 57ebfca39b
Set `webpage_url_...` from `webpage_url` and not input URL
Closes 
Lukas Fink 1ce9a3cb49
Add regex operator and quoting to format filters ()
Closes  
Authored by: lukasfink1
pukkandan 297e9952b6
[extractor] Allow `http_headers` to be specified for `thumbnails`
pukkandan 455a15e2dc
[cleanup,docs] Minor fixes
Closes , 
pukkandan 6a0546e313
[outtmpl] Handle hard-coded file extension better
When we know that the user-provided extension is the correct final one,
replace it with intermediate extension during download
pukkandan fc08bdd6ab
[extractor] Allow non-fatal `title` extraction
pukkandan 88f23a18e0
[docs,cleanup] Fix linter and misc cleanup
Closes 
pukkandan bb66c24797
Add option `--print-to-file`
Closes 
pukkandan 6a5a30f9e2
Ensure `_type` is present in `info.json`
Closes 
pukkandan d37707bda4
Fix/improve `InAdvancePagedList`
pukkandan 6970b6005e
[cleanup] Minor fixes
Closes 
pukkandan 0bfc53d05c
List playlist thumbnails in `--list-thumbnails`
xtkoba f81c62a6a4
Add option --legacy-server-connect ()
to allow HTTPS connection to servers that do not support RFC 5746 secure renegotiation

Authored by: xtkoba
MinePlayersPE 426764371f
[iq.com] Add extractors ()
Closes 
Authored by: MinePlayersPE
pukkandan 3b603dbdf1
Add option `--concat-playlist`
Closes , related: 
pukkandan ed8d87f911
[cleanup, docs] Minor fixes
Closes 
pukkandan e04938ab88
Check for existing thumbnail/subtitle in final directory
Closes 
pukkandan dc5f409cdc
Fix typo in ed5835b451
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 b62fa6d75f
Fix `-s --ignore-no-formats --force-write-archive`
Bug in a13e684813
pukkandan be72c62480
Fix recursion error in f46e2f9d92
Closes 
pukkandan a13e684813
Write `download_archive` only after all formats are downloaded
Closes 
pukkandan f46e2f9d92
Add key `requested_downloads` in the root `info_dict`
pukkandan 9c906919ae
Add field `video_autonumber`
Closes 
pukkandan 6020e05d23
Raise error if subtitle download fails
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 4c922dd3fc
Fix live title for multiple formats
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 ceb98323f2
Don't treat empty containers as `None` in `sanitize_info`
Matt Broadway f59f5ef8b6
[cookies] Support other keyrings ()
Authored by: mbway
pukkandan 6da22e7d4f
Avoid recursion error when re-extracting info
Benedikt Wildenhain 4b4b7f746c
[OpenCast] Add extractors ()
Original PR: https://github.com/ytdl-org/youtube-dl/pull/26934
Authored by: bwildenhain, C0D3D3V
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 dd0228ce1f
Remove known invalid thumbnails from `info_dict`
Related: https://github.com/yt-dlp/yt-dlp/issues/980#issuecomment-997396821
PilzAdam e978789f0f
[outtmpl] Add operator `&` for replacement text ()
Authored by: PilzAdam
pukkandan 39ca3b5c7f
[extractor] Standardize `_live_title`
pukkandan 0bb322b9c0
Add field `webpage_url_domain`
Closes 
pukkandan 5bfc8bee5a
Fix PostProcessor hooks not registered for some PPs
Closes 
pukkandan e3c7d49571
[compat] Suppress errors in enabling VT mode
Closes 
pukkandan b5475f1145
Pre-process when using `--flat-playlist`
pukkandan 38d79fd16c
Use `parse_duration` for `--wait-for-video`
and some minor fix
pukkandan 3efb96a6d1
Fix control characters being printed to `--console-title`
Closes 
pukkandan 91f071af60
Release 2021.12.01
pukkandan 5c22c63da3
Fix `--trim-filename` when filename has `.`
Closes 
pukkandan ee8dd27a73
[cleanup] Add deprecation warnings
pukkandan f304da8a29
[cleanup] Misc cleanup
Closes , closes 
pukkandan 36eaf3039a
[build] Save Git HEAD at release alongside version info
pukkandan f2ebc5c7be
Option `--wait-for-video` to wait for scheduled streams
pukkandan b222c27145
Option `--break-per-input` to apply --break-on... to each input URL
pukkandan 5e5be0c0b2
Fix --break-on-archive when pre-checking
pukkandan 7578d77d8c
[downloader] Add colors to download progress
pukkandan 75689fe59b
Ensure directory exists when checking formats
pukkandan e04b003e64
[FixupM3u8] Fixup MPEG-TS in MP4 container
Closes , https://github.com/ytdl-org/youtube-dl/issues/26410
pukkandan ff51ed588f
Clarify video/audio-only formats in -F
Related: 
Zirro 0e6b018a10
Ensure path for link files exists ()
Authored by: Zirro
pukkandan 282f570918
[utils] Fix error when copying `LazyList`
pukkandan c07a39ae8e
[utils] Fix `PagedList`
Bug in d8cf8d97a8
pukkandan c5e3f84972
[utils] Allow alignment in `render_table`
and add tests
pukkandan dd2a987d3f
[tests] Fix tests
pukkandan 9222c38182
[cleanup] Minor cleanup
Closes , Closes 
pukkandan 013b50b794
Fix 'postprocessor_hooks`
Closes 
pukkandan dac5df5a98
Add option `--embed-info-json` to embed info-json in mkv
Closes 
pukkandan 7c7f7161fc
Fix `--load-info-json` of playlists with failed entries
pukkandan bf5f605e76
bugfix for e08a85d865
pukkandan e08a85d865
Fix writing playlist infojson with `--no-clean-infojson`
pukkandan 093a17107e
Allow using a custom format selector through API
Closes , 
pukkandan c586f9e8de
[cleanup] minor fixes
pukkandan 59a7a13ef9
[docs] Minor documentation improvements
Closes , 
pukkandan 4476d2c764
[outtmpl] Add alternate forms for `q` and `j`
pukkandan aa9369a2d8
[cleanup] Minor improvements to error and debug messages
pukkandan a49891c761
Fix bug in `--load-infojson` of playlists
Fixes: https://github.com/yt-dlp/yt-dlp/issues/1514#issuecomment-962659529
pukkandan 34921b4345
[utils] Add `join_nonempty`
pukkandan a4211baff5
[cleanup] Minor cleanup
pukkandan 8913ef74d7
[ffmpeg] Detect libavformat version for `aac_adtstoasc`
and print available features in verbose head
Based on https://github.com/ytdl-org/youtube-dl/pull/29581
pukkandan 0930b11fda
[docs,cleanup] Improve docs and minor cleanup
Closes , , , , , , 
pukkandan 48f796874d
[utils] Create `DownloadCancelled` exception
as super-class of ExistingVideoReached, RejectedVideoReached, MaxDownloadsReached

Third parties can also sub-class this to cancel the download queue from a hook
pukkandan 08438d2ca5
[outtmpl] Add type `link` for internet shortcut files
and refactor related code
Closes 
pukkandan f2fe69c7b0
Approximate filesize from bitrate
Closes 
pukkandan 9f1a1c36e6
Separate `--check-all-formats` from `--check-formats`
Previously, `--check-formats` tested only the selected video formats, but ALL thumbnails
pukkandan 96565c7e55
[cleanup] Add keyword automatically to SearchIE descriptions
and some minor cleanup of docs
pukkandan ec11a9f4a2
[minicurses] Add more colors
pukkandan 49a57e70a9
[cleanup] misc
pukkandan 6e21fdd279
[build] Enable lazy-extractors in releases
Set the environment variable `YTDLP_NO_LAZY_EXTRACTORS`
to forcefully disable lazy extractor loading
pukkandan d3c93ec2b7
Don't create console for subprocesses on Windows ()
Closes 
pukkandan 176f1866cb
Add HDR information to formats
pukkandan 17bddf3e95
Reduce default `--socket-timeout`
pukkandan e820fbaa6f
Do not verify thumbnail URLs by default
Partially reverts cca80fe611 and 0ba692acc8

Unless `--check-formats` is specified, this causes yt-dlp to return incorrect thumbnail urls.
See https://github.com/yt-dlp/yt-dlp/issues/340#issuecomment-877909966, 

But the overhead in general use is not worth it

Closes , 
pukkandan 239df02103
Make `duration_string` and `resolution` available in --match-filter
Related: 
pukkandan 71ce444a3f
Fix --restrict-filename when used with default template
pukkandan 03b4de722a
[downloader] Fix slow progress hooks
Closes 
pukkandan 48ee10ee8a
Fix conflict b/w id and ext in format selection
Closes 
pukkandan 883d4b1eec
[YoutubeDL] Write verbose header to logger
pukkandan 993191c0d5
Fix bug in c111cefa5d
pukkandan b836dc94f2
[outtmpl] Fix bug in expanding environment variables
pukkandan c111cefa5d
[downloader/ffmpeg] Improve simultaneous download and merge
pukkandan 975a0d0df9
Calculate more fields for merged formats
Closes 
pukkandan a903d8285c
Fix bug in storyboards
Caused by 9359f3d4f0
pukkandan ed39cac53d Load archive only after printing verbose head
If there is some issue in loading archive, the verbose head should be visible in the logs
pukkandan a169858f24 Fix `check_formats` output being written to stdout when `-qv`
Closes 
pukkandan d1d5c08f29
[minicurses] Fix when printing to file
Closes 
pukkandan b5ae35ee6d
[cleanup] Misc cleanup
pukkandan 4e3b637d5b
Merge webm formats into mkv if thumbnails are to be embedded
This was originally implemented in 4d971a16b8 () by @damianoamatruda
but was reverted in 3b297919e0
since it was unintentionally being triggered for `write_thumbnail` (See )
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 8472674399
[FixupM3u8] Do not run if merge is needed
We pass the relevant arguments to the merger, so separate fixup in redundant
pukkandan 519804a92f
bugfix for 80c03fa98f
pukkandan b11c04a8ae
Fix `-f mp4` behaving differently from youtube-dl
Felix S 9359f3d4f0
[extractor] Extract storyboards from SMIL manifests ()
Authored by: fstirlitz
pukkandan e6f21b3d92
[docs,cleanup] Some minor refactoring and improve docs
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 360167b9fc Fix `--flat-playlist` when neither IE nor id is known
pukkandan 91dd88b90f
[outtmpl] Alternate form of format type `l` for `\n` delimited list
pukkandan 524e2e4fda
[outtmpl] Format type `U` for unicode normalization
pukkandan ff1c7fc9d3
Allow `0` in `--playlist-items`
pukkandan 4c88ff87fc
[build] Improve release process ()
* Automate more of the release process by animelover1984, pukkandan - closes 
* Fix sha256 by nihil-admirari - closes 
* Bring back brew taps by nao20010128nao 
* Provide `--onedir` zip for windows by pukkandan - Closes , ,  and 

Authored by: pukkandan, animelover1984, nihil-admirari, nao20010128nao
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 77c4a9ef68
Download subtitles in order of `--sub-langs`
Closes 
Ashish Gupta 388bc4a640
[Hotstar] Add referer for subs ()
Authored by: Ashish0804
pukkandan a21e0ab1a1
[ffmpeg] Add `aac_adtstoasc` when merging if needed
Related: 
pukkandan 7c37ff97d3
Allow alternate fields in outtmpl
Closes , 
pukkandan edf65256aa
[hls,aes] Fallback to native implementation for AES-CBC
and detect `Cryptodome` in addition to `Crypto`

Closes 
Related: 
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 d5fe04f5c7
Fix `--compat-option no-direct-merge`
pukkandan 4614bc22c1 Allow `--force-write-archive` to work with `--flat-playlist`
Related: 
pukkandan 8e5fecc88c
Handle more playlist errors with `-i`
pukkandan 409e18286e
Fix `extra_info` being reused across runs
58adec4677 was supposed to solve this, but ended up being an incomplete fix
Closes 
pukkandan 8113999995
Fix `--compat-option playlist-index`
pukkandan e0493e90fc
fix bug in 88acdbc269
pukkandan 8b7491c8d1
Fix `add_info_extractor` when used via API
Bug from: 251ae04e6a
pukkandan 251ae04e6a
[lazy_extractor] Create instance only after pre-checking archive
pukkandan 1151c4079a
[extractor] Show video id in error messages if possible
pukkandan 88acdbc269
[extractor] Better error message for DRM ()
Closes 
pukkandan da33e35b05
Don't try to merge with final extension
The formats may not be directly mergable into the final extension
pukkandan 58adec4677
Fix `extra_info` being reused across runs
Closes 
pukkandan 9e598870dd
Fix `playlist_index` not obeying `playlist_start`
and add tests
Closes 
pukkandan 8f18aca871
Let `--match-filter` reject entries early
Makes redundant: `--match-title`, `--reject-title`, `--min-views`, `--max-views`
pukkandan 3ad56b4236
Fix `-J` when there are failed videos
pukkandan 86c66b2d3e
Fix `-F` for extractors that directly return url
Related: 
pukkandan 6c7274ecd2
Fix resuming of single formats when using --no-part
Closes 
pukkandan ad3dc496bb Misc fixes - See desc
* Remove unnecessary uses of _list_from_options_callback
* Fix download tests - Bug from 6e84b21559
* Rename ExecAfterDownloadPP to ExecPP and refactor its tests
* Ensure _write_ytdl_file closes file handle on error - Potential fix for 
pukkandan 2831b4686c Show libraries present in verbose head
pukkandan e9f4ccd19e
Add option `--replace-in-metadata`
pukkandan 3448870205
[docs] Fix some mistakes and improve doc
pukkandan b868936cd6 [cleanup] Misc
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 6e84b21559
Fix bugs related to `sanitize_info`
Related: 8012d892bd (r54555230)
pukkandan b51d2ae3ca
Add compat-option `no-keep-subs`
Closes 
pukkandan 124bc071ee
Fix wrong extension for intermediate files
Closes 
pukkandan 8012d892bd
Ensure sanitization of infodict before printing to stdout
* `filter_requested_info` is renamed to a more appropriate name `sanitize_info`
pukkandan a46a815b05
[cleanup] Fix linter in 96fccc101f
pukkandan 96fccc101f [downloader] Allow streaming unmerged formats to stdout using ffmpeg
For this to work:
1. The downloader must be ffmpeg
2. The selected formats must have the same protocol
3. The formats must be downloadable by ffmpeg to stdout

Partial solution for: https://github.com/ytdl-org/youtube-dl/issues/28146, https://github.com/ytdl-org/youtube-dl/issues/27265
pukkandan dbf5416a20 [cleanup] Refactor some code
pukkandan f5510afef0
[FormatSort] Fix bug for audio with unknown codec
pukkandan e4f0275711
Add compat-option `no-clean-infojson`
pukkandan 7d1eb38af1
Add format types `j`, `l`, `q` for outtmpl
Closes 
pukkandan 901130bbcf Expand and escape environment variables correctly in outtmpl
Fixes: https://www.reddit.com/r/youtubedl/comments/otfmq3/ytdlp_same_parameters_different_results
pukkandan ea05b3020d
Remove `asr` appearing twice in `-F`
pukkandan 3ba7740dd8
[downloader] Pass `info_dict` to `progress_hook`s
pukkandan 245524e6a3
Release 2021.07.21
and fix some typos
Closes 
pukkandan e37d0efbd9
Fix bug where `original_url` was not propagated when `_type`=`url`
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 cc9d1493c6
bugfix for 50fed816dd
pukkandan b35496d825
Add `only_once` param for `write_debug`
pukkandan c84aeac6b5
Add `only_once` param for `report_warning`
Related: https://github.com/yt-dlp/yt-dlp/pull/488#discussion_r667527297
pukkandan 50fed816dd
Errors in playlist extraction should obey `--ignore-errors`
Related: https://github.com/yt-dlp/yt-dlp/issues/535#issuecomment-883277272, https://github.com/yt-dlp/yt-dlp/issues/518#issuecomment-881794754
pukkandan 3f698246b2
Rename `NOTE` in `-F` to `MORE INFO`
since it's often confused to be the same as `format_note`
pukkandan cca80fe611 [youtube] Extract even more thumbnails and reduce testing
* Also fix bug where `_test_url` was being ignored

Ref: https://stackoverflow.com/a/20542029
Related: 
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 3b297919e0
Revert "Merge webm formats into mkv if thumbnails are to be embedded ()"
This reverts commit 4d971a16b8 by @damianoamatruda
Closes 

This was wrongly checking for `write_thumbnail`
pukkandan b5ac45b197
Fix selectors `all`, `mergeall` and add tests
Bug from: 981052c9c6
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
pukkandan 169dbde946
Fixes for `--list` options (See desc)
1. Fix `--list-formats-old`
2. Allow listing with `--quiet`
3. Allow various listings to work together
4. Allow `--print` to work with listing
pukkandan 981052c9c6 Some minor fixes and refactoring (see desc)
* [utils] Fix issues with reversal
* check_formats should catch `DownloadError`, not `ExtractorError`
* Simplify format selectors with `LazyList` and `yield from`
pukkandan 49c258e18d
[youtube] Fix subtitle names for age-gated videos
Related: https://github.com/iv-org/invidious/pull/2205#issuecomment-868680486