| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| | |
Authored by: coletdjnz, pukkandan
|
| |
| |
| |
| |
| |
| |
| |
| | |
This is useful for HLS where detecting whether the format is
actually DRM requires the child manifest to be downloaded.
Makes the error message when using `--test` inconsistent,
but doesn't really matter.
|
| |
| |
| |
| | |
Closes #6292, closes #6272, closes #6338
|
| |
| |
| |
| |
| |
| |
| |
| | |
and related cleanup
Authored by: bashonly, Grub4K
Co-authored-by: Simon Sawicki <contact@grub4k.xyz>
|
| | |
|
|\| |
|
| | |
|
|\| |
|
| |
| |
| |
| | |
We do not automatically switch to ffmpeg because the detection is not 100% accurate
|
| | |
|
| | |
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* [youtube] Fix `--youtube-skip-dash-manifest`
* [build] Use `$()` in `Makefile`. Closes #3684
* Fix bug in 385ffb467b2285e85a2a5495b90314ba1f8e0700
* Fix bug in 43d7f5a5d0c77556156a3f8caa6976d3908a1e38
* [cleanup] Remove unnecessary `utf-8` from `str.encode`/`bytes.decode`
* [utils] LazyList: Expose unnecessarily "protected" attributes
and other minor cleanup
|
| |
| |
| |
| |
| | |
Cherry-picked from #3302
Authored by: fstirlitz
|
| | |
|
| |
| |
| |
| |
| |
| | |
Using https://github.com/PyCQA/isort
isort -m VERTICAL_HANGING_INDENT --py 36 -l 80 --rr -n --tc .
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\| |
|
| |
| |
| | |
Authored by: nyuszika7h
|
| |
| |
| |
| | |
Closes #1301
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
* Unpad HLS fragments with PKCS#7 according to datatracker.ietf.org/doc/html/rfc8216
* media_sequence should only be incremented in for media fragments
* The native decryption should only be used if ffmpeg is unavailable since it is significantly slower. Closes #1086
Authored by: shirt-dev, pukkandan
|
| |
| |
| |
| | |
Authored by: shirt
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
and detect `Cryptodome` in addition to `Crypto`
Closes #935
Related: #938
|
| |
| |
| |
| |
| |
| | |
In some streams, empty segments may appear with a bogus, non-monotone MPEG timestamp.
This should not be considered as an overflow
Authored by: fstirlitz
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes: https://github.com/yt-dlp/yt-dlp/issues/631#issuecomment-893338552
Previous deduplication algorithm only removed duplicate cues with
identical text, styles and timestamps. This change also merges
cues that come in ‘daisy chains’, where sequences of cues with
identical text and styles appear in which the ending timestamp of
one equals the starting timestamp of the next.
This deduplication algorithm has the somewhat unfortunate side effect
that NOTE blocks between cues, if found, will be emitted in a different
order relative to their original cues. This may be unwanted if perfect
fidelity is desired, but then so is daisy-chain deduplication itself.
NOTE blocks ought to be ignored by WebVTT players in any case.
Authored by: fstirlitz
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Closes #373
|
| |
| |
| |
| |
| |
| |
| | |
fragment content in memory
Partial fix for #359
This is a temporary solution until #364 can be implemented
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Renamed `--external-downloader-args` to `--downloader-args`
* Added `native` as an option for the downloader
* Use similar syntax to `--downloader-args` etc. Eg: `--downloader dash:native --downloader aria2c`
* Deprecated `--hls-prefer-native` and `--hls-prefer-ffmpeg` since the same can now be done with `--downloader "m3u8:native"` and `m3u8:ffmpeg` respectively
* Split `frag_urls` protocol into `m3u8_frag_urls` and `dash_frag_urls`
* Standardize shortening of protocol names with `downloader.shorten_protocol_name`
|
| |
| |
| |
| | |
Co-authored by: Damiano Amatruda <damiano.amatruda@outlook.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Option `--concurrent-fragments` (`-N`) to set the number of threads
Related: #165
Known issues:
* When receiving Ctrl+C, the process will exit only after finishing the currently downloading fragments
* The download progress shows the speed of only one thread
Authored by shirt-dev
|
| |
| |
| |
| |
| |
| |
| | |
* Fix error when there is no `protocol` in `info_dict`
* Move HLS byte range detection to `Aria2cFD` so that the download will fall back to the native downloader instead of ffmpeg
* Fix bug with getting no fragments in DASH
* Convert `check_results` in `can_download` to a generator
|
| |
| |
| | |
Authored by: shirt
|
|
|
|
|
|
|
|
|
| |
* All modules and binary names are changed
* All documentation references changed
* yt-dlp no longer loads youtube-dlc config files
* All URLs changed to point to organization account
Co-authored-by: Pccode66
Co-authored-by: pukkandan
|