aboutsummaryrefslogtreecommitdiffstats
path: root/yt_dlp/downloader/hls.py
Commit message (Collapse)AuthorAgeFilesLines
* update from upstreamJesus2023-09-041-30/+51
|\
| * [compat, networking] Deprecate old functions (#2861)coletdjnz2023-07-151-1/+1
| | | | | | | | Authored by: coletdjnz, pukkandan
| * [core] Allow extractors to mark formats as potentially DRM (#7396)pukkandan2023-07-061-10/+20
| | | | | | | | | | | | | | | | 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.
| * [dependencies] Simplify `Cryptodome`pukkandan2023-02-281-1/+1
| | | | | | | | Closes #6292, closes #6272, closes #6338
| * [downloader/hls] Allow extractors to provide AES key (#6158)bashonly2023-02-081-17/+28
| | | | | | | | | | | | | | | | and related cleanup Authored by: bashonly, Grub4K Co-authored-by: Simon Sawicki <contact@grub4k.xyz>
| * [dependencies] Standardize `Cryptodome` importspukkandan2023-02-081-2/+2
| |
* | update from upstream 2022-12-01 UTC+8Jesús2022-12-011-1/+1
|\|
| * [cleanup] Misc cleanuppukkandan2022-06-291-1/+1
| |
* | updated from upstream | 27/06/2022 at 01:25Jesús2022-06-271-9/+15
|\|
| * [hls] Warn user when trying to download live HLSpukkandan2022-06-261-3/+9
| | | | | | | | We do not automatically switch to ffmpeg because the detection is not 100% accurate
| * [compat] Remove deprecated functions from core codepukkandan2022-06-251-5/+5
| |
| * [cleanup] Miscpukkandan2022-05-211-1/+1
| |
* | updated from upstream | 17/05/2022 at 10:10Jesús2022-05-171-29/+19
|\|
| * [cleanup] Minor fixes (See desc)pukkandan2022-05-091-2/+2
| | | | | | | | | | | | | | | | | | | | * [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
| * [hls] Fix unapplied byte_range for EXT-X-MAP fragmentfelix2022-05-021-8/+8
| | | | | | | | | | Cherry-picked from #3302 Authored by: fstirlitz
| * [dependencies] Create module with all dependency importspukkandan2022-04-211-2/+3
| |
| * [cleanup] Sort importspukkandan2022-04-121-14/+6
| | | | | | | | | | | | Using https://github.com/PyCQA/isort isort -m VERTICAL_HANGING_INDENT --py 36 -l 80 --rr -n --tc .
| * [cleanup] Upgrade syntaxpukkandan2022-04-121-4/+1
| | | | | | | | | | | | | | | | | | | | 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
* | updated from upstream | 27/11/2021 at 13:25Jesús2021-11-271-0/+9
|\|
| * [hls] Better FairPlay DRM detection (#1661)nyuszika7h2021-11-191-0/+9
| | | | | | Authored by: nyuszika7h
| * [downloader] Fix slow progress hookspukkandan2021-10-161-3/+2
| | | | | | | | Closes #1301
| * [docs,build] Change all pycryptodome references to pycryptodomexpukkandan2021-10-061-2/+2
| |
| * [HLS] Fix decryption issues (#1117)shirt2021-09-291-7/+13
| | | | | | | | | | | | | | * 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
| * [fragment] Fix range header when using `-N` and media sequence (#1048)pukkandan2021-09-221-0/+2
| | | | | | | | Authored by: shirt
| * [hls] Byterange + AES128 is supported by native downloaderpukkandan2021-09-191-2/+0
| |
| * [hls,aes] Fallback to native implementation for AES-CBCpukkandan2021-09-181-5/+2
| | | | | | | | | | | | | | and detect `Cryptodome` in addition to `Crypto` Closes #935 Related: #938
| * [webvtt] Fix timestamp overflow adjustment (#698)Felix S2021-08-151-2/+8
| | | | | | | | | | | | 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
| * [webvtt] Merge daisy-chained duplicate cues (#638)Felix S2021-08-101-18/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * [cleanup] Fix linter in 96fccc101f8f579ebd67da176e029803d82634c7pukkandan2021-08-011-1/+1
| |
| * [downloader] Allow streaming unmerged formats to stdout using ffmpegpukkandan2021-08-011-1/+2
| | | | | | | | | | | | | | | | | | 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
| * [cleanup] Refactor some codepukkandan2021-08-011-5/+2
| |
| * [downloader] Pass `info_dict` to `progress_hook`spukkandan2021-07-221-1/+1
| |
| * [cleanup] Minor refactoring of `fragment`pukkandan2021-06-241-69/+69
| |
| * [fragment] Return status of download correctlypukkandan2021-06-241-5/+2
| |
| * [fragment] Merge during download for `-N`, and refactor `hls`/`dash` (#364)pukkandan2021-06-221-139/+4
| |
| * [hls] Decrypt fragment when reading from diskpukkandan2021-06-051-15/+16
| | | | | | | | Closes #373
| * [hls,dash] When using `concurrent_fragment_downloads`, do not keep the ↵pukkandan2021-05-301-3/+8
| | | | | | | | | | | | | | fragment content in memory Partial fix for #359 This is a temporary solution until #364 can be implemented
| * [hls] Disable external downloader for `webtt`pukkandan2021-05-301-3/+5
| |
| * [fragment] Make sure first segment is not skippedpukkandan2021-05-091-2/+3
| |
| * [fragment] Ensure the file is closed on errorpukkandan2021-05-041-0/+3
| |
| * [downloader/hls] Handle MPEG-2 PES timestamp overflowFelix S2021-04-281-1/+10
| |
| * [downloader/hls] Remove duplicate cues using a sliding window of candidatesFelix S2021-04-281-0/+25
| |
| * [downloader/hls] Assemble single-file WebVTT subtitles from HLS segmentsFelix S2021-04-281-0/+44
| |
| * Py2 compatibility for `FileNotFoundError`pukkandan2021-04-261-1/+5
| |
| * Option to choose different downloader for different protocolspukkandan2021-04-101-2/+2
| | | | | | | | | | | | | | | | | | * 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`
| * More consistent warning messages (#173)pukkandan2021-03-201-6/+9
| | | | | | | | Co-authored by: Damiano Amatruda <damiano.amatruda@outlook.com>
| * Native concurrent downloading of fragments (#166)shirt2021-03-131-61/+127
| | | | | | | | | | | | | | | | | | | | | | * 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
| * More improvements to HLS/DASH external downloader codepukkandan2021-03-111-15/+20
| | | | | | | | | | | | | | * 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
| * Improve HLS/DASH external downloader code (#162)shirt-dev2021-03-101-13/+18
| | | | | | Authored by: shirt
| * Completely change project name to yt-dlp (#85)Pccode662021-02-251-0/+289
| | | | | | | | | * 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