Commit Graph

655 Commits (85a0021fb387959b83ac2c25e46f07d507d5ad75)

Author SHA1 Message Date
xtkoba cb89cfc14b
[test] Add Python 3.10 ()
Authored-by: pukkandan, xtkoba
pukkandan 063c409dfb
[cookies] Handle errors when importing `keyring`
Workaround for 
Matt Broadway 767b02a99b
[cookies] Handle `sqlite` `ImportError` gracefully ()
Closes 
Authored by: mbway
pukkandan f45e6c1126
[downloader] Pass same status object to all `progress_hooks`
pukkandan 3944e7af92
[youtube] Fix subtitles only being extracted from the first client
Closes 
pukkandan ad34b2951e
Try all clients even if age-gated
Reverts: 892e31ce7c

If some API calls have any issue, saving the state will cause unnecessary errors
pukkandan c8fa48fd94
[youtube] Disable `get_video_info` age-gate workaround
This now seems to be completely dead
Closes: 
coletdjnz 2fd226f6a7
[youtube] Fix age-gated videos for API clients when cookies are supplied ()
Fixes 
Authored by: colethedj
pukkandan 3ba7740dd8
[downloader] Pass `info_dict` to `progress_hook`s
pukkandan 29b208f6f9
[cookies] bugfix
Fixes: https://github.com/yt-dlp/yt-dlp/pull/488#discussion_r674352059
pukkandan e4d666d27b
[version] update
:ci skip all
pukkandan 245524e6a3
Release 2021.07.21
and fix some typos
Closes 
pukkandan 9c0d7f4951
[youtube] Make `--extractor-retries` work for more errors
Closes 
pukkandan e37d0efbd9
Fix bug where `original_url` was not propagated when `_type`=`url`
coletdjnz c926c9541f
[youtube] Add debug message for SAPISID cookie extraction ()
Authored by: colethedj
Matt Broadway 982ee69a74
Add option `--cookies-from-browser` to load cookies from a browser ()
* also adds `--no-cookies-from-browser`

Original PR: https://github.com/ytdl-org/youtube-dl/pull/29201
Authored by: mbway
pukkandan 7ea6541124
[youtube] Improve extraction of livestream metadata
Modified from and closes 
Authored by: pukkandan, krichbanana
pukkandan ae30b84072
Add field `live_status`
pukkandan cc9d1493c6
bugfix for 50fed816dd
Philip Xu f6755419d1
[douyin] Add extractor ()
Authored-by: pukkandan, pyx
Henrik Heimbuerger 145bd631c5
[nebula] Authentication via tokens from cookie jar ()
Closes 
Co-authored-by: hheimbuerger, TpmKranz
pukkandan b35496d825
Add `only_once` param for `write_debug`
pukkandan 352d63fdb5
[utils] Improve `traverse_obj`
pukkandan 11f9be0912
[youtube] Extract data from multiple clients ()
* `player_client` accepts multiple clients
* default `player_client` = `android,web`
* music clients can be specifically requested
* Add IOS `player_client`
* Hide live dash since they can't be downloaded

Closes 

Authored-by: pukkandan, colethedj
pukkandan c84aeac6b5
Add `only_once` param for `report_warning`
Related: https://github.com/yt-dlp/yt-dlp/pull/488#discussion_r667527297
pukkandan 50fed816dd
Errors in playlist extraction should obey `--ignore-errors`
Related: https://github.com/yt-dlp/yt-dlp/issues/535#issuecomment-883277272, https://github.com/yt-dlp/yt-dlp/issues/518#issuecomment-881794754
coletdjnz a1a7907bc0
[youtube] Fix controversial videos when requested via API ()
Closes: https://github.com/yt-dlp/yt-dlp/issues/511#issuecomment-883024350
Authored by: colethedj
pukkandan d61fc64618
[youtube:tab] Fix channels tab
pukkandan 6586bca9b9
[utils] Fix LazyList for Falsey values
pukkandan da503b7a52
[youtube] Make `parse_time_text` and `_extract_chapters` non-fatal
Related: , 7c365c2109
pukkandan 7c365c2109
[youtube] Sanity check `chapters` (and refactor related code)
Closes 
pukkandan 3f698246b2
Rename `NOTE` in `-F` to `MORE INFO`
since it's often confused to be the same as `format_note`
pukkandan cca80fe611 [youtube] Extract even more thumbnails and reduce testing
* Also fix bug where `_test_url` was being ignored

Ref: https://stackoverflow.com/a/20542029
Related: 
pukkandan c634ad2a3c [compat] Remove unnecessary code
pukkandan 8f3343809e
[utils] Improve `traverse_obj`
* Allow skipping a level: `traverse_obj([{k:v1}, {k:v2}], (None, k))` => `[v1, v2]`
* Make keys variadic: `traverse_obj(obj, k1: str, k2: str)` => `traverse_obj(obj, (k1,), (k2,))`
* Fetch from multiple keys: `traverse_obj([{k1:[1], k2:[2], k3:[3]}], (0, (k1, k2), 0))` => `[1, 2]`

TODO: Add tests
pukkandan 0ba692acc8
[youtube] Extract more thumbnails
* The thumbnail URLs are hard-coded and their actual existence is tested lazily
* Added option `--no-check-formats` to not test them

Closes , Related: , , https://github.com/ytdl-org/youtube-dl/issues/29049
pukkandan d9488f69c1
[crunchyroll:playlist] Force http
Closes 
pukkandan 5520aa2dc9
Add option `--exec-before-download`
Closes 
mzbaulhaque 8d9b902243
[pornflip] Add new extractor ()
Authored-by: mzbaulhaque
coletdjnz fe93e2c4cf
[youtube] misc cleanup and bug fixes ()
* Update some `_extract_response` calls to keep them consistent
* Cleanup continuation extraction related code using new API format
* Improve `_extract_account_syncid` to support multiple parameters
* Generalize `get_text` and related functions into one
* Update `INNERTUBE_CONTEXT_CLIENT_NAME` with integer values

Authored by: colethedj
coletdjnz 314ee30548
[youtube] Fix session index extraction and headers for non-web player clients ()
Fixes 
coletdjnz 34917076ad
[youtube] Fix authentication when using multiple accounts
`SESSION_INDEX` in `ytcfg` is the index of the active account and should be sent as `X-Goog-AuthUser` header

Closes 
Authored by @colethedj
The Hatsune Daishi ccc7795ca3
[yahoo:gyao:player] Relax `_VALID_URL` ()
Authored by: nao20010128nao
Felix S da1c94ee45
[generic] Extract previously missed subtitles ()
* [generic] Extract subtitles in cases missed previously
* [common] Detect discarded subtitles in SMIL manifests
* [generic] Extract everything in the SMIL manifest

Authored by: fstirlitz
pukkandan 3b297919e0
Revert "Merge webm formats into mkv if thumbnails are to be embedded ()"
This reverts commit 4d971a16b8 by @damianoamatruda
Closes 

This was wrongly checking for `write_thumbnail`
coletdjnz 47193e0298
[youtube:tab] Extract playlist availability ()
Authored by: colethedj
coletdjnz 49bd8c66d3
[youtube:comments] Improve comment vote count parsing (fixes ) ()
Authored by: colethedj
Felix S 182b6ae8a6
[RTP] Fix extraction and add subtitles ()
Authored by: fstirlitz
felix c843e68588
[utils] Improve `js_to_json` comment regex
Capture the newline character as part of a single-line comment

From , Authored by: fstirlitz
felix 198f7ea89e
[extractor] Allow extracting multiple groups in `_search_regex`
From , Authored by: fstirlitz
coletdjnz c888ffb95a
[youtube] Use android client as default and add age-gate bypass for it ()
Authored by: colethedj
coletdjnz 9752433221
[youtube:comments] Fix `is_favorited` ()
Authored by colethedj
pukkandan f0ff9979c6
[vlive] Extract thumbnail directly in addition to the one from Naver
Closes 
pukkandan 501dd1ad55
[metadatafromfield] Do not detect numbers as field names
Related: https://github.com/yt-dlp/yt-dlp/issues/486#issuecomment-877820394
pukkandan 75722b037d
[webtt] Fix timestamps
Closes 
coletdjnz 2d6659b9ea
[youtube:comments] Move comment extraction to new API ()
Closes , ,  

Authored by: colethedj
Kevin O'Connor c5370857b3
[BravoTV] Improve metadata extraction ()
Authored by: kevinoconnor7
pukkandan 00034c146a
[embedthumbnail] Fix `_get_thumbnail_resolution`
pukkandan 325ebc1703
Improve `traverse_obj`
pukkandan 7dde84f3c9
[FFmpegMetadata] Add language of each stream
and some refactoring
pukkandan 6606817a86
[utils] Add `variadic`
zackmark29 73d829c144
[VIKI] Rewrite extractors ()
Closes 
Also added extractor-arg `video_types` to `vikichannel`

Co-authored-by: zackmark29, pukkandan
pukkandan 60bdb7bd9e
[youtube] Fix sorting of 3gp format
pukkandan 4bb6b02f93
Improve `extractor_args` parsing
pukkandan b5ac45b197
Fix selectors `all`, `mergeall` and add tests
Bug from: 981052c9c6
pukkandan 38a40c9e16
[version] update
:ci skip all
pukkandan 51f8a31d65
Update to ytdl-commit-a803582
[peertube] only call description endpoint if necessary
a803582717
Tom-Oliver Heidel be05d5cff1
[soundcloud] Allow login using oauth token ()
Authored by: blackjack4494
zenerdi0de 30d569d2ac
[fancode] Fix extraction, support live and allow login with refresh token ()
Authored-by: zenerdi0de
OhMyBahGosh 08625e4125
[AdobePass] Add Spectrum MSO ()
From: https://github.com/ytdl-org/youtube-dl/pull/26792

Co-authored by: kevinoconnor7, ohmybahgosh
pukkandan 3acf6d3856
[Funimation] Rewrite extractor (See desc) ()
* Support direct `/player/` URL
* Treat the different versions of an episode as different formats of a single video. So `experience_id` can no longer be used as the video `id` and the `episode_id` is used instead. This means that all existing archives will break
* Extractor options `language` and `version` to pre-select them
* Compat option `seperate-video-versions` to fall back to old behavior (including using the old video IDs)

Closes 
pukkandan 46890374f7
[extractor] Minor improvements (See desc)
1. Allow removal of login hint - extractors can set their own login hint as part of `msg`
2. Cleanup `_merge_subtitles` signature
pukkandan 60755938b3
[extractor] Prevent unnecessary download of hls manifests
and refactor `hls_split_discontinuity` code
pukkandan 723d44b92b
[fragment] Handle errors in threads correctly
pukkandan bc97cdae67
[cleanup] Fix linter and some typos
Related: https://github.com/ytdl-org/youtube-dl/pull/29398
nyuszika7h e010672ab5
[videa] Fix extraction ()
Authored by: nyuszika7h
pukkandan 169dbde946
Fixes for `--list` options (See desc)
1. Fix `--list-formats-old`
2. Allow listing with `--quiet`
3. Allow various listings to work together
4. Allow `--print` to work with listing
MinePlayersPE 17f0eb66b8
[RCTIPlus] Add extractor ()
Authored by: MinePlayersPE
pukkandan 981052c9c6 Some minor fixes and refactoring (see desc)
* [utils] Fix issues with reversal
* check_formats should catch `DownloadError`, not `ExtractorError`
* Simplify format selectors with `LazyList` and `yield from`
pukkandan b1e60d1806 [facebook] Extract description and fix title
Partially fixes: 
pukkandan 6b6c16ca6c [downloader/ffmpeg] Fix `--ppa` when using simultaneous download
krichbanana f6745c4980
[Youtube] Choose correct Live chat API for upcoming streams ()
Authored by: krichbanana
coletdjnz 109dd3b237
[youtube] Use new API for additional video extraction requests ()
Co-authored-by: colethedj, pukkandan
Closes https://github.com/yt-dlp/yt-dlp/issues/427
Workarounds for https://github.com/ytdl-org/youtube-dl/issues/29326, https://github.com/yt-dlp/yt-dlp/issues/319, https://github.com/ytdl-org/youtube-dl/issues/29086
siikamiika c2603313b1
[youtube_live_chat] use `clickTrackingParams` ()
Authored by: siikamiika
LE 1e79316e20
[TBS] Support livestreams ()
Authored by: llacb47
coletdjnz 45261e063b
[youtube:comments] Fix error handling and add `itct` to params ()
Should close  (untested)

Authored by: colethedj
pukkandan 49c258e18d
[youtube] Fix subtitle names for age-gated videos
Related: https://github.com/iv-org/invidious/pull/2205#issuecomment-868680486
pukkandan d3f62c1967
Fix `--throttled-rate` when using `--load-info-json`
pukkandan 5d3a0e794b
Add `--extractor-args` to pass extractor-specific arguments
Mevious 125728b038
[funimation] Add `FunimationShowIE` ()
Closes 

Authored by: Mevious
pukkandan 15a4fd53d3
[thumbnailsconvertor] Treat `jpeg` as `jpg`
Adrik 4513a41a72
Process videos when using `--ignore-no-formats-error` ()
Authored by: krichbanana
pukkandan 6033d9808d
Fix `--flat-playlist` when entry has no `ie_key`
pukkandan bd4d1ea398
[cleanup] Minor refactoring of `fragment`
pukkandan 8e897ed283
[fragment] Return status of download correctly
LE 412cce82b0
[yahoo] Fix extraction ()
Fixes: https://github.com/ytdl-org/youtube-dl/issues/28290

Co-authored-by: llacb47, pukkandan
siikamiika d534c4520b
[youtube_live_chat] Fix download with cookies ()
Closes  

Authored by: siikamiika
pukkandan 2b18a8c590
[plutotv] Improve `_VALID_URL`
Closes 
pukkandan dac8b87b0c
[version] update :ci skip all
pukkandan 6aecd87106
Release 2021.06.23
pukkandan ed807c1837
Update to ytdl-commit-379f52a
[liveleak] Remove extractor
379f52a495
Mevious 29f63c9672
[funimation] Extract subtitles ()
Closes , https://github.com/ytdl-org/youtube-dl/issues/25645
Related: https://github.com/ytdl-org/youtube-dl/pull/24906

Authored by: Mevious
pukkandan 9fc0de5796
[hotstar] Use server time for authentication instead of local time
Closes 
siikamiika c60ee3a218
[youtube_live_chat] Support ongoing live chat ()
Authored by: siikamiika
pukkandan 8a77e5e6bc
[cleanup] Revert unnecessary changes in 51d9739f80
pukkandan 51d9739f80
Add option `--throttled-rate` below which video data is re-extracted
Currently only for HTTP downloads

Closes , workaround for https://github.com/ytdl-org/youtube-dl/issues/29326
pukkandan 4c7853de14
[fragment] Merge during download for `-N`, and refactor `hls`/`dash` ()
pukkandan e6779b9400
[twitcasting] Websocket support ()
Closes 
Authored by: nao20010128nao
pukkandan e36d50c5dd
[websockets] Add `WebSocketFragmentFD` ()
Necessary for 

Co-authored by: nao20010128nao, pukkandan
pukkandan ff0f78e1fe
[aria2c] Lower `--min-split-size` for HTTP downloads
This makes downloading smaller files much faster
pukkandan 7e067091e8
[options] Rename `--add-metadata` to `--embed-metadata`
and clarify that it embeds chapter markers
pukkandan f89b3e2d7a
Skip fixup of existing files and add `--fixup force` to force it
pukkandan fd7cfb6444
[cleanup] Refactor fixup
pukkandan 4e6767b5f2
[youtube] Temporary fix for age-gate
Related:
https://stackoverflow.com/a/67629882
https://github.com/yt-dlp/yt-dlp/issues/319
https://github.com/ytdl-org/youtube-dl/issues/29333
https://github.com/ytdl-org/youtube-dl/issues/29086
pukkandan 9fea350f0d
Fix id sanitization in filenames
Closes 
pukkandan e858a9d6d3
[EmbedThumbnail] Add compat-option `embed-thumbnail-atomicparsley`
to force use of atomicparsley for embedding thumbnails in mp4

Related: 
pukkandan 7e87e27c52
[postprocessor] Fix `_restrict_to` when a codec is not set
pukkandan d0fb4bd16f
[pornhub] Extract `cast`
Closes , https://github.com/ytdl-org/youtube-dl/pull/27384
felix 3fd4c2a543
[mediasite] Extract slides ()
Fixes:
https://github.com/ytdl-org/youtube-dl/issues/4974#issue-58006762
https://github.com/ytdl-org/youtube-dl/issues/4540#issuecomment-69574231
https://github.com/ytdl-org/youtube-dl/pull/11185#issuecomment-335554239

Authored by: fstirlitz
felix cdb19aa4c2
[downloader/mhtml] Add new downloader ()
This downloader is intended to be used for streams that consist of a
timed sequence of stand-alone images, such as slideshows or thumbnail
streams

This can be used for implementing:

https://github.com/ytdl-org/youtube-dl/issues/4974#issue-58006762
https://github.com/ytdl-org/youtube-dl/issues/4540#issuecomment-69574231
https://github.com/ytdl-org/youtube-dl/pull/11185#issuecomment-335554239

https://github.com/ytdl-org/youtube-dl/issues/9868
https://github.com/ytdl-org/youtube-dl/pull/14951


Authored by: fstirlitz
pukkandan 4d85fbbdbb
Fix bug in 8326b00aab
pukkandan 551f93885e
Ignore `images` formats from merge
pukkandan 8326b00aab
Allow `images` formats
Necessary for .

* 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  is resolved
pukkandan b0249bcaf0
Expand `--check-formats` to thumbnails
Closes 
pukkandan 21cd8fae49
Use `NamedTemporaryFile` for `--check-formats`
pukkandan 45db527fa6
[youtube] Login is not needed for `:ytrec`
pukkandan 28419ca2c8
[utils] Improve `LazyList`
* Add `repr` and `str` that mimics `list`
* Add `reversed`. Unlike `[::-1]`, reversed does not exhaust the iterable and modifies the `LazyList` in-place
* Add tests
pukkandan 8ba8714880
[EmbedThumbnail] Fix for already downloaded thumbnail
pukkandan 187986a857
Better error handling of syntax errors in `-f`
coletdjnz 4ba001080f
[youtube] Non-fatal alert reporting for unavailable videos page ()
Co-Authored by: colethedj, pukkandan
coletdjnz 1974e99f4b
[youtube] Improve SAPISID cookie handling (closes ) ()
Author: colethedj
pukkandan 0181adefc6
[build] Build Windows x86 version with py3.7
and remove redundant tests
Closes 

:ci skip

Co-authored by: pukkandan, shirt-dev
pukkandan fd3c633d26
[version] update
:ci skip all
pukkandan 385a27fad1
Improve offset parsing in outtmpl
pukkandan 639f1cea92
Fix `%d` and empty default in outtmpl
Closes 
pukkandan b5c5d84f60
Revert "[build] Build Windows x86 version with py3.8"
This reverts commit aa75e51f99.

See 

This is being reverted instead of modified due to 
pukkandan aa75e51f99
[build] Build Windows x86 version with py3.8
and remove redundant tests
:ci skip

Ao-authored by: pukkandan, shirt-dev
pukkandan 884ce9d05d
[version] update :ci skip all
pukkandan 3b1fe47d84
Release 2021.06.08
pukkandan 76a264ac9e
Make outtmpl more robust and catch errors early
pukkandan 324ad82006
[utils] Generalize `traverse_dict` to `traverse_obj`
Nil Admirari beb982bead
[build,update] Add GNU-style SHA512 and prepare updater for simlar SHA256 ()
Authored by: nihil-admirari <50202386+nihil-admirari@users.noreply.github.com>

Related: 
pukkandan 46358f647d
Update to ytdl-commit-c2350ca
Update MSVC 2010 redist URL
c2350cac24
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 ecb5419149
Make more fields available for `--print` when used with `--flat-playlist`
pukkandan 89ee4cf8ae
[viki] Fix extraction
Closes 
Code from: 59e583f7e8
pukkandan 87ea7dfc04
Fix filename sanitization
Bug from 752cda3880
pukkandan eb0f9d6838
[zoom] Extract transcripts as subtitles
pukkandan d3d8d8184a
[extractor] Fix pre-checking archive for some extractors
The `id` regex group must be present for `_match_id` and pre-checking archive to work correctly
pukkandan e85a39717a
[twitcasting] Add TwitCastingUserIE, TwitCastingLiveIE
Closes 

Code adapted from: f1fb9222bb/youtube_dl/extractor/twitcasting.py
Authored by: pukkandan, nao20010128nao
MinePlayersPE f2cd7060fc
[vidio] Add VidioPremierIE and VidioLiveIE ()
Authored-by: MinePlayersPE
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
pukkandan 9d83ad93d0
[cleanup] Mark unused files
felix cc52de4356
[cleanup] Point all shebang to `python3` ()
Authored by: fstirlitz
felix 2ec1759f9d
[downloader/ffmpeg] Hide FFmpeg banner unless in verbose mode ()
Authored by: fstirlitz
felix e2efe599aa
[common] Fix FourCC fallback when parsing ISM ()
In some DASH manifests, the FourCC attribute is actually present,
but empty.  We thus apply the same fallback to 'AACL' that we do
when the attribute is entirely absent.

Authored by: fstirlitz
pukkandan 5e1dba8ed6
Remove duplicate file `trovolive.py`
pukkandan bea742222f
[youtube] Support shorts URL
Closes 
pukkandan e06ca6ddac
[hls] Decrypt fragment when reading from disk
Closes 
pukkandan eb03899192
[version] update
:ci skip all
pukkandan bc6b9bcd65
[utils] Escape URLs in `sanitized_Request`, not `sanitize_url`
d2558234cf added escaping of URLs while sanitizing. However, `sanitize_url` may not always receive an actual URL.
Eg: When using `yt-dlp "search query" --default-search ytsearch`, `search query` gets escaped to `search%20query` before being prefixed with `ytsearch:` which is not the intended behavior. So the escaping is moved to `sanitized_Request` instead.
Ashish 6e6390321c
[Hotstar] Add HotStarSeriesIE ()
Authored by: Ashish0804
pukkandan 4040428efc
[update] Block further update for unsupported systems
pukkandan 14eb1ee1cb
Update to ytdl-commit-d495292
[ard] Relax _VALID_URL and fix video ids
d495292852

Closes 
coletdjnz 879e7199bb
[archiveorg] Add YoutubeWebArchiveIE ()
Co-authored by: colethedj, pukkandan, alex-gedeon
pukkandan d89da64b1d
[hls,dash] When using `concurrent_fragment_downloads`, do not keep the fragment content in memory
Partial fix for 
This is a temporary solution until  can be implemented
pukkandan 5dcd8e1d88
[hls] Disable external downloader for `webtt`
MinePlayersPE 10bb7e51e8
[vidio] Add login support ()
Authored by: MinePlayersPE
pukkandan b0089e8992
[fancode] Add extractor (#316,#354)
Closes , 

Authored by: rmsmachine
Ashish a3ed14cbaf
[Voot] Add VootSeriesIE ()
Authored by: Ashish0804
LE 9dee4df559
[Saitosan] Add new extractor ()
Closes 
Authored by: llacb47
pukkandan adddc50cbf
[extractor] Functions to parse socket.io response as json
Authored by: pukkandan, llacb47
MinePlayersPE 46c43ffc9d
[vidio] Support premium videos ()
Authored by: MinePlayersPE
pukkandan 37a3bb66a7
[extractor] Allow `note=False` when extracting manifests
pukkandan 337e0c62f8
[embedthumbnail] Correctly escape filename
Closes 
The approach in [1] is faulty as can be seen in the test cases
1. bff857a8af
pukkandan 885cc0b75c
[embedthumbnail] Embed if any thumbnail was downloaded, not just the best
pukkandan 46953e7e6e
[youtube:playlist] fix bug
pukkandan ae8f99e648
Remove `None` values from `info.json`
pukkandan 077c476276
[zee5] Fix m3u8 formats extension
pukkandan 835a1478b4
Write messages to `stderr` when both `quiet` and `verbose`
pukkandan 120fe5134a
Pre-check archive and filters during playlist extraction
This makes `--break-on-existing` much faster.
It also helps `--break-on-reject` if the playlist extractor can extract the relevant fields
pukkandan 56a8fb4f77
Refactor `__process_playlist` using `LazyList`
pukkandan 55575225b4
[utils] Add `__getitem__` for `PagedList`
pukkandan 483336e79e
[utils] Add `LazyList`
pukkandan c77495e3a4
[cleanup] `_match_entry`
rhsmachine 65af1839c6
[patreon] Support vimeo embeds ()
Authored by: rhsmachine
pukkandan 177877c544
[extractor] Always prefer native hls downloader by default
When the manifest is not downloadable by native downloader, it already is able to detect it and switch to `ffmpeg`. So there doesn't seem to be a reason anymore to use ffmpeg as the preferred downloader
pukkandan b25522ba52
[update] Replace self without launching a subprocess in windows
Closes: , https://github.com/ytdl-org/youtube-dl/issues/28488, https://github.com/ytdl-org/youtube-dl/issues/5810, https://github.com/ytdl-org/youtube-dl/issues/5994

In windows, a running executable cannot be replaced. So, the old updater worked by launching a batch script and then exiting, so that the batch script can replace the executable. However, this caused the above-mentioned issues.

The new method takes advantage of the fact that while the executable cannot be replaced or deleted, it can still be renamed. The current update process on windows is as follows:
1. Delete `yt-dlp.exe.old` if it exists
2. Download the new version as `yt-dlp.exe.new`
3. Rename the running exe to `yt-dlp.exe.old`
4. Rename `yt-dlp.exe.new` to `yt-dlp.exe`
5. Open a shell that deletes `yt-dlp.exe.old` and terminate

While we still use a subprocess, the actual update is already done before the app terminates and the batch script does not print anything to stdout/stderr. So this solves all the above issues
pukkandan c19bc311cb
[cleanup] Refactor updater
The updater now uses `.update.run_update` and not `.update.update_self`.
Although I don't expect anyone to be using the updater via API, a wrapper `update_self` is provided for compatibility just in case
Hubert Hirtz 5435dcf96e
Handle Basic Auth `user:pass` in URLs
Fixes https://github.com/ytdl-org/youtube-dl/issues/20258, https://github.com/ytdl-org/youtube-dl/issues/26211
Authored by: hhirtz, pukkandan
Oliver Freyermuth f17c702270
[ard] Allow URLs without `-` before id
https://github.com/ytdl-org/youtube-dl/pull/29091

Authored by: olifre
pukkandan 3907333c5d
[extractor] Skip subtitles without URI in m3u8 manifests
Closes 

Authored by: hheimbuerger
pukkandan acdecdfaef
[embedthumbnail] Embed in `mp4`/`m4a` using mutagen
Code from: https://github.com/ytdl-org/youtube-dl/pull/23525
Co-authored by: tripulse , pukkandan
Ashish 09d18ad07e
[Sonyliv] Add subtitle support ()
Authored by: Ashish0804
pukkandan bc516a3f3c
Sanitize and sort playlist thumbnails
Closes 
Ashish 9572eaaa11
[ShemarooMe] Add extractor ()
Closes 
Co-authored-by: Ashish0804, pukkandan
pukkandan 18e674b4f6
[ffmpeg] Download and merge in a single step if possible
pukkandan 8d68ab98a7
[youtube] Fix bug where not all hls formats were extracted
Bug introduced in 9297939ec3
Ashish 135e6b93f4
[SonyLIV] Add SonyLIVSeriesIE ()
Authored by: Ashish0804
king-millez 13a49340ed
[telemundo] add extractor ()
Closes 
Authored by: king-millez