Commit Graph

322 Commits

Author SHA1 Message Date
pukkandan 8c04f0be96 batch-file enumeration improvements (https://github.com/ytdl-org/youtube-dl/pull/26813)
Co-authored by: glenn-slayden
Modified from c9a9ccf8a3

These improvements apply to reading the list of URLs from the file supplied via the `--batch-file` (`-a`) command line option.

1. Skip blank and empty lines in the file. Currently, lines with leading whitespace are only skipped when that whitespace is followed by a comment character (`#`, `;`, or `]`). This means that empty lines and lines consisting only of whitespace are returned as (trimmed) empty strings in the list of URLs to process.

2. [bug fix] Detect and remove the Unicode BOM when the file descriptor is already decoding Unicode.

With Python 3, the `batch_fd` enumerator returns the lines of the file as Unicode. For UTF-8, this means that the raw BOM bytes from the file `\xef \xbb \xbf` show up converted into a single `\ufeff` character prefixed to the first enumerated text line.

This fix solves several buggy interactions between the presence of BOM, the skipping of comments and/or blank lines, and ensuring the list of URLs is consistently trimmed. For example, if the first line of the file is blank, the BOM is incorrectly returned as a URL standing alone. If the first line contains a URL, it will be prefixed with this unwanted single character--but note that its being there will have inhibited the proper trimming of any leading whitespace. Currently, the `UnicodeBOMIE` helper attempts to recover from some of these error cases, but this fix prevents the error from happening in the first place (at least on Python3). In any case, the `UnicodeBOMIE` approach is flawed, because it is clearly illogical for a BOM to appear in the (non-batch) URL(s) specified directly on the command line (and for that matter, on URLs *after the first line* of a batch list, also)

3. Adds proper trimming of the " #" into the read_batch_urls processing so that the URLs it enumerates are cleaned and trimmed more consistently.
2021-01-09 18:08:03 +05:30
Alex Merkel ab8e5e516f Add post_hooks option to YoutubeDL.py (https://github.com/ytdl-org/youtube-dl/pull/27573)
Authored by: alexmerkel
2021-01-09 16:00:49 +05:30
pukkandan 62d80ba17c [youtube] Fix bug (Closes https://github.com/pukkandan/yt-dlc/issues/10) 2021-01-08 23:27:00 +05:30
pukkandan e8273c86a3 [version] update 2021-01-08 22:59:45 +05:30
pukkandan 00dd0cd573 Update to ytdl-2021.01.08 2021-01-08 21:59:10 +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
Jody Bruchon e0da59fe54 ffmpeg: ignore extra data streams with `-dn` (fixes #2)
Sometimes, video files will arrive with a timecode data stream
that causes `-map 0` to error out due to the stream not being
supported in the output container. These data streams generally do
not matter, so tell ffmpeg to ignore them rather than choking on
them.
2021-01-07 12:26:50 -05:00
pukkandan 9d88274ca2 Tiktok fix #8 (blackjack4494#20)
Authored by GreyAlien502
2021-01-07 20:53:03 +05:30
pukkandan 7dbce2c532 [vlive] add support for playlists #7 (blackjack4494#223)
Authored by kyuyeunk
2021-01-07 20:53:03 +05:30
pukkandan 2c35345868 Make sure playerOffsetMs is positive in youtube_live_chat by siikamiika #5 (blackjack4494#262)
Authored by siikamiika
2021-01-07 20:53:03 +05:30
pukkandan 3ad6c46175 Release 2021.01.07 2021-01-07 20:10:10 +05:30
pukkandan 19807826f7 Fix bug in default format selection 2021-01-07 17:22:46 +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 735d865ece Disable Updates 2021-01-06 17:43:27 +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 29f7c58aaf Update to ytdl-2021.01.03 2021-01-05 00:02:27 +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 e51f368c27 Fix for embedding thumbnail in mp3 by pauldubois98
Authored-by: Paul Dubois <pauldubois98@gmail.com>
2020-12-13 20:05:03 +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 3f6eaea676 Make Twitch Video ID output from Playlist and VOD extractor same.
Is this sufficient for all cases?
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
Kyu Yeun Kim 3d54ebd427 [vlive] add support for playlists 2020-12-04 23:24:23 +09:00
Tom-Oliver Heidel 98e248faa4
Merge pull request #106 from diegorodriguezv/fix-tmz
[TMZ] Fix TMZ.com extractor
2020-12-02 01:46:46 +01:00
Unknown 40ec740f7b [yt] temporary fix for automatic captions - disable json3 2020-12-02 01:44:14 +01:00
nixxo 4f618e64f5 [skyit] removed old skyitalia extractor 2020-12-01 12:10:50 +01:00
Remita Amine 12300fa45a [skyit] add support for multiple Sky Italia websites(closes #26629) 2020-12-01 12:09:45 +01:00
Tom-Oliver Heidel b662fc8d20
Merge branch 'master' into gedi 2020-11-30 02:51:41 +01:00
Tom-Oliver Heidel 929576bb9e
Merge pull request #126 from nao20010128nao/master
[instagram] Fix extractor
2020-11-30 02:50:39 +01:00
Tom-Oliver Heidel 7dde463e86
Merge pull request #144 from nixxo/rcs
[Rcs] Add new extractor
2020-11-30 02:48:29 +01:00
Tom-Oliver Heidel e29288d667
Merge pull request #140 from WolfganP/patch-1
ITV BTCC new pages' URL update (articles instead of races)
2020-11-30 02:48:02 +01:00
Tom-Oliver Heidel 9e4043faa9
Merge branch 'master' into rcs 2020-11-30 02:46:10 +01:00
Tom-Oliver Heidel e8dfaa0fd7
Merge pull request #208 from colethedj/ytsearchfix
[youtube] fix: ytsearch not returning results sometimes due to promoted content
2020-11-30 02:34:28 +01:00
Tom-Oliver Heidel 6a03f4f2a8
Merge pull request #261 from B0pol/ina
[ina] support mobile links
2020-11-30 02:30:43 +01:00
Tom-Oliver Heidel 6248b34ad2
Merge pull request #207 from pukkandan/thumbnail-rename
[ffmpeg] Fix for os.rename error when embedding thumbnail to video in a different drive on windows
2020-11-30 02:30:20 +01:00
Tom-Oliver Heidel 8e423ae86a
Merge pull request #224 from kyuyeunk/vlive
[Vlive] Fix playlist handling when downloading a channel
2020-11-30 02:26:35 +01:00
Tom-Oliver Heidel 284ec6f48a
Merge pull request #246 from pukkandan/bitchute-embed
Detect embedded bitchute videos
2020-11-30 02:25:38 +01:00
Tom-Oliver Heidel bccdb02e93
Merge pull request #205 from pukkandan/ffmpeg-use-map
[ffmpeg] Ensure all streams are copied
2020-11-30 02:24:39 +01:00
Tom-Oliver Heidel ef5a4db06c
Merge pull request #245 from pukkandan/merge-main
Merge youtube-dl and fix Youtube Feeds
2020-11-30 02:20:18 +01:00
siikamiika ae6e4e25aa make sure playerOffsetMs is positive 2020-11-28 02:19:38 +02:00
bopol 9b664dc420 [ina] support mobile links 2020-11-27 23:54:21 +01:00
Tom-Oliver Heidel 93201d50aa
Merge pull request #213 from lorpus/master
[bitwave.tv] new extractor
2020-11-27 16:42:12 +01:00
lorpus ae7c01431d [bitwave.tv] add test 2020-11-27 00:23:13 -05:00