Commit graph

544 commits

Author SHA1 Message Date
pukkandan 5792c950bf
[compat] Implement compat.imghdr
Python 3.11 deprecates `imghdr` module
2022-05-17 19:46:01 +05:30
pukkandan 591bb9d355
Fix color in -q -F
and convert `ydl._out_files`/`ydl._allow_colors` to `Namespace`

Closes #3761
2022-05-17 18:41:46 +05:30
pukkandan 490110c543
--max-downloads should obey --break-per-input 2022-05-17 00:07:44 +05:30
pukkandan 2414649192
[cleanup] Misc cleanup 2022-05-17 00:07:43 +05:30
pukkandan 494f52308b
[FixupM3u8] Obey --hls-prefer-mpegts
Closes #3697
2022-05-11 11:03:36 +05:30
pukkandan 3a408f9d19
Show name of downloader in verbose log
Closes #3703
2022-05-11 07:20:54 +05:30
pukkandan d76fa1f3d4
[cookies] Allow cookiefile to be a text stream
Closes #3674
2022-05-11 05:52:55 +05:30
pukkandan 0f06bcd759
[cleanup] Minor fixes (See desc)
* [youtube] Fix `--youtube-skip-dash-manifest`
* [build] Use `$()` in `Makefile`. Closes #3684
* 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
2022-05-09 17:59:26 +05:30
pukkandan d7a1aa00c6
Run FFmpegFixupM3u8PP for live-streams if needed
Closes #3669
2022-05-07 22:36:23 +05:30
pukkandan d4736fdb43
Remove warning for videos with an empty title 2022-05-07 19:45:33 +05:30
coletdev bb58c9ed5c
Add support for SSL client certificate authentication (#3435)
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>
2022-05-02 07:59:45 +00:00
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 #3597
2022-05-01 04:58:38 +05:30
pukkandan 43d7f5a5d0
[EmbedThumbnail] Do not obey -k 2022-05-01 04:58:26 +05:30
pukkandan 1d485a1a79
[cleanup] Misc fixes
Closes #3565, https://github.com/yt-dlp/yt-dlp/issues/3514#issuecomment-1105944364
2022-04-29 07:39:33 +05:30
pukkandan 0a41f331cc
[doc] Minor improvements
Closes #3518, Closes #3560
2022-04-29 06:53:36 +05:30
pukkandan 492272fed6
--match-filter - to interactively ask for each video 2022-04-28 20:04:40 +05:30
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 #1863
2022-04-28 20:04:40 +05:30
pukkandan 0a5a191a2a
Improve --clean-infojson
It should not removes fields that may be needed for `--load-infojson`.
Eg: `_ffmpeg_args`, `_has_drm`
2022-04-28 20:04:40 +05:30
pukkandan 9b8ee23b99
[dependencies] Create module with all dependency imports 2022-04-21 00:48:52 +05:30
pukkandan 19a0394044
[cleanup] Misc cleanup and refactor (#2173) 2022-04-18 02:28:28 +05:30
pukkandan e5a998f368
[cleanup] Misc cleanup (#2173)
Authored by: fstirlitz, pukkandan
2022-04-12 05:32:52 +05:30
pukkandan f82711587c
[cleanup] Sort imports
Using https://github.com/PyCQA/isort

    isort -m VERTICAL_HANGING_INDENT --py 36 -l 80 --rr -n --tc .
2022-04-12 05:32:52 +05:30
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
2022-04-12 05:32:51 +05:30
pukkandan f9934b9614
[cleanup] Mark some compat variables for removal (#2173)
Authored by fstirlitz, pukkandan
2022-04-12 05:32:50 +05:30
felix cfb0511d82
[cleanup] Remove unused code paths (#2173)
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
2022-04-12 05:32:50 +05:30
pukkandan 97ec5bc550
[cookies] Report progress when importing cookies 2022-04-10 01:21:35 +05:30
pukkandan 4abea8ca0a
[utils] sanitize_path: Fix when path is empty string 2022-04-09 10:11:25 +05:30
pukkandan d8a58ddce7
De-prioritize automatic-subtitles when no --sub-lang is given
Closes #3314
2022-04-08 14:01:23 +05:30
pukkandan 316f2650f8
Ignore mhtml formats from -f mergeall
Closes #3324
2022-04-07 16:42:14 +05:30
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)
2022-04-05 18:12:18 +05:30
pukkandan 85e801a9db
Fallback to video-only format when selecting by extension
Closes #3296
2022-04-04 15:13:21 +05:30
pukkandan 5127e92a94
Fix filepath sanitization in --print-to-file 2022-04-04 12:59:44 +05:30
pukkandan cb96c5be70
Fix --no-overwrite for playlist infojson
Fixes: https://github.com/yt-dlp/yt-dlp/issues/1467#issuecomment-1079922971
2022-03-28 08:45:23 +05:30
pukkandan 90137ca4be
[utils] Add filter_dict 2022-03-28 08:25:04 +05:30
pukkandan c0b6e5c74d
Show warning when all media formats have DRM
Related: #1379
2022-03-27 11:39:35 +05:30
pukkandan 5c3895fff1
[outtmpl] Limit changes during sanitization
Closes #2761
2022-03-27 11:18:35 +05:30
pukkandan 34baa9fdf0
[outtmpl] Fix replacement/default when used with alternate 2022-03-26 07:39:59 +05:30
pukkandan 6db9c4d57d
Ignore format-specific fields in initial pass of --match-filter
Closes #3074
2022-03-25 14:27:09 +05:30
pukkandan ae6a1b9585
[docs] Minor improvements
Closes #3127, Closes #3081, Closes #3177
2022-03-24 07:30:25 +05:30
pukkandan c70c418d33
Fix --abort-on-error for subtitles
Closes #3163
2022-03-23 08:53:16 +05:30
coletdev d5820461e8
Use certificates from certifi if installed (#3115)
Fixes #3102 and most `CERTIFICATE_VERIFY_FAILED` issues

Authored by: coletdjnz
2022-03-22 16:26:55 -07:00
pukkandan 0c14d66ad9
Fix autonumber
Bug in 09b49e1f68
2022-03-19 02:29:02 +05:30
pukkandan 16c620bc55
Handle float in --wait-for-video
Closes #3082
2022-03-18 03:25:47 +05:30
pukkandan 592b748582
[cleanup] Minor cleanup
Closes #3006
2022-03-11 19:40:15 +05:30
pukkandan cf4f42cb97
Protect stdout from unexpected progress and console-title
Closes #3023
2022-03-11 19:29:45 +05:30
MMM 10331a2672
Fix --print with --ignore-no-formats when url is None (#3000)
Authored by: flashdagger
2022-03-09 13:12:23 -08:00
pukkandan 08d30158ec
[cleanup, docs] Misc cleanup
Closes #2828, closes #2734, closes #2802, closes #2937
2022-03-08 22:38:06 +05:30
coletdev 4390d5ec12
Add brotli content-encoding support (#2433)
Authored by: coletdjnz
2022-03-08 08:44:05 -08:00
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
2022-03-05 02:24:17 +05:30
pukkandan 8b7539d27c
Implement --add-header without modifying std_headers
Closes #2526, #1614
2022-03-04 20:59:03 +05:30
pukkandan 2a938746f3
Fix verbose log when stdout/stderr encoding is None
See: 5c10453827
2022-03-04 19:49:39 +05:30
pukkandan 319b6059d2
Better error message when no --live-from-start format 2022-03-04 19:49:36 +05:30
pukkandan 4c3f8c3fb6
Handle negative duration from extractor
Closes #2921
2022-03-04 19:49:36 +05:30
Lesmiscore (Naoya Ozaki) 03f830040a
[YoutubeDL] Fill more fields for playlists (#2824) 2022-02-24 18:42:53 +09:00
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
2022-02-23 04:26:48 +05:30
pukkandan 60f3e99592
Tolerate failure to --write-link due to unknown URL
Closes #2724
2022-02-18 18:14:50 +05:30
pukkandan 8d93e69d67
Create necessary directories for --print-to-file
Closes #2721
2022-02-18 18:03:21 +05:30
pukkandan 3aa915400d
Fix -all for --sub-langs
Closes #2703
2022-02-18 18:03:20 +05:30
pukkandan 5c10453827
Fix for when stdout/stderr encoding is None
Closes #2711
2022-02-17 19:21:59 +05:30
pukkandan e8969bda94
Obey --abort-on-error for "ffmpeg not installed"
Closes #1840
2022-02-14 14:40:19 +05:30
pukkandan 57ebfca39b
Set webpage_url_... from webpage_url and not input URL
Closes #2756
2022-02-13 21:15:50 +05:30
Lukas Fink 1ce9a3cb49
Add regex operator and quoting to format filters (#2698)
Closes #2681 
Authored by: lukasfink1
2022-02-11 13:35:34 -08:00
pukkandan 297e9952b6
[extractor] Allow http_headers to be specified for thumbnails 2022-02-11 23:31:12 +05:30
pukkandan 455a15e2dc
[cleanup,docs] Minor fixes
Closes #2541, #2484
2022-02-03 21:00:39 +05:30
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
2022-02-01 06:26:01 +05:30
pukkandan fc08bdd6ab
[extractor] Allow non-fatal title extraction 2022-01-24 21:04:38 +05:30
pukkandan 88f23a18e0
[docs,cleanup] Fix linter and misc cleanup
Closes #2419
2022-01-24 03:24:23 +05:30
pukkandan bb66c24797
Add option --print-to-file
Closes #2372
2022-01-24 03:24:15 +05:30
pukkandan 6a5a30f9e2
Ensure _type is present in info.json
Closes #2447
2022-01-24 01:07:15 +05:30
pukkandan d37707bda4
Fix/improve InAdvancePagedList 2022-01-24 01:07:14 +05:30
pukkandan 6970b6005e
[cleanup] Minor fixes
Closes #2334
2022-01-21 13:27:44 +05:30
pukkandan 0bfc53d05c
List playlist thumbnails in --list-thumbnails 2022-01-21 12:52:15 +05:30
xtkoba f81c62a6a4
Add option --legacy-server-connect (#778)
to allow HTTPS connection to servers that do not support RFC 5746 secure renegotiation

Authored by: xtkoba
2022-01-21 11:42:30 +05:30
MinePlayersPE 426764371f
[iq.com] Add extractors (#2354)
Closes #704
Authored by: MinePlayersPE
2022-01-20 03:53:55 +05:30
pukkandan 3b603dbdf1
Add option --concat-playlist
Closes #1855, related: #382
2022-01-13 16:32:23 +05:30
pukkandan ed8d87f911
[cleanup, docs] Minor fixes
Closes #2230
2022-01-12 09:00:21 +05:30
pukkandan e04938ab88
Check for existing thumbnail/subtitle in final directory
Closes #2275
2022-01-11 14:51:39 +05:30
pukkandan dc5f409cdc
Fix typo in ed5835b451 2022-01-11 00:31:19 +05:30
pukkandan 8130779db6
Allow listing formats, thumbnails, subtitles using --print (#2238)
Closes #2083
Authored by: pukkandan, Zirro
2022-01-11 00:28:01 +05:30
pukkandan ed5835b451
Allow --print to be run at any post-processing stage 2022-01-11 00:28:01 +05:30
coletdjnz f0d785d3ed
[youtube:tab] Extract more playlist metadata (#2069)
* Add fields modified_date, modified_timestamp
* Add field playlist_count
* [youtube:tab] Extract view_count, playlist_count, modified_date

Authored by: coletdjnz, pukkandan
2022-01-07 16:33:02 +05:30
pukkandan 9e907ebddf
[cleanup] Misc cleanup 2022-01-04 01:25:10 +05:30
pukkandan b62fa6d75f
Fix -s --ignore-no-formats --force-write-archive
Bug in a13e684813
2022-01-03 23:52:56 +05:30
pukkandan be72c62480
Fix recursion error in f46e2f9d92
Closes #2216
2022-01-03 23:52:45 +05:30
pukkandan a13e684813
Write download_archive only after all formats are downloaded
Closes #1470
2022-01-03 19:41:11 +05:30
pukkandan f46e2f9d92
Add key requested_downloads in the root info_dict 2022-01-03 19:41:08 +05:30
pukkandan 9c906919ae
Add field video_autonumber
Closes #662
2022-01-03 19:40:11 +05:30
pukkandan 6020e05d23
Raise error if subtitle download fails
Closes #2212
2022-01-03 19:40:06 +05:30
pukkandan ebed8b3732
Add more post-processing stages
playlist = After entire playlist
after_video = After downloading all formats of a video
2022-01-03 19:40:05 +05:30
pukkandan 1e43a6f733
Allow --exec to be run at any post-processing stage
Deprecates `--exec-before-download`
2022-01-03 19:40:02 +05:30
pukkandan ca30f449a1
Add --print playlist: to print fields per playlist 2022-01-03 19:39:59 +05:30
pukkandan 4c922dd3fc
Fix live title for multiple formats 2022-01-02 03:03:26 +05:30
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
2021-12-30 08:44:18 +05:30
pukkandan ceb98323f2
Don't treat empty containers as None in sanitize_info 2021-12-28 02:54:11 +05:30
Matt Broadway f59f5ef8b6
[cookies] Support other keyrings (#2032)
Authored by: mbway
2021-12-27 06:58:44 +05:30
pukkandan 6da22e7d4f
Avoid recursion error when re-extracting info 2021-12-26 04:20:16 +05:30
Benedikt Wildenhain 4b4b7f746c
[OpenCast] Add extractors (#1905)
Original PR: https://github.com/ytdl-org/youtube-dl/pull/26934
Authored by: bwildenhain, C0D3D3V
2021-12-25 03:35:23 +05:30
pukkandan 37893bb0c9
[outtmpl] Change filename sanitization type to S
`F` is already used for float!
Bug in e0fd95737d
2021-12-23 09:15:05 +05:30
Emanuel Hoogeveen 205a0654c0
Add option --file-access-retries (#2066)
Closes #517
Authored by: ehoogeveen-medweb
2021-12-23 07:59:03 +05:30
pukkandan b69fd25c25
[cleanup] Misc cleanup
Closes #1942 #1976 #2020 #2058 #1984
2021-12-23 07:12:46 +05:30
pukkandan e0fd95737d
[outtmpl] Add alternate forms F, D
and improve `id` detection

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

Closes #2085, 2081
2021-12-23 06:49:16 +05:30
pukkandan fa9f30b802
Add interactive format selection with -f -
Closes #2065
2021-12-21 21:40:04 +05:30
The Hatsune Daishi adbc4ec4bb
[dash,youtube] Download live from start to end (#888)
* 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 #1521
Authored by: nao20010128nao, pukkandan
2021-12-20 11:36:46 +05:30
Unit 193 e75bb0d6c3
[cleanup] Fix some typos (#2033)
Authored by: unit193
2021-12-19 20:48:06 +05:30
pukkandan dd0228ce1f
Remove known invalid thumbnails from info_dict
Related: https://github.com/yt-dlp/yt-dlp/issues/980#issuecomment-997396821
2021-12-19 20:25:01 +05:30
PilzAdam e978789f0f
[outtmpl] Add operator & for replacement text (#2012)
Authored by: PilzAdam
2021-12-18 02:05:48 +05:30
pukkandan 39ca3b5c7f
[extractor] Standardize _live_title 2021-12-15 22:09:07 +05:30
pukkandan 0bb322b9c0
Add field webpage_url_domain
Closes #1311
2021-12-15 04:51:52 +05:30
pukkandan 5bfc8bee5a
Fix PostProcessor hooks not registered for some PPs
Closes #1993
2021-12-15 02:14:14 +05:30
pukkandan e3c7d49571
[compat] Suppress errors in enabling VT mode
Closes #1932
2021-12-08 19:58:50 +05:30
pukkandan b5475f1145
Pre-process when using --flat-playlist 2021-12-07 02:07:48 +05:30
pukkandan 38d79fd16c
Use parse_duration for --wait-for-video
and some minor fix
2021-12-06 23:30:33 +05:30
pukkandan 3efb96a6d1
Fix control characters being printed to --console-title
Closes #1859
2021-12-01 22:39:57 +05:30
pukkandan 91f071af60
Release 2021.12.01 2021-12-01 05:46:15 +05:30
pukkandan 5c22c63da3
Fix --trim-filename when filename has .
Closes #1837
2021-11-30 00:14:18 +05:30
pukkandan ee8dd27a73
[cleanup] Add deprecation warnings 2021-11-29 23:34:33 +05:30
pukkandan f304da8a29
[cleanup] Misc cleanup
Closes #1805, closes #1800
2021-11-29 23:34:33 +05:30
pukkandan 36eaf3039a
[build] Save Git HEAD at release alongside version info 2021-11-29 22:52:01 +05:30
pukkandan f2ebc5c7be
Option --wait-for-video to wait for scheduled streams 2021-11-29 22:52:01 +05:30
pukkandan b222c27145
Option --break-per-input to apply --break-on... to each input URL 2021-11-29 22:52:01 +05:30
pukkandan 5e5be0c0b2
Fix --break-on-archive when pre-checking 2021-11-29 22:52:01 +05:30
pukkandan 7578d77d8c
[downloader] Add colors to download progress 2021-11-29 22:51:18 +05:30
pukkandan 75689fe59b
Ensure directory exists when checking formats 2021-11-27 19:21:48 +05:30
pukkandan e04b003e64
[FixupM3u8] Fixup MPEG-TS in MP4 container
Closes #1701, https://github.com/ytdl-org/youtube-dl/issues/26410
2021-11-27 19:21:47 +05:30
pukkandan ff51ed588f
Clarify video/audio-only formats in -F
Related: #1759
2021-11-23 20:42:20 +05:30
Zirro 0e6b018a10
Ensure path for link files exists (#1755)
Authored by: Zirro
2021-11-23 01:41:49 +05:30
pukkandan 282f570918
[utils] Fix error when copying LazyList 2021-11-20 08:33:55 +05:30
pukkandan c07a39ae8e
[utils] Fix PagedList
Bug in d8cf8d97a8
2021-11-20 08:33:53 +05:30
pukkandan c5e3f84972
[utils] Allow alignment in render_table
and add tests
2021-11-20 08:33:51 +05:30
pukkandan dd2a987d3f
[tests] Fix tests 2021-11-19 06:30:25 +05:30
pukkandan 9222c38182
[cleanup] Minor cleanup
Closes #1696, Closes #1673
2021-11-19 05:36:28 +05:30
pukkandan 013b50b794
Fix 'postprocessor_hooks`
Closes #1650
2021-11-15 04:51:11 +05:30
pukkandan dac5df5a98
Add option --embed-info-json to embed info-json in mkv
Closes #1644
2021-11-15 04:51:11 +05:30
pukkandan 7c7f7161fc
Fix --load-info-json of playlists with failed entries 2021-11-13 17:32:07 +05:30
pukkandan bf5f605e76
bugfix for e08a85d865 2021-11-11 08:44:54 +05:30
pukkandan e08a85d865
Fix writing playlist infojson with --no-clean-infojson 2021-11-11 08:18:35 +05:30
pukkandan 093a17107e
Allow using a custom format selector through API
Closes #1619, #1464
2021-11-11 08:18:34 +05:30
pukkandan c586f9e8de
[cleanup] minor fixes 2021-11-10 04:19:54 +05:30
pukkandan 59a7a13ef9
[docs] Minor documentation improvements
Closes #1583, #1599
2021-11-10 04:19:52 +05:30
pukkandan 4476d2c764
[outtmpl] Add alternate forms for q and j 2021-11-10 04:19:42 +05:30
pukkandan aa9369a2d8
[cleanup] Minor improvements to error and debug messages 2021-11-10 04:19:33 +05:30
pukkandan a49891c761
Fix bug in --load-infojson of playlists
Fixes: https://github.com/yt-dlp/yt-dlp/issues/1514#issuecomment-962659529
2021-11-08 00:26:08 +05:30
pukkandan 34921b4345
[utils] Add join_nonempty 2021-11-06 07:53:55 +05:30
pukkandan a4211baff5
[cleanup] Minor cleanup 2021-11-04 03:53:15 +05:30
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
2021-11-04 03:13:37 +05:30
pukkandan 0930b11fda
[docs,cleanup] Improve docs and minor cleanup
Closes #1387, #1404, #1408, #1485, #1415, #1450, #1492
2021-10-31 14:47:33 +05:30
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
2021-10-26 20:27:09 +05:30
pukkandan 08438d2ca5
[outtmpl] Add type link for internet shortcut files
and refactor related code
Closes #1405
2021-10-26 20:27:09 +05:30
pukkandan f2fe69c7b0
Approximate filesize from bitrate
Closes #1400
2021-10-24 18:02:00 +05:30
pukkandan 9f1a1c36e6
Separate --check-all-formats from --check-formats
Previously, `--check-formats` tested only the selected video formats, but ALL thumbnails
2021-10-24 15:00:17 +05:30
pukkandan 96565c7e55
[cleanup] Add keyword automatically to SearchIE descriptions
and some minor cleanup of docs
2021-10-23 21:20:19 +05:30
pukkandan ec11a9f4a2
[minicurses] Add more colors 2021-10-23 05:23:38 +05:30
pukkandan 49a57e70a9
[cleanup] misc 2021-10-23 02:09:10 +05:30
pukkandan 6e21fdd279
[build] Enable lazy-extractors in releases
Set the environment variable `YTDLP_NO_LAZY_EXTRACTORS`
to forcefully disable lazy extractor loading
2021-10-21 19:41:33 +05:30
pukkandan d3c93ec2b7
Don't create console for subprocesses on Windows (#1261)
Closes #1251
2021-10-20 21:49:40 +05:30
pukkandan 176f1866cb
Add HDR information to formats 2021-10-18 18:35:02 +05:30
pukkandan 17bddf3e95
Reduce default --socket-timeout 2021-10-18 16:40:12 +05:30
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, #402

But the overhead in general use is not worth it

Closes #694, #725
2021-10-18 15:44:47 +05:30
pukkandan 239df02103
Make duration_string and resolution available in --match-filter
Related: #1309
2021-10-17 17:39:33 +05:30
pukkandan 71ce444a3f
Fix --restrict-filename when used with default template 2021-10-17 01:03:04 +05:30
pukkandan 03b4de722a
[downloader] Fix slow progress hooks
Closes #1301
2021-10-16 20:02:40 +05:30
pukkandan 48ee10ee8a
Fix conflict b/w id and ext in format selection
Closes #1282
2021-10-16 20:02:30 +05:30
pukkandan 883d4b1eec
[YoutubeDL] Write verbose header to logger 2021-10-14 14:44:30 +05:30
pukkandan 993191c0d5
Fix bug in c111cefa5d 2021-10-13 04:43:26 +05:30
pukkandan b836dc94f2
[outtmpl] Fix bug in expanding environment variables 2021-10-13 04:14:11 +05:30
pukkandan c111cefa5d
[downloader/ffmpeg] Improve simultaneous download and merge 2021-10-13 04:14:11 +05:30
pukkandan 975a0d0df9
Calculate more fields for merged formats
Closes #947
2021-10-13 04:14:11 +05:30
pukkandan a903d8285c
Fix bug in storyboards
Caused by 9359f3d4f0
2021-10-11 17:27:39 +05:30
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
2021-10-11 09:49:52 +05:30
pukkandan a169858f24 Fix check_formats output being written to stdout when -qv
Closes #1229
2021-10-11 09:49:52 +05:30
pukkandan d1d5c08f29
[minicurses] Fix when printing to file
Closes #1215
2021-10-10 09:31:59 +05:30
pukkandan b5ae35ee6d
[cleanup] Misc cleanup 2021-10-09 22:32:00 +05:30
pukkandan 4e3b637d5b
Merge webm formats into mkv if thumbnails are to be embedded
This was originally implemented in 4d971a16b8 (#173) by @damianoamatruda
but was reverted in 3b297919e0
since it was unintentionally being triggered for `write_thumbnail` (See #500)
2021-10-09 22:19:23 +05:30
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 8472674399
[FixupM3u8] Do not run if merge is needed
We pass the relevant arguments to the merger, so separate fixup in redundant
2021-10-06 05:45:19 +05:30
pukkandan 519804a92f
bugfix for 80c03fa98f 2021-10-06 05:45:18 +05:30
pukkandan b11c04a8ae
Fix -f mp4 behaving differently from youtube-dl 2021-10-04 03:08:28 +05:30
Felix S 9359f3d4f0
[extractor] Extract storyboards from SMIL manifests (#1128)
Authored by: fstirlitz
2021-10-03 00:13:42 +05:30
pukkandan e6f21b3d92
[docs,cleanup] Some minor refactoring and improve docs 2021-09-30 03:32:52 +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 360167b9fc Fix --flat-playlist when neither IE nor id is known 2021-09-27 11:29:17 +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 ff1c7fc9d3
Allow 0 in --playlist-items 2021-09-25 03:31:35 +05:30
pukkandan 4c88ff87fc
[build] Improve release process (#880)
* Automate more of the release process by animelover1984, pukkandan - closes #823
* Fix sha256 by nihil-admirari - closes #385
* Bring back brew taps by nao20010128nao #865
* Provide `--onedir` zip for windows by pukkandan - Closes #1024, #661, #705 and #890

Authored by: pukkandan, animelover1984, nihil-admirari, nao20010128nao
2021-09-24 06:31:43 +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 77c4a9ef68
Download subtitles in order of --sub-langs
Closes #1041
2021-09-24 05:14:19 +05:30
Ashish Gupta 388bc4a640
[Hotstar] Add referer for subs (#1062)
Authored by: Ashish0804
2021-09-23 14:30:49 +05:30
pukkandan a21e0ab1a1
[ffmpeg] Add aac_adtstoasc when merging if needed
Related: #1039
2021-09-22 19:51:58 +05:30
pukkandan 7c37ff97d3
Allow alternate fields in outtmpl
Closes #899, #1004
2021-09-18 16:41:01 +05:30
pukkandan edf65256aa
[hls,aes] Fallback to native implementation for AES-CBC
and detect `Cryptodome` in addition to `Crypto`

Closes #935
Related: #938
2021-09-18 00:55:58 +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 d5fe04f5c7
Fix --compat-option no-direct-merge 2021-09-12 21:40:28 +05:30
pukkandan 4614bc22c1 Allow --force-write-archive to work with --flat-playlist
Related: #876
2021-09-04 03:07:29 +05:30
pukkandan 8e5fecc88c
Handle more playlist errors with -i 2021-09-04 03:07:27 +05:30
pukkandan 409e18286e
Fix extra_info being reused across runs
58adec4677 was supposed to solve this, but ended up being an incomplete fix
Closes #727
2021-09-04 01:39:29 +05:30
pukkandan 8113999995
Fix --compat-option playlist-index 2021-09-04 01:39:27 +05:30
pukkandan e0493e90fc
fix bug in 88acdbc269 2021-08-25 10:26:09 +05:30
pukkandan 8b7491c8d1
Fix add_info_extractor when used via API
Bug from: 251ae04e6a
2021-08-23 05:31:55 +05:30
pukkandan 251ae04e6a
[lazy_extractor] Create instance only after pre-checking archive 2021-08-23 05:06:39 +05:30
pukkandan 1151c4079a
[extractor] Show video id in error messages if possible 2021-08-23 02:49:07 +05:30
pukkandan 88acdbc269
[extractor] Better error message for DRM (#729)
Closes #636
2021-08-23 01:38:38 +05:30
pukkandan da33e35b05
Don't try to merge with final extension
The formats may not be directly mergable into the final extension
2021-08-23 00:50:41 +05:30
pukkandan 58adec4677
Fix extra_info being reused across runs
Closes #727
2021-08-19 03:10:58 +05:30
pukkandan 9e598870dd
Fix playlist_index not obeying playlist_start
and add tests
Closes #720
2021-08-17 19:06:10 +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
pukkandan 3ad56b4236
Fix -J when there are failed videos 2021-08-17 04:29:55 +05:30
pukkandan 86c66b2d3e
Fix -F for extractors that directly return url
Related: #693
2021-08-15 00:26:34 +05:30
pukkandan 6c7274ecd2
Fix resuming of single formats when using --no-part
Closes #576
2021-08-15 00:26:32 +05:30
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 #517
2021-08-10 01:22:55 +05:30
pukkandan 2831b4686c Show libraries present in verbose head 2021-08-10 01:22:55 +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 b868936cd6 [cleanup] Misc 2021-08-07 21:17:07 +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 6e84b21559
Fix bugs related to sanitize_info
Related: 8012d892bd (r54555230)
2021-08-07 21:16:55 +05:30
pukkandan b51d2ae3ca
Add compat-option no-keep-subs
Closes #630
2021-08-06 00:55:04 +05:30
pukkandan 124bc071ee
Fix wrong extension for intermediate files
Closes #632
2021-08-05 19:51:14 +05:30
pukkandan 8012d892bd
Ensure sanitization of infodict before printing to stdout
* `filter_requested_info` is renamed to a more appropriate name `sanitize_info`
2021-08-05 03:37:16 +05:30
pukkandan a46a815b05
[cleanup] Fix linter in 96fccc101f 2021-08-01 12:52:09 +05:30
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
2021-08-01 12:38:06 +05:30
pukkandan dbf5416a20 [cleanup] Refactor some code 2021-08-01 12:38:05 +05:30
pukkandan f5510afef0
[FormatSort] Fix bug for audio with unknown codec 2021-08-01 12:13:40 +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
pukkandan 901130bbcf Expand and escape environment variables correctly in outtmpl
Fixes: https://www.reddit.com/r/youtubedl/comments/otfmq3/ytdlp_same_parameters_different_results
2021-07-29 08:38:18 +05:30
pukkandan ea05b3020d
Remove asr appearing twice in -F 2021-07-26 03:38:15 +05:30
pukkandan 3ba7740dd8
[downloader] Pass info_dict to progress_hooks 2021-07-22 04:30:11 +05:30
pukkandan 245524e6a3
Release 2021.07.21
and fix some typos
Closes #538
2021-07-22 02:33:28 +05:30
pukkandan e37d0efbd9
Fix bug where original_url was not propagated when _type=url 2021-07-22 02:32:19 +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 cc9d1493c6
bugfix for 50fed816dd 2021-07-21 20:50:49 +05:30
pukkandan b35496d825
Add only_once param for write_debug 2021-07-21 18:06:34 +05:30
pukkandan c84aeac6b5
Add only_once param for report_warning
Related: https://github.com/yt-dlp/yt-dlp/pull/488#discussion_r667527297
2021-07-21 01:39:58 +05:30
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
2021-07-21 01:04:53 +05:30
pukkandan 3f698246b2
Rename NOTE in -F to MORE INFO
since it's often confused to be the same as `format_note`
2021-07-20 05:30:28 +05:30
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: #340
2021-07-20 03:46:06 +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 3b297919e0
Revert "Merge webm formats into mkv if thumbnails are to be embedded (#173)"
This reverts commit 4d971a16b8 by @damianoamatruda
Closes #500

This was wrongly checking for `write_thumbnail`
2021-07-15 23:34:52 +05:30
pukkandan b5ac45b197
Fix selectors all, mergeall and add tests
Bug from: 981052c9c6
2021-07-07 21:10:43 +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
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
2021-07-03 01:16:19 +05:30
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`
2021-07-02 08:17:37 +05:30
pukkandan 49c258e18d
[youtube] Fix subtitle names for age-gated videos
Related: https://github.com/iv-org/invidious/pull/2205#issuecomment-868680486
2021-06-25 23:10:31 +05:30
pukkandan d3f62c1967
Fix --throttled-rate when using --load-info-json 2021-06-25 22:57:17 +05:30
pukkandan 5d3a0e794b
Add --extractor-args to pass extractor-specific arguments 2021-06-25 20:10:28 +05:30