Commit Graph

71 Commits (325191d0c9bf3fe257b8a7c2eb95080f44f6ddfc)

Author SHA1 Message Date
bashonly 1ceb657bdd
[fd/external] Scope cookies
- ffmpeg: Calculate cookies from cookiejar and pass with `-cookies` arg instead of `-headers`
- aria2c, curl, wget: Write cookiejar to file and use external FD built-in cookiejar support
- httpie: Calculate cookies from cookiejar instead of `http_headers`
- axel: Calculate cookies from cookiejar and disable http redirection if cookies are passed
    - May break redirects, but axel simply don't have proper cookie support

Ref: https://github.com/yt-dlp/yt-dlp/security/advisories/GHSA-v8mc-9377-rwjj

Authored by: bashonly, coletdjnz
1 year ago
pukkandan 8a8af356e3
[downloader/aria2c] Add `--no-conf`
Closes #7404
1 year ago
coletdjnz 955c89584b
[core] Deprecate internal `Youtubedl-no-compression` header (#6876)
Authored by: coletdjnz
2 years ago
pukkandan 66aeaac9aa
[downloader/curl] Fix progress reporting
Bug in 8c53322cda
Closes #6490
2 years ago
bashonly 7e68567e50
[downloader/hls] Allow extractors to provide AES key (#6158)
and related cleanup

Authored by: bashonly, Grub4K

Co-authored-by: Simon Sawicki <contact@grub4k.xyz>
2 years ago
pukkandan ad68b16a1e
[downloader/aria2c] Disable native progress
Closes #5931, closes #5928, Re-opens #2038
2 years ago
Lesmiscore 8c53322cda
[downloader/aria2c] Native progress for aria2c via RPC (#3724)
Authored by: Lesmiscore, pukkandan

Closes #2038
2 years ago
bashonly 3cf50fa8e9
[downloader/ffmpeg] Fix headers for video+audio formats (#5659)
Authored by: bashonly, Grub4K
2 years ago
std-move af7a5eef2f
[downloader/aria2c] Fix filename containing leading whitespace (#5099)
Similar to eb55bad5a0, but for fragmented downloads
Authored by: std-move
2 years ago
pukkandan e1eabd7beb
[downloader/external] Smarter detection of executable
Closes #4778
2 years ago
pukkandan be5c1ae862
Standardize retry mechanism (#1649)
* [utils] Create `RetryManager`
* Migrate all retries to use the manager
* [extractor] Add wrapper methods for convenience
* Standardize console messages for retries
* Add `--retry-sleep` for extractors
2 years ago
pukkandan 14f25df2b6
[compat] Remove deprecated functions from core code 2 years ago
pukkandan ac66811112
[compat] Remove more functions
Removing any more will require changes to a large number of extractors
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 5ec1b6b716
Add option `--download-sections` to download video partially
Closes #52, Closes #3932
2 years ago
pukkandan c487cf0010
[cleanup] Misc 3 years ago
pukkandan 2762dbb17e
[compat] Add `functools.cached_property` 3 years ago
pukkandan 23326151c4
Add option --retry-sleep (#3059)
Closes #2852
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 1d485a1a79
[cleanup] Misc fixes
Closes #3565, https://github.com/yt-dlp/yt-dlp/issues/3514#issuecomment-1105944364
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
Elyse 00828e2c93
[downloader/ffmpeg] Specify headers for each URL (#3553)
Closes #2696
Authored by: elyse0
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 28787f16c6
[downloader] Fix invocation of `HttpieFD`
Closes #3154
3 years ago
coletdev af14914baa
Remove `Accept-Encoding` header from `std_headers` (#3153)
This should be set by each downloader to what it supports.
Fixes https://github.com/yt-dlp/yt-dlp/issues/3142
Authored-by: coletdjnz
3 years ago
coletdev 8a23db9519
[wget] Fix proxy (#3152)
Upstream PR: https://github.com/ytdl-org/youtube-dl/pull/29343
Authored-by: kikuyan, coletdjnz
3 years ago
Emanuel Hoogeveen 45806d44a7
[downloader] Obey `--file-access-retries` when deleting/renaming (#2224)
Authored by: ehoogeveen-medweb
3 years ago
pukkandan dcd55f766d
[aria2c] Add `--http-accept-gzip=true`
Closes #1936, #1236
3 years ago
pukkandan af6793f804
[downloader/ffmpeg] Handle unknown formats better 3 years ago
pukkandan d57576b9d9
[httpie] Fix `available` method
Closes #2330
3 years ago
pukkandan f44afb54ef
[aria2c] Don't show progress when `--no-progress` 3 years ago
Emanuel Hoogeveen 205a0654c0
Add option `--file-access-retries` (#2066)
Closes #517
Authored by: ehoogeveen-medweb
3 years ago
pukkandan 234416e4bf
[downloader/ffmpeg] Fix for direct videos inside mpd manifests
Closes #1751
3 years ago
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
3 years ago
pukkandan d3c93ec2b7
Don't create console for subprocesses on Windows (#1261)
Closes #1251
3 years ago
pukkandan b4b855ebc7
[fragment] Print error message when skipping fragment 3 years ago
pukkandan fc5c8b6492
[eria2c] Fix --skip-unavailable fragment 3 years ago
pukkandan c111cefa5d
[downloader/ffmpeg] Improve simultaneous download and merge 3 years ago
pukkandan d806c9fd97
[docs,cleanup] Add deprecation warning in docs
for some counter intuitive behaviour that may be removed in future.

and fix linter
3 years ago
pukkandan 1009f67c2a
[fragment,aria2c] Generalize and refactor some code 3 years ago
pukkandan 96933fc1b6
[aria2c] Fix IV for some AES-128 streams
Authored by: shirt
3 years ago
pukkandan edf65256aa
[hls,aes] Fallback to native implementation for AES-CBC
and detect `Cryptodome` in addition to `Crypto`

Closes #935
Related: #938
3 years ago
pukkandan d5fe04f5c7
Fix `--compat-option no-direct-merge` 3 years ago
pukkandan 691d5823d6
[aria2c] Obey `--rate-limit` 3 years ago
pukkandan 6251555f1c
[downloader/ffmpeg] Support for DASH manifests (experimental)
Closes #159
3 years ago
pukkandan 330690a214
[downloader/ffmpeg] Allow passing custom arguments before -i
Closes #686
3 years ago
nikhil bb36a55c41
[nbcolympics:stream] Fix extractor
PR: https://github.com/ytdl-org/youtube-dl/pull/29688
Closes: #617, https://github.com/ytdl-org/youtube-dl/issues/29665

* Livestreams are untested
* If using ffmpeg as downloader, v4.3+ is needed since `-http_seekable` option is necessary
* Instead of making a seperate key for each arg that needs to be passed to ffmpeg, I made `_ffmpeg_args`
* This deprecates `_seekable`, but the option is kept for compatibility

Authored by: nchilada, pukkandan
3 years ago
pukkandan e5611e8eda
[ffmpeg] Fix streaming `mp4` to `stdout` 3 years ago
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
3 years ago