Jordan Weatherby
d1c4f6d4da
[youtube] Added piped instance urls ( #3714 )
...
Closes #3661
Authored by: JordanWeatherby
3 years ago
pukkandan
82d020804d
[extractor] Use classmethod/property where possible
...
and refactor lazy extractors accordingly.
This reduces the need to create extractor instances
3 years ago
pukkandan
0f06bcd759
[cleanup] Minor fixes (See desc)
...
* [youtube] Fix `--youtube-skip-dash-manifest`
* [build] Use `$()` in `Makefile`. Closes #3684
* Fix bug in 385ffb467b
* Fix bug in 43d7f5a5d0
* [cleanup] Remove unnecessary `utf-8` from `str.encode`/`bytes.decode`
* [utils] LazyList: Expose unnecessarily "protected" attributes
and other minor cleanup
3 years ago
pukkandan
91e5e839d3
[youtube] Deprioritize format 22
...
Reduces chance of encountering #3372
3 years ago
coletdev
6e634cbe42
[youtube] Add YoutubeStoriesIE ( #3362 )
...
Get channel stories with `ytstories:<channel UCID>`
Authored-by: coletdjnz
3 years ago
pukkandan
bfec31bec8
[youtube] De-prioritize auto-generated thumbnails
...
Closes #3112
3 years ago
pukkandan
1d485a1a79
[cleanup] Misc fixes
...
Closes #3565 , https://github.com/yt-dlp/yt-dlp/issues/3514#issuecomment-1105944364
3 years ago
pukkandan
0a41f331cc
[doc] Minor improvements
...
Closes #3518 , Closes #3560
3 years ago
pukkandan
19a0394044
[cleanup] Misc cleanup and refactor ( #2173 )
3 years ago
coletdjnz
affc4fefea
[youtube] Fix episode metadata extraction
3 years ago
pukkandan
f82711587c
[cleanup] Sort imports
...
Using https://github.com/PyCQA/isort
isort -m VERTICAL_HANGING_INDENT --py 36 -l 80 --rr -n --tc .
3 years ago
pukkandan
86e5f3ed2e
[cleanup] Upgrade syntax
...
Using https://github.com/asottile/pyupgrade
1. `__future__` imports and `coding: utf-8` were removed
2. Files were rewritten with `pyupgrade --py36-plus --keep-percent-format`
3. f-strings were cherry-picked from `pyupgrade --py36-plus`
Extractors are left untouched (except removing header) to avoid unnecessary merge conflicts
3 years ago
krichbanana
ca5300c7ed
[youtube] Add `:ytnotifications` extractor ( #3347 )
...
Authored by: krichbanana
3 years ago
pukkandan
a25bca9f89
[youtube, cleanup] Minor refactoring
...
Authored by: coletdjnz, pukkandan
3 years ago
coletdev
61d3665d9d
[youtube] Fix uploader for collaborative playlists ( #3332 )
...
Authored by: coletdjnz
3 years ago
pukkandan
a44ca5a470
[cleanup] Misc fixes
...
Closes https://github.com/yt-dlp/yt-dlp/pull/3213 , Closes https://github.com/yt-dlp/yt-dlp/pull/3117
Related: https://github.com/yt-dlp/yt-dlp/issues/3146#issuecomment-1077323114 , https://github.com/yt-dlp/yt-dlp/pull/3277#discussion_r841019671 , a825ffbffa (commitcomment-68538986)
, https://github.com/yt-dlp/yt-dlp/issues/2360 , 5fa3c9a88f (r70393519)
, 5fa3c9a88f (r70393254)
3 years ago
pukkandan
a17526e427
[youtube:tab] Minor improvements (See desc)
...
* Support shorts on channel homepage
* Extract thumbnail of OLAK playlists
3 years ago
coletdev
ad210f4fd4
[youtube:search] Support hashtag entries ( #3265 )
...
Authored-by: coletdjnz
3 years ago
David
e7870111e8
[YouTube] Add new age-gate bypass ( #3233 )
...
Closes #3182
Authored by: zerodytrash, pukkandan
3 years ago
coletdev
1c1b2f96ae
[youtube:tab] Fix duration extraction for shorts ( #3171 )
...
Related: https://github.com/TeamNewPipe/NewPipe/issues/8034
Authored-by: coletdjnz
3 years ago
pukkandan
1235d333ab
[youtube] Fix auto-translated automatic captions
...
d49669acad
only covered ASR
Closes #2956
3 years ago
pukkandan
18e4940825
[youtube] Add extractor-arg to skip auto-translated subs
3 years ago
shirt
727029c508
[youtube] Detect DRM better
...
Authored by: shirt-dev
3 years ago
coletdev
fd2ad7cb24
[youtube:tab] Return shorts url if video is a short ( #3168 )
...
Allows filtering out shorts from feeds with `--match-filter`
Closes #3165
Authored-by: coletdjnz
3 years ago
pukkandan
ae72962643
[youtube] Try embedded client variants before agegate
...
agegate variants appears to be broken, but don't remove them for the time-being
3 years ago
pukkandan
52efa4b312
[extractor] Add `_perform_login` function ( #2943 )
...
* Adds new functions `_initialize_pre_login` and `_perform_login` as part of the extractor API
* Adds `ie.supports_login` to the public API
3 years ago
pukkandan
e4b98809cf
[youtube] Fix pagination of `membership` tab
3 years ago
pukkandan
a1b2d84360
[youtube] Avoid false positives when detecting damaged formats
...
Closes #3083
3 years ago
coletdjnz
5dbc77df26
[youtube:api] Prefer minified JSON response
...
Authored-by: coletdjnz
3 years ago
coletdev
b3edc8068e
[downloader/mhtml] Fix fragments with absolute urls ( #3044 )
...
Authored-by: coletdjnz
3 years ago
coletdev
17322130a9
[youtube] Improve video upload date handling ( #3029 )
...
* Don't prefer UTC upload date for past live streams/premieres
* Improve regex (fixes a regression)
Authored-by: coletdjnz
3 years ago
pukkandan
ff91cf7483
[utils] Add `get_first`
3 years ago
pukkandan
a405b38f20
[youtube] Further de-prioritize 3gp format
3 years ago
pukkandan
08d30158ec
[cleanup, docs] Misc cleanup
...
Closes #2828 , closes #2734 , closes #2802 , closes #2937
3 years ago
coletdev
992f9a730b
[youtube] Prefer UTC upload date for videos ( #2223 )
...
Except for live/scheduled streams/premieres.
Closes #1881
Related: #2402
Authored-by: coletdjnz
3 years ago
pukkandan
d49669acad
[youtube] Fix automatic captions
...
Closes #2956
3 years ago
pukkandan
e48b3875ec
Revert 2e4cacd038
...
Closes #2923
3 years ago
coletdev
7c219ea601
[youtube:tab] Follow redirect to regional channel ( #2884 )
...
Closes #2694
Authored by: coletdjnz
3 years ago
Lesmiscore (Naoya Ozaki)
a539f06570
[downloader/fragment] Improve `--live-from-start` for YouTube livestreams ( #2870 )
3 years ago
pukkandan
1108613f02
[youtube:tab] Reject webpage data if redirected to home page
...
Closes #2660
3 years ago
pukkandan
a30a6ed3e4
[youtube:tab] Add `approximate_date` extractor-arg
3 years ago
Lesmiscore
a7d4acc018
[youtube] Escape possible `$` in `_extract_n_function_name` regex
3 years ago
pukkandan
0ad92dfb18
[youtube] De-prioritize potentially damaged formats
...
Closes #2823
3 years ago
pukkandan
2e4cacd038
[youtube] Fix intermittent failure of embed-based age-gate bypass
3 years ago
MinePlayersPE
c571b3a6ab
[youtube] Fix n-sig extraction for phone player JS ( #2816 )
...
Authored by: MinePlayersPE
3 years ago
coletdev
60f393e48b
[youtube] Ensure subtitle urls are absolute ( #2765 )
...
Closes #2755
Authored by: coletdjnz
3 years ago
pukkandan
ab6df717d1
[youtube] Differentiate descriptive audio by language code
...
Related: #2677
3 years ago
pukkandan
0c8d9e5fec
[youtube] Label original auto-subs
...
Closes #2655
3 years ago
pukkandan
84bbc54599
[youtube:search] Add tests
3 years ago
coletdjnz
af5c1c553e
[youtube] Fix search extractor
...
Regression introduced in 16aa9ea41d
. Closes #2628
Authored-by: coletdjnz
3 years ago
pukkandan
455a15e2dc
[cleanup,docs] Minor fixes
...
Closes #2541 , #2484
3 years ago
pukkandan
182bda88e8
[youtube, cleanup] Misc fixes and cleanup
3 years ago
pukkandan
16aa9ea41d
[youtube] Add extractor `YoutubeMusicSearchURLIE`
...
Closes #2568
3 years ago
pukkandan
48416bc4a8
[youtube] Fix n-sig for player e06dea74
3 years ago
coletdjnz
87e8e8a7d0
[youtube:api] Do not use seek when reading HTTPError response
...
Authored-by: coletdjnz
3 years ago
pukkandan
6970b6005e
[cleanup] Minor fixes
...
Closes #2334
3 years ago
pukkandan
e0ddbd02bd
[cleanup] Use format_field where applicable
3 years ago
coletdjnz
6c73052c0a
[youtube] Extract channel subscriber count ( #2399 )
...
Closes #2350
* Adds `channel_follower_count` field
Authored-by: coletdjnz
3 years ago
coletdjnz
396a76f7bf
[youtube] Enforce UTC ( #2402 )
...
and [utils] use `utcnow` in `datetime_from_str`
Related: #2223
Authored by: coletdjnz
3 years ago
coletdjnz
301d07fc4b
[youtube:tab] Extract channel banner ( #2400 )
...
Closes #2237
Authored by: coletdjnz
3 years ago
krichbanana
64f36541c9
[youtube:tab] Raise error on tab redirect ( #2318 )
...
Closes #2306
Authored by: krichbanana, coletdjnz
3 years ago
pukkandan
66f7c6a3e0
[youtube] Do not return `upload_date` for playlists
...
Closes #2349
Partially reverts #1018
Re-opens #1883
3 years ago
pukkandan
596379e260
[youtube] Make invalid storyboard URL non-fatal
...
Closes #2382
3 years ago
pukkandan
b6ce9bb038
[youtube] Detect live-stream embeds
...
Closes #2380
3 years ago
Unit 193
4c968755fc
[PornHub,YouTube] Refresh onion addresses ( #2272 )
...
Authored by: unit193
3 years ago
pukkandan
976ae3eabb
[youtube] Update tests
3 years ago
coletdjnz
f0d785d3ed
[youtube:tab] Extract more playlist metadata ( #2069 )
...
* Add fields modified_date, modified_timestamp
* Add field playlist_count
* [youtube:tab] Extract view_count, playlist_count, modified_date
Authored by: coletdjnz, pukkandan
3 years ago
coletdjnz
18c7683d27
[youtube:api] Update Innertube clients ( #2163 )
...
* Updated iOS clients to support 60fps formats (see: https://github.com/TeamNewPipe/NewPipeExtractor/issues/680#issuecomment-1002724558 )
* General update of versions and keys of other clients
Authored-by: coletdjnz
3 years ago
pukkandan
185bf31070
[youtube] End `live-from-start` properly when stream ends with 403
...
Closes #2089
3 years ago
coletdjnz
a709d87335
[youtube:tab] Extract video thumbnails from playlist ( #2096 )
...
closes #1184
Co-Authored-by: coletdjnz, pukkandan
3 years ago
The Hatsune Daishi
adbc4ec4bb
[dash,youtube] Download live from start to end ( #888 )
...
* Add option `--live-from-start` to enable downloading live videos from start
* Add key `is_from_start` in formats to identify formats (of live videos) that downloads from start
* [dash] Create protocol `http_dash_segments_generator` that allows a function to be passed instead of fragments
* [fragment] Allow multiple live dash formats to download simultaneously
* [youtube] Implement fragment re-fetching for the live dash formats
* [youtube] Re-extract dash manifest every 5 hours (manifest expires in 6hrs)
* [postprocessor/ffmpeg] Add `FFmpegFixupDuplicateMoovPP` to fixup duplicated moov atoms
Known issue: Ctrl+C doesn't work on Windows when downloading multiple formats
Closes #1521
Authored by: nao20010128nao, pukkandan
3 years ago
coletdjnz
f3aa3c3f98
[youtube:tab] Extract more metadata from feeds/channels/playlists ( #1018 )
...
Parse relative time text, extract live, upcoming status, availability and channel id from feeds/channels/playlists (where applicable).
Closes #1883
Authored-by: coletdjnz
3 years ago
pukkandan
37e57a9fd4
[youtube:tab] Ignore query when redirecting channel to playlist
...
and cleanup of related code
Closes #2046
3 years ago
pukkandan
39ca3b5c7f
[extractor] Standardize `_live_title`
3 years ago
coletdjnz
46383212b3
[youtube:comments] Add more options for limiting number of comments extracted ( #1626 )
...
Extends `max_comments` extractor arg to support `max-parents,max-replies,max-replies-per-thread`.
Authored-by: coletdjnz
3 years ago
pukkandan
ff9f925b63
[test/download] Add more fields
3 years ago
pukkandan
5f7cb91ae9
[youtube] Fix `ytsearchdate`
...
Related: #1851
3 years ago
pukkandan
b29165267f
[youtube] Decrypt n-sig for URLs with `ratebypass`
...
Closes #1796
3 years ago
pukkandan
a61fd4cf6f
[youtube:search_url] Add playlist/channel support
...
Closes #1213 , #1214
3 years ago
pukkandan
a6213a4925
[cleanup,youtube] Reorganize Tab and Search extractor inheritances
3 years ago
pukkandan
dd2a987d3f
[tests] Fix tests
3 years ago
pukkandan
9222c38182
[cleanup] Minor cleanup
...
Closes #1696 , Closes #1673
3 years ago
pukkandan
720c309932
[youtube] Add storyboard formats
...
Closes : #1553 , https://github.com/ytdl-org/youtube-dl/issues/9868
Related: https://github.com/ytdl-org/youtube-dl/pull/14951
3 years ago
coletdjnz
d0d012d4e7
[youtube] Add `default` player client ( #1685 )
...
Authored-by: coletdjnz
3 years ago
pukkandan
e339d25a0d
[youtube] Minor improvement to format sorting
3 years ago
pukkandan
c586f9e8de
[cleanup] minor fixes
3 years ago
pukkandan
aa9369a2d8
[cleanup] Minor improvements to error and debug messages
3 years ago
Ryan Hendrickson
d9190e4467
[youtube] Add Invidious list for playlists/channels ( #1567 )
...
Authored by: rhendric
3 years ago
pukkandan
34921b4345
[utils] Add `join_nonempty`
3 years ago
pukkandan
c18d4482b1
[youtube] Fix sorting for some videos
3 years ago
pukkandan
a4211baff5
[cleanup] Minor cleanup
3 years ago
pukkandan
d89257f398
[youtube] Remove unnecessary no-playlist warning
3 years ago
pukkandan
a0bb6ce58d
[youtube] refactor itag processing
3 years ago
pukkandan
404f611f1c
[youtube] Fix throttling by decrypting n-sig ( #1437 )
3 years ago
pukkandan
fccf502118
[youtube] Populate `thumbnail` with the best "known" thumbnail
...
Closes #402 , Related: https://github.com/yt-dlp/yt-dlp/issues/340#issuecomment-950290624
3 years ago
pukkandan
96565c7e55
[cleanup] Add keyword automatically to SearchIE descriptions
...
and some minor cleanup of docs
3 years ago
pukkandan
49a57e70a9
[cleanup] misc
3 years ago
pukkandan
176f1866cb
Add HDR information to formats
3 years ago
pukkandan
e820fbaa6f
Do not verify thumbnail URLs by default
...
Partially reverts cca80fe611
and 0ba692acc8
Unless `--check-formats` is specified, this causes yt-dlp to return incorrect thumbnail urls.
See https://github.com/yt-dlp/yt-dlp/issues/340#issuecomment-877909966 , #402
But the overhead in general use is not worth it
Closes #694 , #725
3 years ago
pukkandan
24b0a72b30
[cleanup] Remove broken youtube login code
3 years ago
coletdjnz
aae16f6ed9
[youtube:comments] Fix comment section not being extracted in new layouts ( #1324 )
...
Co-authored-by: coletdjnz, pukkandan
3 years ago
pukkandan
580d3274e5
[youtube] Expose different formats with same itag
3 years ago
pukkandan
ecdc9049c0
[YouTube] Add auto-translated subtitles
...
Closes #1245
3 years ago
pukkandan
a2160aa45f
[extractor] Generalize `getcomments` implementation
3 years ago
pukkandan
cc16383ff3
[extractor] Simplify search extractors
3 years ago
coletdjnz
ac56cf38a4
[youtube:tab] Fallback to API when webpage fails to download ( #1122 )
...
and add some extractor_args to force this mode
Authored by: coletdjnz
3 years ago
pukkandan
1276a43a77
[youtube] Fix non-fatal errors in fetching player
3 years ago
pukkandan
e6f21b3d92
[docs,cleanup] Some minor refactoring and improve docs
3 years ago
coletdjnz
99e9e001de
[youtube] Cleanup authentication code ( #786 )
...
Authored by: coletdjnz
3 years ago
pukkandan
5e3f2f8fc4
[youtube] Return full URL instead of just ID
3 years ago
pukkandan
3cd786dbd7
[youtube] Warn when trying to download clips
3 years ago
coletdjnz
b6de707d13
[youtube] Improvements to JS player extraction (See desc) ( #860 )
...
* fallback player url extraction when it fails to be extracted from the webpage
* don't download js player unnecessarily for clients that don't require it
* try to extract js player url from any additional client configs
* ability to skip the js player usage/download using `player_skip=js`
* ability to skip the initial webpage download using `player_skip=webpage`
known issue:
* authentication for multi-channel accounts and multi-account cookies may not work correctly if the webpage or client configs are skipped
* formats from the web client requiring signature decryption will be skipped if player js extraction is skipped
Authored by: coletdjnz
3 years ago
pukkandan
526d74ec5a
[cleanup] Misc
3 years ago
coletdjnz
c0ac49bcca
[youtube] Retry on 'Unknown Error' ( #854 )
...
and do not repeat unimportant alerts
Closes #839
Authored by: coletdjnz
3 years ago
pukkandan
a7429aa9fa
[youtube] Fix subtitle names
3 years ago
pukkandan
c311988d19
[youtube] Improve 26e8e04454
...
The streams of the same itag may have slightly different size/bitrate
3 years ago
pukkandan
26e8e04454
[youtube] Prefer audio stream that YouTube considers default
...
Fixes: https://github.com/ytdl-org/youtube-dl/issues/29864
Related: https://github.com/clsid2/mpc-hc/issues/1268
3 years ago
coletdjnz
0bb1bc1b10
[youtube] Remove annotations and deprecate `--write-annotations` ( #765 )
...
Closes #692
Authored by: coletdjnz
3 years ago
pukkandan
88acdbc269
[extractor] Better error message for DRM ( #729 )
...
Closes #636
3 years ago
Tom-Oliver Heidel
9b5fa9ee7c
[youtube] Add av01 itags to known formats list ( #747 )
...
Authored by: blackjack4494
3 years ago
pukkandan
3fb4e21b38
[lazy_extractors] Fix `suitable` and add flake8 test
3 years ago
pukkandan
4dfbf8696b
[utils] Add `parse_qs`
3 years ago
pukkandan
8fc54b1230
[youtube] Add `shorts` to `_VALID_URL`
...
Normally the generic extractor will redirect the URL,
but the cookies consent screen may sometimes appear instead
Closes #752
3 years ago
pukkandan
5ad28e7ffd
[extractor] Common function `_match_valid_url`
3 years ago
coletdjnz
641ad5d813
[youtube] Extract error messages from HTTPError response ( #644 )
...
Authored by: coletdjnz
3 years ago
PSlava
858a65ecc1
[youtube] Improve signature function detection ( #641 )
...
Authored by: PSlava (Slava <slash@i-slash.com>)
3 years ago
pukkandan
379e44ed3c
[youtube] Raise appropriate error when API pages can't be downloaded
3 years ago
pukkandan
57015a4a3f
[youtube] extractor-arg to show live dash formats
...
If replay is enabled, these formats can be used to download the last 4 hours
3 years ago
pukkandan
cf87314d4e
[youtube] Extract SAPISID only once
3 years ago
David
e7e94f2a5c
[youtube] Add age-gate bypass for unverified accounts ( #600 )
...
Adds `_creator` variants for each client
Authored by: zerodytrash, colethedj, pukkandan
3 years ago
coletdjnz
eca330cb88
[youtube] Fix default global API key
...
bug introduced in 000c15a4ca
3 years ago
pukkandan
3619f78d2c
[youtube] Misc cleanup ( #577 )
...
Authored by: pukkandan, colethedj
3 years ago
pukkandan
65c2fde23f
[youtube] Add `thirdParty` to agegate clients ( #577 )
...
* 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 #581
3 years ago
pukkandan
000c15a4ca
[youtube] simplify and de-duplicate client definitions ( #577 )
3 years ago
colethedj
9275f62cf8
[youtube] Improve age-gate detection ( #577 )
...
Authored by: colethedj
3 years ago
coletdjnz
6552469433
[youtube] Force `hl=en` for comments ( #594 )
...
Closes #532
3 years ago
MinePlayersPE
c0bc527bca
[YouTube] Age-gate bypass implementation ( #575 )
...
* 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 #574
Authored by pukkandan, MinePlayersPE
3 years ago
pukkandan
2a9c6dcd22
[youtube] Fix format sorting when using alternate clients
3 years ago
coletdjnz
5a1fc62b41
[youtube] Add `mobile_web` client ( #557 )
...
Authored by: colethedj
3 years ago
pukkandan
b4c055bac2
[youtube] Add `player_client=all`
3 years ago
pukkandan
f703a88055
Release 2021.07.24
3 years ago
pukkandan
a353beba83
[youtube:tab] Extract video duration early
...
Based on: https://github.com/ytdl-org/youtube-dl/pull/29487 by glenn-slayden
3 years ago
pukkandan
052e135029
[youtube] Simplify `_get_text` early
3 years ago
pukkandan
3944e7af92
[youtube] Fix subtitles only being extracted from the first client
...
Closes #547
3 years ago
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
3 years ago
pukkandan
c8fa48fd94
[youtube] Disable `get_video_info` age-gate workaround
...
This now seems to be completely dead
Closes : #553
3 years ago
coletdjnz
2fd226f6a7
[youtube] Fix age-gated videos for API clients when cookies are supplied ( #545 )
...
Fixes #543
Authored by: colethedj
3 years ago
pukkandan
245524e6a3
Release 2021.07.21
...
and fix some typos
Closes #538
3 years ago
pukkandan
9c0d7f4951
[youtube] Make `--extractor-retries` work for more errors
...
Closes #507
3 years ago
coletdjnz
c926c9541f
[youtube] Add debug message for SAPISID cookie extraction ( #540 )
...
Authored by: colethedj
3 years ago