Commit Graph

211 Commits (acb1042a9ffa8769fe691beac1011d6da1fcf321)

Author SHA1 Message Date
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 a46a815b05
[cleanup] Fix linter in 96fccc101f 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
pukkandan dbf5416a20 [cleanup] Refactor some code 3 years ago
pukkandan f45e6c1126
[downloader] Pass same status object to all `progress_hooks` 3 years ago
pukkandan 3ba7740dd8
[downloader] Pass `info_dict` to `progress_hook`s 3 years ago
pukkandan 11f9be0912
[youtube] Extract data from multiple clients (#536)
* `player_client` accepts multiple clients
* default `player_client` = `android,web`
* music clients can be specifically requested
* Add IOS `player_client`
* Hide live dash since they can't be downloaded

Closes #501

Authored-by: pukkandan, colethedj
3 years ago
pukkandan 723d44b92b
[fragment] Handle errors in threads correctly 3 years ago
pukkandan 6b6c16ca6c [downloader/ffmpeg] Fix `--ppa` when using simultaneous download 3 years ago
siikamiika c2603313b1
[youtube_live_chat] use `clickTrackingParams` (#449)
Authored by: siikamiika
3 years ago
pukkandan bd4d1ea398
[cleanup] Minor refactoring of `fragment` 3 years ago
pukkandan 8e897ed283
[fragment] Return status of download correctly 3 years ago
siikamiika d534c4520b
[youtube_live_chat] Fix download with cookies (#437)
Closes #417 

Authored by: siikamiika
3 years ago
siikamiika c60ee3a218
[youtube_live_chat] Support ongoing live chat (#422)
Authored by: siikamiika
3 years ago
pukkandan 8a77e5e6bc
[cleanup] Revert unnecessary changes in 51d9739f80 3 years ago
pukkandan 51d9739f80
Add option `--throttled-rate` below which video data is re-extracted
Currently only for HTTP downloads

Closes #430, workaround for https://github.com/ytdl-org/youtube-dl/issues/29326
3 years ago
pukkandan 4c7853de14
[fragment] Merge during download for `-N`, and refactor `hls`/`dash` (#364) 3 years ago
pukkandan e36d50c5dd
[websockets] Add `WebSocketFragmentFD` (#399)
Necessary for #392

Co-authored by: nao20010128nao, pukkandan
3 years ago
pukkandan ff0f78e1fe
[aria2c] Lower `--min-split-size` for HTTP downloads
This makes downloading smaller files much faster
3 years ago
felix cdb19aa4c2
[downloader/mhtml] Add new downloader (#343)
This downloader is intended to be used for streams that consist of a
timed sequence of stand-alone images, such as slideshows or thumbnail
streams

This can be used for implementing:

https://github.com/ytdl-org/youtube-dl/issues/4974#issue-58006762
https://github.com/ytdl-org/youtube-dl/issues/4540#issuecomment-69574231
https://github.com/ytdl-org/youtube-dl/pull/11185#issuecomment-335554239

https://github.com/ytdl-org/youtube-dl/issues/9868
https://github.com/ytdl-org/youtube-dl/pull/14951


Authored by: fstirlitz
3 years ago
felix 2ec1759f9d
[downloader/ffmpeg] Hide FFmpeg banner unless in verbose mode (#372)
Authored by: fstirlitz
3 years ago
pukkandan e06ca6ddac
[hls] Decrypt fragment when reading from disk
Closes #373
3 years ago
pukkandan d89da64b1d
[hls,dash] When using `concurrent_fragment_downloads`, do not keep the fragment content in memory
Partial fix for #359
This is a temporary solution until #364 can be implemented
3 years ago
pukkandan 5dcd8e1d88
[hls] Disable external downloader for `webtt` 3 years ago
pukkandan 18e674b4f6
[ffmpeg] Download and merge in a single step if possible 3 years ago
pukkandan 856bb8f99d
[downloader] Fix `write_debug` 3 years ago
pukkandan 0760b0a7e2
Standardize `write_debug` 3 years ago
pukkandan 000ee7ef34
[fragment] Make sure first segment is not skipped 3 years ago
pukkandan e8e738406a
Add experimental option `--check-formats` to test the URLs before format selection 3 years ago
pukkandan 848887eb7a
[downloader] Fix `quiet` and `to_stderr` 3 years ago
pukkandan 6ef6bcbd6b
[fragment] Ensure the file is closed on error 3 years ago
The Hatsune Daishi 0fa9a1e236
[whowatch] Add extractor #292
closes #223

Authored by: nao20010128nao 
Modified from: 9e4a0e061a/youtube_dl/extractor/whowatch.py
3 years ago
pukkandan eb55bad5a0
[aria2c] Fix whitespace being stripped off
Closes #276
3 years ago
pukkandan 2291dbce2a
[niconico] Fix HLS formats
Closes #171

* The structure of the API JSON was changed
* Smile Video seems to be no longer available. So remove the warning
* Move ping to downloader
* Change heartbeat interval to 40sec
* Remove unnecessary API headers

Authored-by: CXwudi, tsukumijima, nao20010128nao, pukkandan
Tested by: tsukumijima
3 years ago
Felix S 66a1b8643a [downloader/ism] Support muxing TTML subtitles 3 years ago
Felix S 15828bcf25 [downloader/hls] Handle MPEG-2 PES timestamp overflow 3 years ago
Felix S 333217f43e [downloader/hls] Remove duplicate cues using a sliding window of candidates 3 years ago
Felix S 4a2f19abbd [downloader/hls] Assemble single-file WebVTT subtitles from HLS segments 3 years ago
Felix S fd76a14259 [extractor/common, downloader/ism] Extract SSTR subtitle tracks
_parse_ism_formats was extended into _parse_ism_formats_and_subtitles;
all direct users were updated, though _extract_ism_formats was left
as a compatibility wrapper.

The SSTR downloader was also modified in order to prepare for muxing
subtitle streams, although no support for any subtitle codecs was
added in this commit.
3 years ago
Felix S d4553567d2 [downloader/ism] Prevent writing the header again when resuming an interrupted download 3 years ago
Felix S 4d49884c58 [downloader/fragment] Allow persisting extra state when a download is interrupted 3 years ago
pukkandan 88728713c8
Py2 compatibility for `FileNotFoundError` 3 years ago
pukkandan 33245766ab
[downloader] Fix ffmpeg selection for m3u8_native 3 years ago
pukkandan 72e1fe969f
[downloader] Fix downloader selection for m3u8
Bug introduced by: 52a8a1e1b9 and a31953b0e6
3 years ago
pukkandan a31953b0e6
[downloader] Fix external downloader selection for m3u8
Closes #239
3 years ago
pukkandan 68379de561
[downloaders] Fix API access
Bug introduced by: 52a8a1e1b9
3 years ago
pukkandan 52a8a1e1b9
Option to choose different downloader for different protocols
* 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`
3 years ago
pukkandan 83b20a970d
[youtube_live_chat] fix bug when trying to set cookies
Closes #194
3 years ago
pukkandan beb4b92a66
More consistent warning messages (#173)
Co-authored by: Damiano Amatruda <damiano.amatruda@outlook.com>
3 years ago
pukkandan fe845284c4
[aria2c] Support retry/abort unavailable fragments (#173)
Co-authored by: Damiano Amatruda <damiano.amatruda@outlook.com>
3 years ago
pukkandan 2b3bf01c90 [aria2c] Better default arguments 3 years ago
pukkandan e92caff5d5
Refactor (See desc)
* Create `FFmpegPostProcessor.real_run_ffmpeg` that can accept multiple input/output files along with switches for each
* Rewrite `cli_configuration_args` and related functions
* Create `YoutubeDL._ensure_dir_exists` - this was previously defined in multiple places
3 years ago
shirt 4cf1e5d2f9
Native concurrent downloading of fragments (#166)
* 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
3 years ago
pukkandan 0a473f2f0f
More improvements to HLS/DASH external downloader code
* 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
3 years ago
shirt-dev d7009caa03
Improve HLS/DASH external downloader code (#162)
Authored by: shirt
3 years ago
pukkandan 9e631877f8
[downloader] Fix bug for ffmpeg/httpie
Caused by: 7f7de7f94d
3 years ago
pukkandan 5ef7d9bdd8
Release 2021.03.01 3 years ago
pukkandan 7f7de7f94d Allow specifying path in `--external-downloader` 3 years ago
pukkandan 9bd2020476 [hls] Enable `--hls-use-mpegts` by default when downloading live-streams
* Also added option `--no-hls-use-mpegts` to disable this

Related: #96
3 years ago
Pccode66 7a5c1cfe93
Completely change project name to yt-dlp (#85)
* 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
3 years ago