Commit Graph

166 Commits (dfd78699f59d66fe7cd109c2534240ea0254426c)

Author SHA1 Message Date
pukkandan cf87314d4e
[youtube] Extract SAPISID only once
David e7e94f2a5c
[youtube] Add age-gate bypass for unverified accounts ()
Adds `_creator` variants for each client

Authored by: zerodytrash, colethedj, pukkandan
coletdjnz eca330cb88
[youtube] Fix default global API key
bug introduced in 000c15a4ca
pukkandan 3619f78d2c
[youtube] Misc cleanup ()
Authored by: pukkandan, colethedj
pukkandan 65c2fde23f
[youtube] Add `thirdParty` to agegate clients ()
* This allows more videos like `tf2U5Vyj0oU` to become embeddable
    See https://github.com/yt-dlp/yt-dlp/pull/575#issuecomment-888837000
* Also added tests for all types of age-gate

Closes 
pukkandan 000c15a4ca
[youtube] simplify and de-duplicate client definitions ()
colethedj 9275f62cf8
[youtube] Improve age-gate detection ()
Authored by: colethedj
coletdjnz 6552469433
[youtube] Force `hl=en` for comments ()
Closes 
MinePlayersPE c0bc527bca
[YouTube] Age-gate bypass implementation ()
* Calling the API with `clientScreen=EMBED` allows access to most age-gated videos - discovered by @ccdffddfddfdsfedeee (https://github.com/yt-dlp/yt-dlp/issues/574#issuecomment-887171136)
* Adds clients: (web/android/ios)_(embedded/agegate), mweb_embedded
* Renamed mobile_web to mweb

Closes 

Authored by pukkandan, MinePlayersPE
pukkandan 2a9c6dcd22
[youtube] Fix format sorting when using alternate clients
coletdjnz 5a1fc62b41
[youtube] Add `mobile_web` client ()
Authored by: colethedj
pukkandan b4c055bac2
[youtube] Add `player_client=all`
pukkandan f703a88055
Release 2021.07.24
pukkandan a353beba83
[youtube:tab] Extract video duration early
Based on: https://github.com/ytdl-org/youtube-dl/pull/29487 by glenn-slayden
pukkandan 052e135029
[youtube] Simplify `_get_text` early
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 245524e6a3
Release 2021.07.21
and fix some typos
Closes 
pukkandan 9c0d7f4951
[youtube] Make `--extractor-retries` work for more errors
Closes 
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 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
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 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 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 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
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
coletdjnz 47193e0298
[youtube:tab] Extract playlist availability ()
Authored by: colethedj
coletdjnz 49bd8c66d3
[youtube:comments] Improve comment vote count parsing (fixes ) ()
Authored by: colethedj
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
coletdjnz 2d6659b9ea
[youtube:comments] Move comment extraction to new API ()
Closes , ,  

Authored by: colethedj
pukkandan 60bdb7bd9e
[youtube] Fix sorting of 3gp format
pukkandan 4bb6b02f93
Improve `extractor_args` parsing
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
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 5d3a0e794b
Add `--extractor-args` to pass extractor-specific arguments
pukkandan ed807c1837
Update to ytdl-commit-379f52a
[liveleak] Remove extractor
379f52a495
siikamiika c60ee3a218
[youtube_live_chat] Support ongoing live chat ()
Authored by: siikamiika
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 45db527fa6
[youtube] Login is not needed for `:ytrec`
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 bea742222f
[youtube] Support shorts URL
Closes 
pukkandan 46953e7e6e
[youtube:playlist] fix bug
pukkandan 8d68ab98a7
[youtube] Fix bug where not all hls formats were extracted
Bug introduced in 9297939ec3
pukkandan 09f1580e2d
[youtube] `/live` URLs should raise error if channel is not live
Fixes: https://github.com/ytdl-org/youtube-dl/issues/29090
coletdjnz 00ae27690d
[youtube] Add `html5=1` param to `get_video_info` page requests ()
Workaround for , https://github.com/ytdl-org/youtube-dl/issues/29086
Authored by: colethedj
pukkandan 9d5d4d64f8
[youtube] Better message when login required
pukkandan d3fc8074a4
[youtube] Sort audio-only formats correctly
Closes 
pukkandan 07cce701de
[cleanup] linter, code formatting and readme
pukkandan ff2751ac9c
[youtube] Always extract `maxresdefault` thumbnail
Fixes: https://github.com/ytdl-org/youtube-dl/issues/29049
pukkandan abcdd12b26
[youtube:tab] Support youtube music `MP` pages
pukkandan 18db754858
[youtube:tab] Redirect `UC` channels that doesn't have a `videos` tab
Many topic URLs don't have a videos tab, but has an equivalent `UU` playlist.
If there is no playlist, fallback to using channel page
pukkandan fe03a6cdc8
[youtube:tab] Support youtube music `VL` and `browse` pages
pukkandan cd684175ad
[youtube:tab] Support channel search
Fixes: https://github.com/ytdl-org/youtube-dl/issues/29071
pukkandan da692b7920
[cleanup] youtube tests
pukkandan 95c01b6c16
[youtube:tab] Show alerts only from the final webpage
pukkandan a06916d98e
[extractor] Add `write_debug` and `get_param`
coletdjnz 9297939ec3
[Youtube] Extract more formats for `music.youtube` URLs ()
Based on: https://github.com/ytdl-org/youtube-dl/pull/28778, https://github.com/ytdl-org/youtube-dl/pull/26160

Co-authored-by: craftingmod, colethedj, pukkandan
pukkandan 774d79cc4c
[youtube] Add language names
Co-authored by: nixxo, tpikonen
Based on: https://github.com/ytdl-org/youtube-dl/pull/26112
Closes: 
pukkandan 120916dac2
[youtube] multiple subtitles in same language
Fixes: https://github.com/ytdl-org/youtube-dl/issues/21164
Related: , https://github.com/ytdl-org/youtube-dl/pull/26112
pukkandan 0fb983f62d
[youtube] Extract audio language
pukkandan 53ed7066ab
Option `--compat-options` to revert some of yt-dlp's changes
* Deprecates `--list-formats-as-table`, `--list-formats-old`
pukkandan 68b91dc905
[youtube] Add `oembed` to reserved names
pukkandan e28f1c0ae8
[cleanup] Fix linter and some typos
* Also remove inconsistent use of `"` in setup.py
pukkandan 895b0931e5
[youtube:tab] Detect playlists inside community posts
pukkandan 1bdae7d312
Update to ytdl-commit-7e8b3f9
[youtube] Remove unused code
7e8b3f9439
pukkandan 8c54a3051d
[youtube] Bugfix in `_extract_ytcfg`
pukkandan 201c145953
Update to ytdl-commit-9f6c03
[cbsnews] Fix extraction for python <3.6
9f6c03a006
pukkandan 5d34200268
[youtube:tab] Reload with unavailable videos for all playlists
If the unavailable video is in a later page, the warning and button are not shown in the initial webpage
So we force all playlists' initial page to reload with the correct params
pukkandan b7da73eb19
Add option `--ignore-no-formats-error`
* Ignores the "no video format" and similar errors
* Experimental - Some extractors may still throw these errors
pukkandan 6a39ee13f7
Fix inconsistent use of `report_warning`
coletdjnz 358de58c4d
[youtube:tab] Show unavailable videos in playlists ()
Closes 

Authored by: colethedj
coletdjnz 79360d99d3
[youtube] Standardize API calls for tabs, mixes and search ()
Authored by: colethedj
pukkandan 46fff7105e
[youtube] Ignore invalid stretch ratio
Closes 
coletdjnz 8ea3f7b909
[youtube] Improve channel syncid extraction to support ytcfg ()
Authored by: colethedj
coletdjnz f4f751af40
[youtube] Parse API parameters from initial webpage ()
* Obtain innertube_context, api_key and x-goog-visitor-id from webpage
* Generalize the header & Innertube_context extraction across YouTube extractors

Related: 1b0a13f33c

Authored by: colethedj
pukkandan 1988fab7e3
[youtube] Fix thumbnail URL
Closes: https://github.com/yt-dlp/yt-dlp/issues/233 https://github.com/ytdl-org/youtube-dl/issues/28023
pukkandan f7ad71607d
Update to ytdl-commit-4fb25ff
[maoritv] Add new extractor
4fb25ff5a3

Except:
[vimeo] improve extraction 3ae9c0f410
[youtube:tab] Pass innertube context... 1b0a13f33c
pukkandan 3ffc7c89b0
[youtube] Fix _extract_alerts
* Sometimes one warning is split between multiple runs
* Also simplified code
coletdjnz d92f5d5a90
[youtube] Extract comments' approximate timestamp ()
Authored by: colethedj
pukkandan 39ed931e53
Update to ytdl-commit-654b4f4
[youtube] prioritize information from YoutubeIE for playlist entries
654b4f4ff2
Matthew b28f8d244a
[YouTube] Show premium state in `availability` ()
Authored by colethedj
pukkandan b050d210df
Fix some typos and linter
pukkandan cce889b900 Update to ytdl v2021-04-01
14f29f087e

Closes 
pukkandan 1418a0437f
Update to ytdl-commit-8562218
[ard] improve clip id extraction
8562218350
pukkandan 394dcd4486
Write current epoch to infojson when using `--no-clean-infojson`
Closes 
pukkandan 83b20a970d
[youtube_live_chat] fix bug when trying to set cookies
Closes 
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