Commit Graph

677 Commits (02def2714cfe54d63943d058229cb2dc9bef8248)

Author SHA1 Message Date
pukkandan e36d50c5dd
[websockets] Add `WebSocketFragmentFD` ()
Necessary for 

Co-authored by: nao20010128nao, pukkandan
pukkandan e858a9d6d3
[EmbedThumbnail] Add compat-option `embed-thumbnail-atomicparsley`
to force use of atomicparsley for embedding thumbnails in mp4

Related: 
pukkandan 3b1fe47d84
Release 2021.06.08
pukkandan bd99f6e648
Add field `original_url` with the user-inputted URL
So that they can be processed by `--parse-metadata` for example

`webpage_url` is the same, but may be modified by the extractor
pukkandan cf59cd4dcd
[docs] Improve documentation of dependencies
Related: 
pukkandan 3de7c2ce9a
Release 2021.06.01
pukkandan 18e674b4f6
[ffmpeg] Download and merge in a single step if possible
louie-github a927acb1ec
[ThumbnailsConvertor] Support conversion to `png` and make it the default ()
PNG, being a lossless format, should be a better default here compared to JPG since we won't be compressing to a lossy format and losing some of the original image data
PNG is also supported for embedding in all the formats similar to JPEG

Authored by: louie-github
pukkandan 09f1580e2d
[youtube] `/live` URLs should raise error if channel is not live
Fixes: https://github.com/ytdl-org/youtube-dl/issues/29090
pukkandan 0fdf490d33
Release 2021.05.20
pukkandan 28b0eb0f65
[cleanup] See desc
* Remove struct from `embedthumbnail`
* Use bullet lists in readme where numbered list don't make sense
* Fix error introduced in 9c2b75b561 when `ie_result` is `None`
pukkandan 2305e2e5c9
[options] Alias `--write-comments`, `--no-write-comments`
Closes: 
pukkandan 9c2b75b561
Field `additional_urls` to download additional videos from metadata
pukkandan 07cce701de
[cleanup] linter, code formatting and readme
pukkandan 5112f26a60
Add `pl_thumbnail` outtmpl key for playlist thumbnails
This should have been implemented in 681de68e9d, but I forgot
pukkandan a06916d98e
[extractor] Add `write_debug` and `get_param`
pukkandan 53c18592d3
Add option `--print`
Deprecates: `--get-description`, `--get-duration`, `--get-filename`, `--get-format`, `--get-id`, `--get-thumbnail`, `--get-title`, `--get-url`
Closes 
pukkandan 4171221823
Add compat-option `no-attach-infojson`
pukkandan fac988053f
Release 2021.05.11
* and some documentation improvements
pukkandan 53ed7066ab
Option `--compat-options` to revert some of yt-dlp's changes
* Deprecates `--list-formats-as-table`, `--list-formats-old`
pukkandan a61f4b287b
Deprecate support for python versions < 3.6
Closes 
pukkandan 486fb17975
Remove `-l`, `-t`, `-A` completely and disable `--auto-number`, `--title`, `--literal`, `--id`
pukkandan e8e738406a
Add experimental option `--check-formats` to test the URLs before format selection
pukkandan e625be0d10
Improve output template internal formatting
* Allow slicing lists/strings using `field.start🔚step`
* A field can also be used as offset like `field1+num+field2`
* A default value can be given using `field|default`
* Capture all format strings and set it to `None` if invalid. This prevents invalid fields from causing errors
pukkandan 0cf0571560
Release 2021.04.22
pukkandan e58c22a0f6
[documentation] Fix typos
pukkandan f4536226c1
[documentation] Clarify which deprecated options still work
pukkandan a439a3a45c
Improve output template (see desc)
* Objects can be traversed like `%(field.key1.key2)s`
* A number can be added to the field as `%(field+n)s`
* Deprecates `--autonumber-start`
pukkandan 26e2805c3f
Add option `--skip-playlist-after-errors`
Allows to skip the rest of a playlist after a given number of errors are encountered
pukkandan c32b0aab8a
Improve --sub-langs (see desc)
* Treat `--sub-langs` entries as regex
* `all` can be used to refer to all the subtitles
* the language code can be prefixed with `-` to exclude it
* Deprecates `--all-subs`
Closes 
pukkandan a7191c6f57
Fix some linter and typos
pukkandan a0f30f194a
Release 2021.04.11
pukkandan b31fdeedfd
[documentation] Improvements
pukkandan 8fa43c73d8
Add option `--convert-thumbnails`
Closes: https://github.com/yt-dlp/yt-dlp/issues/99 https://github.com/yt-dlp/yt-dlp/issues/102
pukkandan 9de3ea3126
Pass any field to `--exec` using similar syntax to output template
Related: https://github.com/ytdl-org/youtube-dl/issues/28642
pukkandan d9aa233295
Deprecate more options
* `--all-formats` = `-f all`
* `--include-ads` is not implemented
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`
pukkandan d818eb7473
Improve argument parsing for `-P`, `-o`, `-S`
* `-P "subtitle,thumbnail:PATH"` is now possible. Similarly for `-o`
* `-S "fps,br" -S "res,codec"` is now interpreted as `-S res,codec,fps,br`. Previously, `-S fps,br` was ignored in this case.
pukkandan f8d4ad9ab0
Format selector `mergeall` to download and merge all formats
pukkandan 02aabd45d0
Release 2021.04.03
pukkandan 73cd218f5a
[documentation] Improve `--parse-metadata` documentation
pukkandan eff635394a
Ability to select nth best format
Eg: -f `bv*.2`

* Also cleaned up the related format selection code
pukkandan b050d210df
Fix some typos and linter
pukkandan a3affbe6a0
Release 2021.03.24
pukkandan 143db31d48
Parse metadata from multiple fields
Closes 
pukkandan a7f347d9c9
Release 2021.03.21
Matthew c224251aad
[youtube] Show if video is `private`, `unlisted` etc in new field `availability` ()
Closes: , https://github.com/ytdl-org/youtube-dl/issues/25631

Authored by: colethedj, pukkandan
pukkandan dd18a58cb1 [documentation] Add `SplitChapters` to `--ppa`
pukkandan a515a78dd3
fix some typos and linter
pukkandan e167860ce7
[documentation] Add deprecated options and aliases in readme
pukkandan 75d43ca080
Option to keep private keys in the infojson
Options: --clean-infojson, --no-clean-infojson

Related: https://github.com/yt-dlp/yt-dlp/issues/42#issuecomment-800778391
pukkandan 597c18665e
Release 2021.03.15
pukkandan 7275535116
Split video by chapters ()
* New options `--split-chapters` and `--no-split-chapters`
* The output/path of the split files can be given using the key `chapter`
* Additional keys `section_title`, `section_number`, `section_start`, `section_end` are available in the output template
* Alias `--split-tracks` for parity with animelover/youtube-dl
* `--sponskrub-cut` and `--split-chapter` cannot work together

Closes:
https://github.com/blackjack4494/yt-dlc/issues/277
https://github.com/ytdl-org/youtube-dl/issues/28438
https://github.com/ytdl-org/youtube-dl/issues/12907
https://github.com/ytdl-org/youtube-dl/issues/6480
https://github.com/ytdl-org/youtube-dl/pull/25005

Rewritten from the implementation by: femaref and Wattux
https://github.com/Wattux/youtube-dl/tree/split-at-timestamps
https://github.com/ytdl-org/youtube-dl/pull/25005
https://github.com/femaref/youtube-dl/tree/split-track
shirt 4cf1e5d2f9
Native concurrent downloading of fragments ()
* Option `--concurrent-fragments` (`-N`) to set the number of threads

Related: 

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
Ashish 5ba4a0b69c
[Documentation] Inclusion of two-line install script for Unix ()
Closes 
Authored-by: Ashish <ashish@pop-os.localdomain>

ci skip all
pukkandan 5f7514957f
Release 2021.03.03
pukkandan d6e51845b7
Reduce default of `--extractor-retries` to 3
so that even those not using sleep won't get 429'd on youtube
pukkandan 5ef7d9bdd8
Release 2021.03.01
pukkandan f0884c8b3f Cleanup some code (see desc)
* `--get-comments` doesn't imply `--write-info-json` if `-J`, `-j` or `--print-json` are used
* Don't pass `config_location` to `YoutubeDL` (it is unused)
* [bilibiliaudio] Recognize the file as audio-only
* Update gitignore
* Fix typos
pukkandan 277d6ff5f2
Extract comments only when needed (Closes )
pukkandan 1cf376f55a Add option `--sleep-requests` to sleep b/w requests (Closes )
* Also fix documentation of `sleep_interval_subtitles`

Related issues:
https://github.com/blackjack4494/yt-dlc/issues/158
https://github.com/blackjack4494/youtube-dlc/issues/195
https://github.com/ytdl-org/youtube-dl/pull/28270
https://github.com/ytdl-org/youtube-dl/pull/28144
https://github.com/ytdl-org/youtube-dl/issues/27767
https://github.com/ytdl-org/youtube-dl/issues/23638
https://github.com/ytdl-org/youtube-dl/issues/26287
https://github.com/ytdl-org/youtube-dl/issues/26319
pukkandan 7f7de7f94d Allow specifying path in `--external-downloader`
pukkandan 9bd2020476 [hls] Enable `--hls-use-mpegts` by default when downloading live-streams
* Also added option `--no-hls-use-mpegts` to disable this

Related: 
shirt-dev b965087396
Readthedocs improvements ()
Authored-by: shirtjs <2660574+shirtjs@users.noreply.github.com>

:ci skip dl
pukkandan 127d075955 [documentation] Fix typos (Closes )
:ci skip all
pukkandan c74d1aa340 Release 2021.02.24
pukkandan 0744a815b7 [documentation] Changes left behind from and
Pccode66 7a5c1cfe93
Completely change project name to yt-dlp ()
* 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
pukkandan 5b1ecbb327 [ffmpeg] Allow passing custom arguments before -i
:ci skip dl
pukkandan e409895f13 [documentation] Fix documentation of "Extractor Options"
pukkandan 6cfda0582b [documentaion] Document `playable_in_embed`
:ci skip all
pukkandan f76ede8ee4 [youtube] Show if video was a live stream in info
pukkandan e094cec18c [documentation] Document `all` in format selection (Closes )
:ci skip all
pukkandan a40258a259 [documentation] Remove `--flat-videos`
It does not work as documented
It was an experimental option that I forgot to remove when making the fork public

:ci skip all
pukkandan dca3ff4a5e [formatsort] Remove forced priority of `quality`
When making `FormatSort`, I misinterpreted the purpose `quality`
pukkandan da9be05edf [documentation] Better document `--prefer-free-formats`
Also added `--no-prefer-free-formats`
pukkandan 155d2b48c5 [formatsort] Prefer vp9.2 over other vp9 codecs
vp9.2 may contain HDR while vp9.0 doesn't
pukkandan c2934512c2 Option `--windows-filenames` to force use of windows compatible filenames
* Also changed `--trim-file-name` to `--trim-filenames` to be similar to related options

Related: https://web.archive.org/web/20210217190806/https://old.reddit.com/r/youtubedl/comments/llc4o5/do_you_guys_also_have_this_error

:ci skip dl
pukkandan aa837ddf06 Release 2021.02.15
shirt-dev 63ad4d43eb
Allow downloading of unplayable video formats
Video postprocessors are also turned off when this option is used

Co-authored-by: shirtjs <2660574+shirtjs@users.noreply.github.com>
Co-authored-by: pukkandan <pukkandan@gmail.com>
shirt-dev 5d25607a3a
Change optional dependency from `Crypto` to `pycryptodome` (Closes )
Authored-by: shirtjs <2660574+shirtjs@users.noreply.github.com> (shirt-dev)

pycryptodome is an in-place replacement for Crypto and is more actively developed
pukkandan 8d801631cf [version] update
:ci skip all
pukkandan ba9f36d732 Release 2021.02.09
pukkandan b3943b2f33 [pyinst.py] Move back to root dir (Closes )
pukkandan 06ff212d64 [documentation] Crypto is an optional dependency
pukkandan c25228e5da Release 2021.02.04
pukkandan de6000d913 Multiple output templates for different file types
Syntax: -o common_template -o type:type_template
Types supported: subtitle|thumbnail|description|annotation|infojson|pl_description|pl_infojson
pukkandan ff88a05cff [pyinst] Automatically detect python architecture and working directory
:ci skip all
pukkandan e29663c644
Allow date/time formatting in output template
Closes 
pukkandan cac96421d9 New option --no-write-playlist-metafiles to NOT write playlist metadata files
pukkandan 29b6000e35 Release 2021.01.29
pukkandan e38df8f9fa Refactor `update-version`, `pyinst.py` and related files
* Refactor update-version
* Moved pyinst, update-version and icon into devscripts
* pyinst doesn't bump version anymore
* Merge pyinst and pyinst32. Usage: `pyinst.py [32|64]`
* Add mutagen as requirement
* Remove make_win and related files
pukkandan 06167fbbd3
Features from animelover1984/youtube-dl
* Add `--get-comments`
* [youtube] Extract comments
* [billibilli] Added BiliBiliSearchIE, BilibiliChannelIE
* [billibilli] Extract comments
* [billibilli] Better video extraction
* Write playlist data to infojson
* [FFmpegMetadata] Embed infojson inside the video
* [EmbedThumbnail] Try embedding in mp4 using ffprobe and `-disposition`
* [EmbedThumbnail] Treat mka like mkv and mov like mp4
* [EmbedThumbnail] Embed in ogg/opus
* [VideoRemuxer] Conditionally remux video
* [VideoRemuxer] Add `-movflags +faststart` when remuxing from mp4
* [ffmpeg] Print entire stderr in verbose when there is error
* [EmbedSubtitle] Warn when embedding ass in mp4
* [avanto] Use NFLTokenGenerator if possible
pukkandan 4ff5e98991 More badges
:ci skip all
pukkandan e4172ac903 Deprecate avconv/avprobe
All current functionality is left untouched. But don't expect any new features to work with avconv

:ci skip all
pukkandan 5bfa486205 Add option `--parse-metadata`
* The fields extracted by this can be used in `--output`
* Deprecated `--metadata-from-title`

:ci skip dl
pukkandan 0bc0a32290 Release 2021.01.24
Remita Amine a820dc722e Update to ytdl-2021.01.24.1
pukkandan f74980cbae Plugin support
Extractor plugins are loaded from <root-dir>/ytdlp_plugins/extractor/__init__.py

Inspired by https://github.com/un-def/dl-plus

:ci skip dl
pukkandan 0202b52a0c New option `-P`/`--paths` to give different paths for different types of files
Syntax: `-P "type:path" -P "type:path"`
Types: home, temp, description, annotation, subtitle, infojson, thumbnail