Commit Graph

635 Commits

Author SHA1 Message Date
pukkandan b050d210df
Fix some typos and linter 2021-04-01 14:16:10 +05:30
pukkandan a3affbe6a0
Release 2021.03.24 2021-03-25 04:18:37 +05:30
pukkandan 143db31d48
Parse metadata from multiple fields
Closes #196
2021-03-25 03:32:15 +05:30
pukkandan a7f347d9c9
Release 2021.03.21 2021-03-22 02:58:41 +05:30
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
2021-03-22 02:58:41 +05:30
pukkandan dd18a58cb1 [documentation] Add `SplitChapters` to `--ppa` 2021-03-20 09:31:53 +05:30
pukkandan a515a78dd3
fix some typos and linter 2021-03-18 22:19:31 +05:30
pukkandan e167860ce7
[documentation] Add deprecated options and aliases in readme 2021-03-18 22:07:50 +05:30
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
2021-03-18 21:00:45 +05:30
pukkandan 597c18665e
Release 2021.03.15 2021-03-15 05:54:39 +05:30
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
2021-03-15 04:32:13 +05:30
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
2021-03-13 10:16:58 +05:30
Ashish 5ba4a0b69c
[Documentation] Inclusion of two-line install script for Unix (#155)
Closes #83
Authored-by: Ashish <ashish@pop-os.localdomain>

ci skip all
2021-03-07 15:29:01 +05:30
pukkandan 5f7514957f
Release 2021.03.03 2021-03-03 16:27:55 +05:30
pukkandan d6e51845b7
Reduce default of `--extractor-retries` to 3
so that even those not using sleep won't get 429'd on youtube
2021-03-03 03:04:08 +05:30
pukkandan 5ef7d9bdd8
Release 2021.03.01 2021-03-01 05:39:50 +05:30
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
2021-02-28 20:56:32 +05:30
pukkandan 277d6ff5f2
Extract comments only when needed #95 (Closes #94) 2021-02-28 20:26:08 +05:30
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
2021-02-27 18:14:42 +05:30
pukkandan 7f7de7f94d Allow specifying path in `--external-downloader` 2021-02-27 16:52:27 +05:30
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
2021-02-26 21:52:16 +05:30
shirt-dev b965087396
Readthedocs improvements (#115)
Authored-by: shirtjs <2660574+shirtjs@users.noreply.github.com>

:ci skip dl
2021-02-25 21:16:08 +05:30
pukkandan 127d075955 [documentation] Fix typos (Closes #112)
:ci skip all
2021-02-25 16:08:25 +05:30
pukkandan c74d1aa340 Release 2021.02.24 2021-02-25 02:31:17 +05:30
pukkandan 0744a815b7 [documentation] Changes left behind from #85 and #107 2021-02-25 01:42:33 +05:30
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
2021-02-25 00:15:56 +05:30
pukkandan 5b1ecbb327 [ffmpeg] Allow passing custom arguments before -i
:ci skip dl
2021-02-24 21:36:48 +05:30
pukkandan e409895f13 [documentation] Fix documentation of "Extractor Options" 2021-02-24 21:33:02 +05:30
pukkandan 6cfda0582b [documentaion] Document `playable_in_embed`
:ci skip all
2021-02-22 22:38:14 +05:30
pukkandan f76ede8ee4 [youtube] Show if video was a live stream in info 2021-02-22 03:11:24 +05:30
pukkandan e094cec18c [documentation] Document `all` in format selection (Closes #101)
:ci skip all
2021-02-21 03:32:50 +05:30
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
2021-02-19 04:52:05 +05:30
pukkandan dca3ff4a5e [formatsort] Remove forced priority of `quality`
When making `FormatSort`, I misinterpreted the purpose `quality`
2021-02-19 00:12:21 +05:30
pukkandan da9be05edf [documentation] Better document `--prefer-free-formats`
Also added `--no-prefer-free-formats`
2021-02-18 23:52:32 +05:30
pukkandan 155d2b48c5 [formatsort] Prefer vp9.2 over other vp9 codecs
vp9.2 may contain HDR while vp9.0 doesn't
2021-02-18 23:52:31 +05:30
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
2021-02-18 01:06:40 +05:30
pukkandan aa837ddf06 Release 2021.02.15 2021-02-16 04:04:27 +05:30
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>
2021-02-12 09:21:59 +05:30
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
2021-02-11 17:16:02 +05:30
pukkandan 8d801631cf [version] update
:ci skip all
2021-02-10 02:06:49 +05:30
pukkandan ba9f36d732 Release 2021.02.09 2021-02-10 01:26:56 +05:30
pukkandan b3943b2f33 [pyinst.py] Move back to root dir (Closes #63) 2021-02-09 18:04:27 +05:30
pukkandan 06ff212d64 [documentation] Crypto is an optional dependency 2021-02-08 18:05:22 +05:30
pukkandan c25228e5da Release 2021.02.04 2021-02-05 04:50:38 +05:30
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
2021-02-05 04:11:39 +05:30
pukkandan ff88a05cff [pyinst] Automatically detect python architecture and working directory
:ci skip all
2021-02-04 22:09:10 +05:30
pukkandan e29663c644
#45 Allow date/time formatting in output template
Closes #43
2021-02-03 02:45:00 +05:30
pukkandan cac96421d9 New option --no-write-playlist-metafiles to NOT write playlist metadata files 2021-01-30 16:43:20 +05:30
pukkandan 29b6000e35 Release 2021.01.29 2021-01-29 23:25:18 +05:30
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
2021-01-29 23:16:00 +05:30
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
2021-01-27 20:32:51 +05:30
pukkandan 4ff5e98991 More badges
:ci skip all
2021-01-27 20:16:34 +05:30
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
2021-01-26 23:27:32 +05:30
pukkandan 5bfa486205 Add option `--parse-metadata`
* The fields extracted by this can be used in `--output`
* Deprecated `--metadata-from-title`

:ci skip dl
2021-01-26 16:14:31 +05:30
pukkandan 0bc0a32290 Release 2021.01.24 2021-01-24 21:39:55 +05:30
Remita Amine a820dc722e Update to ytdl-2021.01.24.1 2021-01-24 20:28:44 +05:30
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
2021-01-24 20:24:07 +05:30
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
2021-01-23 17:53:17 +05:30
pukkandan 3bcaa37b1b [tests] Split core and download tests 2021-01-23 17:00:11 +05:30
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`
2021-01-23 17:00:10 +05:30
pukkandan 45016689fa Standardized function for creating dict from repeated options 2021-01-23 17:00:10 +05:30
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
2021-01-21 19:05:57 +05:30
pukkandan c69911e4c1 Release 2021.01.20 2021-01-21 02:51:45 +05:30
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
2021-01-21 01:36:10 +05:30
pukkandan 8a51f56439 [readme] Cleanup options
(Closes #23) :skip ci
2021-01-19 00:56:07 +05:30
pukkandan 298f597b4f Release 2021.01.16 2021-01-17 00:24:52 +05:30
pukkandan e2e43aea21 Portable Configuration file (closes #19)
Inspired by https://github.com/ytdl-org/youtube-dl/pull/27592
2021-01-17 00:05:46 +05:30
pukkandan 7bc877a20d Add PyPI release 2021-01-16 01:05:53 +05:30
pukkandan 17fa3ee25f Documentation fixes
* Change all links to point to new fork URL
* Changed sponskrub links to my fork of the same
* Other typos
2021-01-14 21:51:14 +05:30
pukkandan 8b0d7497d5 Added option `--break-on-reject`
and modified `--break-on-existing`
2021-01-13 06:44:35 +05:30
pukkandan 90505ff153 [readme] Change all links to point to new fork URL 2021-01-13 05:17:31 +05:30
pukkandan 9b45b9f51a Release 2021.01.12 2021-01-13 03:53:49 +05:30
pukkandan d9d045e2ef Changed repo name to yt-dlp 2021-01-13 03:45:14 +05:30
pukkandan f5546c0b3c Fix typos (Closes #14)
:skip ci all

Co-authored by: FelixFrog
2021-01-12 21:42:41 +05:30
pukkandan f20f5fe524 Add changelog for the unreleased changes in blackjack4494/yt-dlc
and made related changes in README
2021-01-11 23:08:11 +05:30
pukkandan b2f70ae74e Update version badge automatically in README
Uses: https://github.com/Schneegans/dynamic-badges-action
2021-01-09 22:58:23 +05:30
pukkandan 6fd35a1101 Release 2021.01.09 2021-01-09 18:14:11 +05:30
pukkandan e5bc03a6fa Release 2021.01.08 2021-01-08 22:54:34 +05:30
pukkandan 034b6215b4 Move changelog to seperate file 2021-01-08 22:50:49 +05:30
pukkandan 0c0ff18f7d [CI] Created quick-test 2021-01-08 03:44:54 +05:30
pukkandan a26c99ac13 Release 2021.01.07-1 2021-01-08 02:13:14 +05:30
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"`
2021-01-08 01:41:08 +05:30
pukkandan c76eb41bb9 Preparing for release 2021-01-07 17:22:45 +05:30
pukkandan dbbbe555d7 Add `duration_string` to info_dict 2021-01-06 22:37:55 +05:30
pukkandan 7fd86ce1a9 Remove av01 priority 2021-01-06 21:28:07 +05:30
pukkandan 2af884ff22 v2021.01.05.02 2021-01-05 02:37:15 +05:30
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
2021-01-05 02:36:09 +05:30
pukkandan 50865ca803 v2021.01.05 - Make publicly available 2021-01-05 01:05:59 +05:30
pukkandan 29f7c58aaf Update to ytdl-2021.01.03 2021-01-05 00:02:27 +05:30
pukkandan c2b5f3114f Readme changes 2021-01-04 23:59:02 +05:30
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"
2021-01-04 23:15:15 +05:30
pukkandan a9e7f54670 Sponskrub integration 2021-01-04 23:13:27 +05:30
pukkandan 76d321f68f Option to present -F output to a more tabular form 2021-01-04 23:03:04 +05:30
pukkandan 2d30509fc8 Add --force-download-archive by by h-h-h-h
Authored-by: h-h-h-h
2020-12-13 20:05:04 +05:30
pukkandan 732044afb2 Add --write-*-link by h-h-h-h
Authored-by: h-h-h-h
2020-12-13 20:05:04 +05:30
pukkandan f96bff99cb Relaxed validation for format filters so that any arbitrary field can be used 2020-12-13 20:05:03 +05:30
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.
2020-12-13 20:05:03 +05:30
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
2020-12-13 20:05:02 +05:30
pukkandan ea6e0c2b0d Add --break-on-existing by @gergesh
Authored-by: Yoav Shai <gergesh@gmail.com>
2020-11-13 14:19:00 +05:30
Unknown 5db4014b23 [skip travis] readme and pypi update 2020-11-07 15:05:05 +01:00