Add ffmpeg progress tracking to FFmpegPostProcessor
Apply changes from the code review
Fix a bug where the subprocess didn't capture any output thus an empty stdout and stderr were sent back
Add missing hooks
Revert "Add missing hooks"
This reverts commit a359c5ea10bb35b965e80801e736f43cdbcf3294.
Add support of -ss=132 timestamp format
Infer filename from ffmpeg args instead of info_dic
Remove redundant parenthesis and switch from to_stodout to to_screen
Add info kwarg with multiple files and ffmpeg to track progress
Moved format progress function to util
Moved format progress function to util
Add progress tracking to postprocessing operations
Fix typing error
Handle self._downloader is None at __init__
Move format progress functions to utils
Move format progress functions to utils
Handle case where ydl passed is None
Handle case where ydl passed is None
Handle case where _multiline isn't initialized
Handle case where _multiline isn't initialized
Fix streams incorrectly returned
Fix case where ydl is nested in the downloader
Add progress_hook attribute
Fix bug after merge
Fix import bugs after merge
Catch up with upstream
Fix merge errors #1
Adapt tests and implementatation for ffmpeg progress tracking args
The shell escape function is now using `""` instead of `\"`. `utils.Popen` has been patched to properly quote commands.
Prior to this fix using `--exec` together with `%q` when on Windows could cause remote code to execute. See https://github.com/yt-dlp/yt-dlp/security/advisories/GHSA-42h4-v29r-42qg for reference.
Authored by: Grub4K
to make plugins easier to develop and use:
* Plugins are now loaded as namespace packages.
* Plugins can be loaded in any distribution of yt-dlp (binary, pip, source, etc.).
* Plugin packages can be installed and managed via pip, or dropped into any of the documented locations.
* Users do not need to edit any code files to install plugins.
* Backwards-compatible with previous plugin architecture.
As a side-effect, yt-dlp will now search in a few more locations for config files.
Closes https://github.com/yt-dlp/yt-dlp/issues/1389
Authored by: flashdagger, coletdjnz, pukkandan, Grub4K
Co-authored-by: Marcel <flashdagger@googlemail.com>
Co-authored-by: pukkandan <pukkandan.ytdlp@gmail.com>
Co-authored-by: Simon Sawicki <accounts@grub4k.xyz>
* [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