Commit Graph

83 Commits (da4832007574a60b397dff11f26cc20cace685de)

Author SHA1 Message Date
pukkandan abad800058
[downloader/ffmpeg] Fix vtt download with ffmpeg 3 years ago
pukkandan ef58c47637
[SponsorBlock] Obey `extractor-retries` and `sleep-requests` 3 years ago
pukkandan d3c93ec2b7
Don't create console for subprocesses on Windows (#1261)
Closes #1251
3 years ago
Nil Admirari e619d8a752
[ModifyChapters] Do not mutate original chapters (#1322)
Closes #1295 
Authored by: nihil-admirari
3 years ago
pukkandan 2d9ec70423
[ModifyChapters] Allow removing sections by timestamp
Eg: --remove-chapters "*10:15-15:00".
The `*` prefix is used so as to avoid any conflicts with other valid regex
3 years ago
pukkandan b11d210156
[EmbedMetadata] Allow overwriting all default metadata
with `meta_default` key
3 years ago
pukkandan 03b4de722a
[downloader] Fix slow progress hooks
Closes #1301
3 years ago
pukkandan 9dda99f2fc [Merger] Do not add `aac_adtstoasc` to non-hls audio 3 years ago
pukkandan 91b6c884c9
Revert "[ffmpeg] Set max probesize to workaround AAC HLS stream issues (#1109)"
This reverts commit 250a938de8.

This is no longer necessary since 7687c8ac6e
3 years ago
pukkandan aa9a92fdbb
[downloader/ffmpeg] Fix bug in initializing `FFmpegPostProcessor`
When `FFmpegFD` initializes the PP, it passes `self` as the `downloader`
But it does not have a `_postprocessor_hooks` attribute

Closes #1211
3 years ago
pukkandan 819e05319b
Improved progress reporting (See desc) (#1125)
* Separate `--console-title` and `--no-progress`
* Add option `--progress` to show progress-bar even in quiet mode
* Fix and refactor `minicurses`
* Use `minicurses` for all progress reporting
* Standardize use of terminal sequences and enable color support for windows 10
* Add option `--progress-template` to customize progress-bar and console-title
* Add postprocessor hooks and progress reporting

Closes: #906, #901, #1085, #1170
3 years ago
pukkandan a1c3967307
[EmbedSubtitle, SubtitlesConvertor] Fix error when subtitle file is missing
Closes #1152, #1134
Bug from 8e25d624df
3 years ago
pukkandan e6f21b3d92
[docs,cleanup] Some minor refactoring and improve docs 3 years ago
pukkandan 3ae5e79774
[postprocessor] Add plugin support
Adds option `--use-postprocessor` to enable them
3 years ago
pukkandan 1f2a268bd3
[embedsubtitle] Fix error when duration is unknown 3 years ago
shirt 250a938de8
[ffmpeg] Set max probesize to workaround AAC HLS stream issues (#1109)
Fixes: #618, #998, #1039

Authored by: shirt-dev
3 years ago
pukkandan 51ff9ca0b0
[xattr] bugfix for b19404591a 3 years ago
pukkandan b19404591a
Separate the options `--ignore-errors` and `--no-abort-on-error`
In youtube-dl, `-i` ignores both download and post-processing error, and
treats the download as successful even if the post-processor fails.

yt-dlp used to skip the entire video on either error and there was no
option to ignore the post-processing errors like youtube-dl does.

By splitting the option into two, now either just the download errors
(--no-abort-on-error, default on CLI) or all errors (--ignore-errors)
can be ignored as per the users' needs

Closes #893
3 years ago
pukkandan 50eff38c1c
bugfix for a21e0ab1a1
Closes #1061
3 years ago
pukkandan a21e0ab1a1
[ffmpeg] Add `aac_adtstoasc` when merging if needed
Related: #1039
3 years ago
Nil Admirari c6af2dd8e5
[SponsorBlock] Improve merge algorithm (#999)
Authored by: nihil-admirari
3 years ago
pukkandan 165efb823b
[ModifyChapters] fixes (See desc)
* [docs] Fix typo
* Do not enable `sponskrub` by default
* Fix `--force-keyframes-at-cuts`
* Don't embed subtitles if the video has been cut. Previously, running `--remove-chapters` with `--embed-subs` multiple times caused repeated cuts and out-of-sync subtitles
* Store `_real_duration` to prevent running ffprobe multiple times
3 years ago
Nil Admirari 7a340e0df3
Native SponsorBlock implementation and related improvements (#360)
SponsorBlock options:
* The fetched sponsor sections are written to infojson
* `--sponsorblock-remove` removes specified chapters from file
* `--sponsorblock-mark` marks the specified sponsor sections as chapters
* `--sponsorblock-chapter-title` to specify sponsor chapter template
* `--sponsorblock-api` to use a different API

Related improvements:
* Split `--embed-chapters` from `--embed-metadata`
* Add `--remove-chapters` to remove arbitrary chapters
* Add `--force-keyframes-at-cuts` for more accurate cuts when removing and splitting chapters

Deprecates all `--sponskrub` options

Authored by: nihil-admirari, pukkandan
3 years ago
pukkandan 8e25d624df
[EmbedSubtitle] Continue even if some files are missing 3 years ago
Paul Wrubel d75201a873
Use `os.replace` where applicable (#793)
When using 
```py
os.remove(encodeFilename(filename))
os.rename(encodeFilename(temp_filename), encodeFilename(filename))
```
the `os.remove` need not be atomic and so can be executed arbitrarily compared to the immediately following rename call. It is better to use `os.replace` instead

Authored by: paulwrubel
3 years ago
pukkandan 330690a214
[downloader/ffmpeg] Allow passing custom arguments before -i
Closes #686
3 years ago
pukkandan 37242e56f2
Fix bug during subtitle conversion 3 years ago
pukkandan a8731fcc1d minor bugfixes
bugs due to be2fc5b212, e9f4ccd19e
3 years ago
pukkandan ad3dc496bb Misc fixes - See desc
* Remove unnecessary uses of _list_from_options_callback
* Fix download tests - Bug from 6e84b21559
* Rename ExecAfterDownloadPP to ExecPP and refactor its tests
* Ensure _write_ytdl_file closes file handle on error - Potential fix for #517
3 years ago
pukkandan 8c0ae192a4 [ffmpeg] Fix `--ffmpeg-location` when directory is given
Bug introduced in 89efdc15dd
Closes #654
3 years ago
pukkandan e9f4ccd19e
Add option `--replace-in-metadata` 3 years ago
pukkandan c681cb5d93 Allow multiple `--exec` and `--exec-before-download` 3 years ago
pukkandan 89efdc15dd [ffpmeg] Allow `--ffmpeg-location` to be a file with different name 3 years ago
pukkandan 901130bbcf Expand and escape environment variables correctly in outtmpl
Fixes: https://www.reddit.com/r/youtubedl/comments/otfmq3/ytdlp_same_parameters_different_results
3 years ago
pukkandan 5520aa2dc9
Add option `--exec-before-download`
Closes #530
3 years ago
pukkandan 501dd1ad55
[metadatafromfield] Do not detect numbers as field names
Related: https://github.com/yt-dlp/yt-dlp/issues/486#issuecomment-877820394
3 years ago
pukkandan 00034c146a
[embedthumbnail] Fix `_get_thumbnail_resolution` 3 years ago
pukkandan 7dde84f3c9
[FFmpegMetadata] Add language of each stream
and some refactoring
3 years ago
pukkandan 6606817a86
[utils] Add `variadic` 3 years ago
pukkandan 15a4fd53d3
[thumbnailsconvertor] Treat `jpeg` as `jpg` 3 years ago
pukkandan e36d50c5dd
[websockets] Add `WebSocketFragmentFD` (#399)
Necessary for #392

Co-authored by: nao20010128nao, pukkandan
3 years ago
pukkandan f89b3e2d7a
Skip fixup of existing files and add `--fixup force` to force it 3 years ago
pukkandan fd7cfb6444
[cleanup] Refactor fixup 3 years ago
pukkandan e858a9d6d3
[EmbedThumbnail] Add compat-option `embed-thumbnail-atomicparsley`
to force use of atomicparsley for embedding thumbnails in mp4

Related: #411
3 years ago
pukkandan 7e87e27c52
[postprocessor] Fix `_restrict_to` when a codec is not set 3 years ago
pukkandan 4d85fbbdbb
Fix bug in 8326b00aab 3 years ago
pukkandan 8326b00aab
Allow `images` formats
Necessary for #343.

* They are identified by `vcodec=acodec='none'`
* These formats show as the worst in `-F`
* Any postprocessor that expects audio/video will be skipped
* `b*` and all related selectors will skip such formats
* This commit also does not add any selector for downloading such formats. They have to be explicitly requested by the `format_id`. Implementation of a selector is left for when #389 is resolved
3 years ago
pukkandan 324ad82006
[utils] Generalize `traverse_dict` to `traverse_obj` 3 years ago
pukkandan 752cda3880
Fix and refactor `prepare_outtmpl`
The following tests would have failed previously:
%(id)d %(id)r
%(ext)s-%(ext|def)d
%(width|)d
%(id)r %(height)r
%(formats.0)r
%s
3 years ago
pukkandan 337e0c62f8
[embedthumbnail] Correctly escape filename
Closes #352
The approach in [1] is faulty as can be seen in the test cases
1. bff857a8af
4 years ago