Commit Graph

710 Commits (457f6d68668704c20debc40ca77768796656d98b)

Author SHA1 Message Date
pukkandan 4171221823
Add compat-option `no-attach-infojson` 4 years ago
pukkandan fac988053f
Release 2021.05.11
* and some documentation improvements
4 years ago
pukkandan 53ed7066ab
Option `--compat-options` to revert some of yt-dlp's changes
* Deprecates `--list-formats-as-table`, `--list-formats-old`
4 years ago
pukkandan a61f4b287b
Deprecate support for python versions < 3.6
Closes #267
4 years ago
pukkandan 486fb17975
Remove `-l`, `-t`, `-A` completely and disable `--auto-number`, `--title`, `--literal`, `--id` 4 years ago
pukkandan e8e738406a
Add experimental option `--check-formats` to test the URLs before format selection 4 years ago
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
4 years ago
pukkandan 0cf0571560
Release 2021.04.22 4 years ago
pukkandan e58c22a0f6
[documentation] Fix typos 4 years ago
pukkandan f4536226c1
[documentation] Clarify which deprecated options still work 4 years ago
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`
4 years ago
pukkandan 26e2805c3f
Add option `--skip-playlist-after-errors`
Allows to skip the rest of a playlist after a given number of errors are encountered
4 years ago
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 #253
4 years ago
pukkandan a7191c6f57
Fix some linter and typos 4 years ago
pukkandan a0f30f194a
Release 2021.04.11 4 years ago
pukkandan b31fdeedfd
[documentation] Improvements 4 years ago
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
4 years ago
pukkandan 9de3ea3126
Pass any field to `--exec` using similar syntax to output template
Related: https://github.com/ytdl-org/youtube-dl/issues/28642
4 years ago
pukkandan d9aa233295
Deprecate more options
* `--all-formats` = `-f all`
* `--include-ads` is not implemented
4 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`
4 years ago
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.
4 years ago
pukkandan f8d4ad9ab0
Format selector `mergeall` to download and merge all formats 4 years ago
pukkandan 02aabd45d0
Release 2021.04.03 4 years ago
pukkandan 73cd218f5a
[documentation] Improve `--parse-metadata` documentation 4 years ago
pukkandan eff635394a
Ability to select nth best format
Eg: -f `bv*.2`

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

Authored by: colethedj, pukkandan
4 years ago
pukkandan dd18a58cb1 [documentation] Add `SplitChapters` to `--ppa` 4 years ago
pukkandan a515a78dd3
fix some typos and linter 4 years ago
pukkandan e167860ce7
[documentation] Add deprecated options and aliases in readme 4 years ago
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
4 years ago
pukkandan 597c18665e
Release 2021.03.15 4 years ago
pukkandan 7275535116
Split video by chapters (#158)
* 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
4 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
4 years ago
Ashish 5ba4a0b69c
[Documentation] Inclusion of two-line install script for Unix (#155)
Closes #83
Authored-by: Ashish <ashish@pop-os.localdomain>

ci skip all
4 years ago
pukkandan 5f7514957f
Release 2021.03.03 4 years ago
pukkandan d6e51845b7
Reduce default of `--extractor-retries` to 3
so that even those not using sleep won't get 429'd on youtube
4 years ago
pukkandan 5ef7d9bdd8
Release 2021.03.01 4 years ago
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
4 years ago
pukkandan 277d6ff5f2
Extract comments only when needed #95 (Closes #94) 4 years ago
pukkandan 1cf376f55a Add option `--sleep-requests` to sleep b/w requests (Closes #106)
* 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
4 years ago
pukkandan 7f7de7f94d Allow specifying path in `--external-downloader` 4 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
4 years ago
shirt-dev b965087396
Readthedocs improvements (#115)
Authored-by: shirtjs <2660574+shirtjs@users.noreply.github.com>

:ci skip dl
4 years ago
pukkandan 127d075955 [documentation] Fix typos (Closes #112)
:ci skip all
4 years ago
pukkandan c74d1aa340 Release 2021.02.24 4 years ago
pukkandan 0744a815b7 [documentation] Changes left behind from #85 and #107 4 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
4 years ago
pukkandan 5b1ecbb327 [ffmpeg] Allow passing custom arguments before -i
:ci skip dl
4 years ago
pukkandan e409895f13 [documentation] Fix documentation of "Extractor Options" 4 years ago
pukkandan 6cfda0582b [documentaion] Document `playable_in_embed`
:ci skip all
4 years ago
pukkandan f76ede8ee4 [youtube] Show if video was a live stream in info 4 years ago
pukkandan e094cec18c [documentation] Document `all` in format selection (Closes #101)
:ci skip all
4 years ago
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
4 years ago
pukkandan dca3ff4a5e [formatsort] Remove forced priority of `quality`
When making `FormatSort`, I misinterpreted the purpose `quality`
4 years ago
pukkandan da9be05edf [documentation] Better document `--prefer-free-formats`
Also added `--no-prefer-free-formats`
4 years ago
pukkandan 155d2b48c5 [formatsort] Prefer vp9.2 over other vp9 codecs
vp9.2 may contain HDR while vp9.0 doesn't
4 years ago
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
4 years ago
pukkandan aa837ddf06 Release 2021.02.15 4 years ago
shirt-dev 63ad4d43eb
#70 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>
4 years ago
shirt-dev 5d25607a3a
#75 Change optional dependency from `Crypto` to `pycryptodome` (Closes #74)
Authored-by: shirtjs <2660574+shirtjs@users.noreply.github.com> (shirt-dev)

pycryptodome is an in-place replacement for Crypto and is more actively developed
4 years ago
pukkandan 8d801631cf [version] update
:ci skip all
4 years ago
pukkandan ba9f36d732 Release 2021.02.09 4 years ago
pukkandan b3943b2f33 [pyinst.py] Move back to root dir (Closes #63) 4 years ago
pukkandan 06ff212d64 [documentation] Crypto is an optional dependency 4 years ago
pukkandan c25228e5da Release 2021.02.04 4 years ago
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
4 years ago
pukkandan ff88a05cff [pyinst] Automatically detect python architecture and working directory
:ci skip all
4 years ago
pukkandan e29663c644
#45 Allow date/time formatting in output template
Closes #43
4 years ago
pukkandan cac96421d9 New option --no-write-playlist-metafiles to NOT write playlist metadata files 4 years ago
pukkandan 29b6000e35 Release 2021.01.29 4 years ago
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
4 years ago
pukkandan 06167fbbd3
#31 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
4 years ago
pukkandan 4ff5e98991 More badges
:ci skip all
4 years ago
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
4 years ago
pukkandan 5bfa486205 Add option `--parse-metadata`
* The fields extracted by this can be used in `--output`
* Deprecated `--metadata-from-title`

:ci skip dl
4 years ago
pukkandan 0bc0a32290 Release 2021.01.24 4 years ago
Remita Amine a820dc722e Update to ytdl-2021.01.24.1 4 years ago
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
4 years ago
pukkandan 0202b52a0c #29 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
4 years ago
pukkandan 3bcaa37b1b [tests] Split core and download tests 4 years ago
pukkandan 46ee996e39 Allow passing different arguments to different external downloaders
* Now similar to --post-processor-args
* Also added `--downloader-args` as alias to `--external-downloader-args`
4 years ago
pukkandan 45016689fa Standardized function for creating dict from repeated options 4 years ago
pukkandan 63be1aab2f Deprecate unnecessary aliases in `formatSort`
(I should never have made so many aliases in the first-place)
The aliases remain functional for backward compatability, but will be left undocumented
4 years ago
pukkandan c69911e4c1 Release 2021.01.20 4 years ago
pukkandan 43820c0370 Improved passing of multiple postprocessor-args
* Added `PP+exe:args` syntax
    If `PP+exe:args` is specifically given, only it used.
    Otherwise, `PP:args` and `exe:args` are combined.
    If none of the `PP`, `exe` or `PP+exe` args are given, `default` is used
    `Default` is purposely left undocumented since it exists only for backward compatibility

* Also added proper handling of args in `EmbedThumbnail`

Related: https://github.com/ytdl-org/youtube-dl/pull/27723
4 years ago
pukkandan 8a51f56439 [readme] Cleanup options
(Closes #23) :skip ci
4 years ago
pukkandan 298f597b4f Release 2021.01.16 4 years ago
pukkandan e2e43aea21 Portable Configuration file (closes #19)
Inspired by https://github.com/ytdl-org/youtube-dl/pull/27592
4 years ago
pukkandan 7bc877a20d Add PyPI release 4 years ago
pukkandan 17fa3ee25f Documentation fixes
* Change all links to point to new fork URL
* Changed sponskrub links to my fork of the same
* Other typos
4 years ago
pukkandan 8b0d7497d5 Added option `--break-on-reject`
and modified `--break-on-existing`
4 years ago
pukkandan 90505ff153 [readme] Change all links to point to new fork URL 4 years ago
pukkandan 9b45b9f51a Release 2021.01.12 4 years ago
pukkandan d9d045e2ef Changed repo name to yt-dlp 4 years ago
pukkandan f5546c0b3c Fix typos (Closes #14)
:skip ci all

Co-authored by: FelixFrog
4 years ago
pukkandan f20f5fe524 Add changelog for the unreleased changes in blackjack4494/yt-dlc
and made related changes in README
4 years ago
pukkandan b2f70ae74e Update version badge automatically in README
Uses: https://github.com/Schneegans/dynamic-badges-action
4 years ago
pukkandan 6fd35a1101 Release 2021.01.09 4 years ago
pukkandan e5bc03a6fa Release 2021.01.08 4 years ago
pukkandan 034b6215b4 Move changelog to seperate file 4 years ago
pukkandan 0c0ff18f7d [CI] Created quick-test 4 years ago
pukkandan a26c99ac13 Release 2021.01.07-1 4 years ago
pukkandan 1b77b347d4 Allow passing different arguments to different postprocessors
* Also deprecated --sponskrub-args

Closes: https://github.com/ytdl-org/youtube-dl/issues/27593
Eg: `--postprocessor-args "VideoConvertor:-c:v h264_nvenc -preset slow"`
Eg: `--postprocessor-args "SponsKrub:-include-selfpromo"`

For backward compatibility, `--postprocessor-args args` is equivalent to:
`--post-processor-args "sponskrub:" --post-processor-args "default:args"`
4 years ago
pukkandan c76eb41bb9 Preparing for release 4 years ago
pukkandan dbbbe555d7 Add `duration_string` to info_dict 4 years ago
pukkandan 7fd86ce1a9 Remove av01 priority 4 years ago
pukkandan 2af884ff22 v2021.01.05.02 4 years ago
pukkandan 91ebc64068 Change defaults
* Enabled --ignore by default
* Disabled --video-multistreams and --audio-multistreams by default
* Changed default format selection to 'bv*+ba/b' when --audio-multistreams is disabled
* Changed default format sort order to 'res,fps,codec,size,br,asr,proto,ext,has_audio,source,format_id'
* Changed default output template to '%(title)s [%(id)s].%(ext)s'
* Enabled `--list-formats-as-table` by default
4 years ago
pukkandan 50865ca803 v2021.01.05 - Make publicly available 4 years ago
pukkandan 29f7c58aaf Update to ytdl-2021.01.03 4 years ago
pukkandan c2b5f3114f Readme changes 4 years ago
pukkandan 6623ac349b Added negative switches for many existing options
* The idea is that it should be possible to negate any boolean option by adding a `no-` to the switch

New: `--no-ignore-dynamic-mpd`, `--no-allow-dynamic-mpd`, `--allow-dynamic-mpd`, `--youtube-include-hls-manifest`, `--no-youtube-include-hls-manifest`, `--no-youtube-skip-hls-manifest`, `--no-download`, `--no-download-archive`, `--resize-buffer`, `--part`, `--mtime`, `--no-keep-fragments`, `--no-cookies`, `--no-write-annotations`, `--no-write-info-json`, `--no-write-description`, `--no-write-thumbnail`, `--youtube-include-dash-manifest`, `--post-overwrites`, `--no-keep-video`, `--no-embed-subs`, `--no-embed-thumbnail`, `--no-add-metadata`, `--no-include-ads`, `--no-write-sub`, `--no-write-auto-sub`, `--no-playlist-reverse`, `--no-restrict-filenames`, `--youtube-include-dash-manifest`, `--no-format-sort-force`, `--flat-videos`, `--no-list-formats-as-table`, `--no-sponskrub`, `--no-sponskrub-cut`, `--no-sponskrub-force`

Renamed: `--write-subs`, --no-write-subs`, `--no-write-auto-subs, `--write-auto-subs`. Note that these can still be used without the ending "s"
4 years ago
pukkandan a9e7f54670 Sponskrub integration 4 years ago
pukkandan 76d321f68f Option to present -F output to a more tabular form 4 years ago
pukkandan 2d30509fc8 Add --force-download-archive by by h-h-h-h
Authored-by: h-h-h-h
4 years ago
pukkandan 732044afb2 Add --write-*-link by h-h-h-h
Authored-by: h-h-h-h
4 years ago
pukkandan f96bff99cb Relaxed validation for format filters so that any arbitrary field can be used 4 years ago
pukkandan 909d24dd6d Better Format Selection
* Added options: --video-multistreams, --no-video-multistreams, --audio-multistreams, --no-audio-multistreams
* New format selectors: best*, worst*, bestvideo*, bestaudio*, worstvideo*, worstaudio*
* Added b,w,v,a as alias for best, worst, video and audio respectively in format selection
* Changed video format sorting to show video only files and video+audio files together.
4 years ago
pukkandan eb8a44336c Better Format Sorting (Squashed)
* Added --format-sort (-S height,filesize)
* Made fields reversible (-S +height)
* Added --format-sort-force, --no-format-sort-force
* Added limit (-S height:720)
* Added codec preference (-S vcodec,acodec)
* Correct handling of preference<-1000

* Rebased to yt-dlc
* Automatically determine missing bitrates
* aext, vext, protocol, acodec, vcodec can now takes priority as string, not number (-S vext:webm)
* Correct handling of None in codec, audio_codec (None means the codec is unknown while 'none' means it doesn't exist)
* Correctly parse filesize (-S filesize:200M)
* Generalized preference calculation

* Rewrote entire code into the class FormatSort
* Correctly handle user input errors
* Combined fields (-S +ext:webm:webm)
* Closest mode (-S filesize~50M)
* Aliases (framerate=fps, br=bitrate etc)

* Documentation
4 years ago
pukkandan ea6e0c2b0d Add --break-on-existing by @gergesh
Authored-by: Yoav Shai <gergesh@gmail.com>
4 years ago
Unknown 5db4014b23 [skip travis] readme and pypi update 4 years ago
Tom-Oliver Heidel 471115dbee
[skip travis] add option to use pip to use master 4 years ago
Tom-Oliver Heidel 167c108f70
[skip travis] 4 years ago
Tom-Oliver Heidel cf553deceb
[skip travis] update travis badge 4 years ago
bopol 9754a441e3 use webarchive to fix a dead link in README 4 years ago
Tom-Oliver Heidel 6410992da9
[skip travis] updated readme
replaced download links
added 'how to update'
4 years ago
Tom-Oliver Heidel bc30d1e09f
[skip travis] mention trim-file-name 4 years ago
Tom-Oliver Heidel 7e6790e232
[skip travis] update README.md - sleep-subtitles 4 years ago
Tom-Oliver Heidel 07892b3fcc
[skip travis] slight changes to badges in readme. 4 years ago
Unknown b777004649 Merge branch 'ytdl-org-master' 4 years ago
Tom-Oliver Heidel b96a939bbf
[skip travis] advice using pyinst.py for windows 4 years ago
Unknown 17cb02d0c6 bump version 2020.09.16 4 years ago
Unknown 78895bd3a1 [Core] hls manifests, dynamic mpd 4 years ago
Tom-Oliver Heidel cd93279de8 Merge branch 'ext/remuxe-video' of https://github.com/Zocker1999NET/youtube-dl into Zocker1999NET-ext/remuxe-video 4 years ago
Jens Timmerman 8a92dee72c
Update README.md
cleanup + typo fix
4 years ago
Jens Timmerman 893afc2ca8
Update README.md 4 years ago
Tom-Oliver Heidel 1c547dc8b3
[skip travis] add gitter and license badge 4 years ago
Tom-Oliver Heidel 2028c6492a
[skip travis] quick fix readme 4 years ago
Tom-Oliver Heidel 424dc7be53
[skip travis] add pypi badge 4 years ago
Unknown e367127957 [skip travis] minor fixes 4 years ago
Unknown cefecac12c [skip travis] renaming
to avoid using same folder when using pip install for example
4 years ago
Tom-Oliver Heidel a90d4f7e10
[skip travis] added download stats badge for pypi 4 years ago
Tom-Oliver Heidel 5f326cf54b
[skip travis] added win/unix executable to readme 4 years ago
Tom-Oliver Heidel 9ab41610b4
[skip travis] update readme. 4 years ago
Tom-Oliver Heidel c8598bbe26
change travis ci in readme 4 years ago
Felix Stupp efe87a10ae
Added --remux-video option
Fixes #6996

- Supported formats declared: mp4, mkv
- Added FFmpegVideoRemuxerPP as postprocessor
- Added option to README and shell-completion scripts
5 years ago