Commit Graph

467 Commits (95a383be1b6fb00c92ee3fb091732c4f6009acb6)

Author SHA1 Message Date
pukkandan eff4275925
Add deprecation warning for Py3.6
See: https://github.com/yt-dlp/yt-dlp/issues/3764
2 years ago
pukkandan 3975b4d2e8
Allow extractors to specify section_start/end for clips 2 years ago
pukkandan 7b2c3f47c6
[cleanup] Misc 2 years ago
pukkandan 8aa0e7cd96
[docs] Improvements 2 years ago
pukkandan bf1824b391
[cleanup] Deprecate `YoutubeDL.parse_outtmpl` 2 years ago
pukkandan 7e9a612585
Add option `--lazy-playlist` to process entries as they are received 2 years ago
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 #2951, Closes #2853
2 years ago
pukkandan f0c9fb9682
[utils] `Popen`: Refactor to use contextmanager
Fixes https://github.com/yt-dlp/yt-dlp/issues/3531#issuecomment-1156223597
2 years ago
pukkandan 560738f34d
[extractor] Import `_ALL_CLASSES` lazily
This significantly speeds up `import yt_dlp` in the absence of `lazy_extractors`
2 years ago
pukkandan fccf90e7f3
Fix bug in 56ba69e4c9 2 years ago
pukkandan 64fa820ccf
[cleanup] Misc fixes (see desc)
* [tvver] Fix bug in 6837633a4a - Closes #4054
* [rumble] Fix tests - Closes #3976
* [make] Remove `cat` abuse - Closes #3989
* [make] Revert #3684 - Closes #3814
* [utils] Improve `get_elements_by_class` - Closes #3993
* [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
2 years ago
pukkandan 56ba69e4c9
[cleanup] Misc fixes
Closes #4027
2 years ago
pukkandan 5ec1b6b716
Add option `--download-sections` to download video partially
Closes #52, Closes #3932
2 years ago
pukkandan 1890fc6389
[cleanup] Misc fixes
Cherry-picks from: #3498, #3947
Related: #3949, https://github.com/yt-dlp/yt-dlp/issues/1839#issuecomment-1140313836
Authored by: pukkandan, flashdagger, gamer191
2 years ago
pukkandan 0bf9dc1e35
Fix bug in 8a82af3511 2 years ago
pukkandan 8a82af3511
[cleanup] Misc fixes and cleanup
Closes #3780, Closes #3853, Closes #3850
2 years ago
pukkandan c487cf0010
[cleanup] Misc 2 years ago
pukkandan 415f8d51a8
Ensure pre-processor errors do not block video download
Closes #2875
3 years ago
pukkandan ca6d59d2c1
Fix `--simulate --max-downloads`
Bug in c3e6ffba53
Closes #3815
3 years ago
pukkandan 53973b4d2c
[utils] Fix bug in 0b9c08b47b
* Cache of `supports_terminal_sequences` must be reset after enabling VT mode
* and move `windows_enable_vt_mode` to utils to avoid cyclic imports
3 years ago
pukkandan 23326151c4
Add option --retry-sleep (#3059)
Closes #2852
3 years ago
pukkandan 21633673c3
[cleanup] Minor fixes 3 years ago
pukkandan 7896214c42
Bugfix for 591bb9d355
Closes #3769
3 years ago
pukkandan 5792c950bf
[compat] Implement `compat.imghdr`
Python 3.11 deprecates `imghdr` module
3 years ago
pukkandan 591bb9d355
Fix color in `-q -F`
and convert `ydl._out_files`/`ydl._allow_colors` to `Namespace`

Closes #3761
3 years ago
pukkandan 490110c543
`--max-downloads` should obey `--break-per-input` 3 years ago
pukkandan 2414649192
[cleanup] Misc cleanup 3 years ago
pukkandan 494f52308b
[FixupM3u8] Obey `--hls-prefer-mpegts`
Closes #3697
3 years ago
pukkandan 3a408f9d19
Show name of downloader in verbose log
Closes #3703
3 years ago
pukkandan d76fa1f3d4
[cookies] Allow `cookiefile` to be a text stream
Closes #3674
3 years ago
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
3 years ago
pukkandan d7a1aa00c6
Run `FFmpegFixupM3u8PP` for live-streams if needed
Closes #3669
3 years ago
pukkandan d4736fdb43
Remove warning for videos with an empty title 3 years ago
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>
3 years ago
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
3 years ago
pukkandan 43d7f5a5d0
[EmbedThumbnail] Do not obey `-k` 3 years ago
pukkandan 1d485a1a79
[cleanup] Misc fixes
Closes #3565, https://github.com/yt-dlp/yt-dlp/issues/3514#issuecomment-1105944364
3 years ago
pukkandan 0a41f331cc
[doc] Minor improvements
Closes #3518, Closes #3560
3 years ago
pukkandan 492272fed6
`--match-filter -` to interactively ask for each video 3 years ago
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
3 years ago
pukkandan 0a5a191a2a
Improve `--clean-infojson`
It should not removes fields that may be needed for `--load-infojson`.
Eg: `_ffmpeg_args`, `_has_drm`
3 years ago
pukkandan 9b8ee23b99
[dependencies] Create module with all dependency imports 3 years ago
pukkandan 19a0394044
[cleanup] Misc cleanup and refactor (#2173) 3 years ago
pukkandan e5a998f368
[cleanup] Misc cleanup (#2173)
Authored by: fstirlitz, pukkandan
3 years ago
pukkandan f82711587c
[cleanup] Sort imports
Using https://github.com/PyCQA/isort

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

Authored by: coletdjnz
3 years ago
pukkandan 0c14d66ad9
Fix `autonumber`
Bug in 09b49e1f68
3 years ago
pukkandan 16c620bc55
Handle float in `--wait-for-video`
Closes #3082
3 years ago
pukkandan 592b748582
[cleanup] Minor cleanup
Closes #3006
3 years ago
pukkandan cf4f42cb97
Protect stdout from unexpected progress and console-title
Closes #3023
3 years ago
MMM 10331a2672
Fix `--print` with `--ignore-no-formats` when url is `None` (#3000)
Authored by: flashdagger
3 years ago
pukkandan 08d30158ec
[cleanup, docs] Misc cleanup
Closes #2828, closes #2734, closes #2802, closes #2937
3 years ago
coletdev 4390d5ec12
Add brotli content-encoding support (#2433)
Authored by: coletdjnz
3 years ago
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
3 years ago
pukkandan 8b7539d27c
Implement `--add-header` without modifying `std_headers`
Closes #2526, #1614
3 years ago
pukkandan 2a938746f3
Fix verbose log when stdout/stderr encoding is `None`
See: 5c10453827
3 years ago
pukkandan 319b6059d2
Better error message when no --live-from-start format 3 years ago
pukkandan 4c3f8c3fb6
Handle negative duration from extractor
Closes #2921
3 years ago
Lesmiscore (Naoya Ozaki) 03f830040a
[YoutubeDL] Fill more fields for playlists (#2824) 3 years ago
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
3 years ago
pukkandan 60f3e99592
Tolerate failure to `--write-link` due to unknown URL
Closes #2724
3 years ago
pukkandan 8d93e69d67
Create necessary directories for `--print-to-file`
Closes #2721
3 years ago
pukkandan 3aa915400d
Fix `-all` for `--sub-langs`
Closes #2703
3 years ago
pukkandan 5c10453827
Fix for when stdout/stderr encoding is None
Closes #2711
3 years ago
pukkandan e8969bda94
Obey `--abort-on-error` for "ffmpeg not installed"
Closes #1840
3 years ago
pukkandan 57ebfca39b
Set `webpage_url_...` from `webpage_url` and not input URL
Closes #2756
3 years ago
Lukas Fink 1ce9a3cb49
Add regex operator and quoting to format filters (#2698)
Closes #2681 
Authored by: lukasfink1
3 years ago
pukkandan 297e9952b6
[extractor] Allow `http_headers` to be specified for `thumbnails` 3 years ago
pukkandan 455a15e2dc
[cleanup,docs] Minor fixes
Closes #2541, #2484
3 years ago
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
3 years ago
pukkandan fc08bdd6ab
[extractor] Allow non-fatal `title` extraction 3 years ago
pukkandan 88f23a18e0
[docs,cleanup] Fix linter and misc cleanup
Closes #2419
3 years ago
pukkandan bb66c24797
Add option `--print-to-file`
Closes #2372
3 years ago
pukkandan 6a5a30f9e2
Ensure `_type` is present in `info.json`
Closes #2447
3 years ago
pukkandan d37707bda4
Fix/improve `InAdvancePagedList` 3 years ago
pukkandan 6970b6005e
[cleanup] Minor fixes
Closes #2334
3 years ago
pukkandan 0bfc53d05c
List playlist thumbnails in `--list-thumbnails` 3 years ago
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
3 years ago
MinePlayersPE 426764371f
[iq.com] Add extractors (#2354)
Closes #704
Authored by: MinePlayersPE
3 years ago
pukkandan 3b603dbdf1
Add option `--concat-playlist`
Closes #1855, related: #382
3 years ago
pukkandan ed8d87f911
[cleanup, docs] Minor fixes
Closes #2230
3 years ago
pukkandan e04938ab88
Check for existing thumbnail/subtitle in final directory
Closes #2275
3 years ago
pukkandan dc5f409cdc
Fix typo in ed5835b451 3 years ago
pukkandan 8130779db6
Allow listing formats, thumbnails, subtitles using `--print` (#2238)
Closes #2083
Authored by: pukkandan, Zirro
3 years ago
pukkandan ed5835b451
Allow `--print` to be run at any post-processing stage 3 years ago
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
3 years ago
pukkandan 9e907ebddf
[cleanup] Misc cleanup 3 years ago
pukkandan b62fa6d75f
Fix `-s --ignore-no-formats --force-write-archive`
Bug in a13e684813
3 years ago
pukkandan be72c62480
Fix recursion error in f46e2f9d92
Closes #2216
3 years ago
pukkandan a13e684813
Write `download_archive` only after all formats are downloaded
Closes #1470
3 years ago
pukkandan f46e2f9d92
Add key `requested_downloads` in the root `info_dict` 3 years ago
pukkandan 9c906919ae
Add field `video_autonumber`
Closes #662
3 years ago
pukkandan 6020e05d23
Raise error if subtitle download fails
Closes #2212
3 years ago
pukkandan ebed8b3732
Add more post-processing stages
playlist = After entire playlist
after_video = After downloading all formats of a video
3 years ago
pukkandan 1e43a6f733
Allow `--exec` to be run at any post-processing stage
Deprecates `--exec-before-download`
3 years ago
pukkandan ca30f449a1
Add `--print playlist:` to print fields per playlist 3 years ago
pukkandan 4c922dd3fc
Fix live title for multiple formats 3 years ago
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
3 years ago
pukkandan ceb98323f2
Don't treat empty containers as `None` in `sanitize_info` 3 years ago
Matt Broadway f59f5ef8b6
[cookies] Support other keyrings (#2032)
Authored by: mbway
3 years ago
pukkandan 6da22e7d4f
Avoid recursion error when re-extracting info 3 years ago
Benedikt Wildenhain 4b4b7f746c
[OpenCast] Add extractors (#1905)
Original PR: https://github.com/ytdl-org/youtube-dl/pull/26934
Authored by: bwildenhain, C0D3D3V
3 years ago
pukkandan 37893bb0c9
[outtmpl] Change filename sanitization type to `S`
`F` is already used for float!
Bug in e0fd95737d
3 years ago
Emanuel Hoogeveen 205a0654c0
Add option `--file-access-retries` (#2066)
Closes #517
Authored by: ehoogeveen-medweb
3 years ago
pukkandan b69fd25c25
[cleanup] Misc cleanup
Closes #1942 #1976 #2020 #2058 #1984
3 years ago
pukkandan e0fd95737d
[outtmpl] Add alternate forms `F`, `D`
and improve `id` detection

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

Closes #2085, 2081
3 years ago
pukkandan fa9f30b802
Add interactive format selection with `-f -`
Closes #2065
3 years ago
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
3 years ago
Unit 193 e75bb0d6c3
[cleanup] Fix some typos (#2033)
Authored by: unit193
3 years ago
pukkandan dd0228ce1f
Remove known invalid thumbnails from `info_dict`
Related: https://github.com/yt-dlp/yt-dlp/issues/980#issuecomment-997396821
3 years ago
PilzAdam e978789f0f
[outtmpl] Add operator `&` for replacement text (#2012)
Authored by: PilzAdam
3 years ago
pukkandan 39ca3b5c7f
[extractor] Standardize `_live_title` 3 years ago
pukkandan 0bb322b9c0
Add field `webpage_url_domain`
Closes #1311
3 years ago
pukkandan 5bfc8bee5a
Fix PostProcessor hooks not registered for some PPs
Closes #1993
3 years ago
pukkandan e3c7d49571
[compat] Suppress errors in enabling VT mode
Closes #1932
3 years ago
pukkandan b5475f1145
Pre-process when using `--flat-playlist` 3 years ago
pukkandan 38d79fd16c
Use `parse_duration` for `--wait-for-video`
and some minor fix
3 years ago
pukkandan 3efb96a6d1
Fix control characters being printed to `--console-title`
Closes #1859
3 years ago
pukkandan 91f071af60
Release 2021.12.01 3 years ago
pukkandan 5c22c63da3
Fix `--trim-filename` when filename has `.`
Closes #1837
3 years ago
pukkandan ee8dd27a73
[cleanup] Add deprecation warnings 3 years ago
pukkandan f304da8a29
[cleanup] Misc cleanup
Closes #1805, closes #1800
3 years ago
pukkandan 36eaf3039a
[build] Save Git HEAD at release alongside version info 3 years ago
pukkandan f2ebc5c7be
Option `--wait-for-video` to wait for scheduled streams 3 years ago
pukkandan b222c27145
Option `--break-per-input` to apply --break-on... to each input URL 3 years ago
pukkandan 5e5be0c0b2
Fix --break-on-archive when pre-checking 3 years ago
pukkandan 7578d77d8c
[downloader] Add colors to download progress 3 years ago
pukkandan 75689fe59b
Ensure directory exists when checking formats 3 years ago
pukkandan e04b003e64
[FixupM3u8] Fixup MPEG-TS in MP4 container
Closes #1701, https://github.com/ytdl-org/youtube-dl/issues/26410
3 years ago
pukkandan ff51ed588f
Clarify video/audio-only formats in -F
Related: #1759
3 years ago
Zirro 0e6b018a10
Ensure path for link files exists (#1755)
Authored by: Zirro
3 years ago
pukkandan 282f570918
[utils] Fix error when copying `LazyList` 3 years ago