Commit Graph

267 Commits

Author SHA1 Message Date
pukkandan a1b2d84360
[youtube] Avoid false positives when detecting damaged formats
Closes #3083
2022-03-16 19:46:29 +05:30
coletdjnz 5dbc77df26
[youtube:api] Prefer minified JSON response
Authored-by: coletdjnz
2022-03-16 09:29:15 +13:00
coletdev b3edc8068e
[downloader/mhtml] Fix fragments with absolute urls (#3044)
Authored-by: coletdjnz
2022-03-13 22:03:40 +00:00
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
2022-03-13 22:02:44 +00:00
pukkandan ff91cf7483
[utils] Add `get_first` 2022-03-09 02:26:52 +05:30
pukkandan a405b38f20
[youtube] Further de-prioritize 3gp format 2022-03-08 23:02:38 +05:30
pukkandan 08d30158ec
[cleanup, docs] Misc cleanup
Closes #2828, closes #2734, closes #2802, closes #2937
2022-03-08 22:38:06 +05:30
coletdev 992f9a730b
[youtube] Prefer UTC upload date for videos (#2223)
Except for live/scheduled streams/premieres. 
Closes #1881
Related: #2402 
Authored-by: coletdjnz
2022-03-08 12:58:19 +05:30
pukkandan d49669acad
[youtube] Fix automatic captions
Closes #2956
2022-03-05 09:42:12 +05:30
pukkandan e48b3875ec
Revert 2e4cacd038
Closes #2923
2022-03-04 20:18:14 +05:30
coletdev 7c219ea601
[youtube:tab] Follow redirect to regional channel (#2884)
Closes #2694
Authored by: coletdjnz
2022-02-28 21:08:19 -08:00
Lesmiscore (Naoya Ozaki) a539f06570
[downloader/fragment] Improve `--live-from-start` for YouTube livestreams (#2870) 2022-02-25 02:00:46 +09:00
pukkandan 1108613f02
[youtube:tab] Reject webpage data if redirected to home page
Closes #2660
2022-02-23 04:25:55 +05:30
pukkandan a30a6ed3e4
[youtube:tab] Add `approximate_date` extractor-arg 2022-02-23 04:25:55 +05:30
Lesmiscore a7d4acc018
[youtube] Escape possible `$` in `_extract_n_function_name` regex 2022-02-20 17:33:58 +09:00
pukkandan 0ad92dfb18
[youtube] De-prioritize potentially damaged formats
Closes #2823
2022-02-18 19:41:37 +05:30
pukkandan 2e4cacd038
[youtube] Fix intermittent failure of embed-based age-gate bypass 2022-02-18 18:03:13 +05:30
MinePlayersPE c571b3a6ab
[youtube] Fix n-sig extraction for phone player JS (#2816)
Authored by: MinePlayersPE
2022-02-18 00:12:20 -08:00
coletdev 60f393e48b
[youtube] Ensure subtitle urls are absolute (#2765)
Closes #2755

Authored by: coletdjnz
2022-02-13 13:36:01 -08:00
pukkandan ab6df717d1
[youtube] Differentiate descriptive audio by language code
Related: #2677
2022-02-12 02:13:17 +05:30
pukkandan 0c8d9e5fec
[youtube] Label original auto-subs
Closes #2655
2022-02-12 01:50:49 +05:30
pukkandan 84bbc54599
[youtube:search] Add tests 2022-02-04 12:02:01 +05:30
coletdjnz af5c1c553e
[youtube] Fix search extractor
Regression introduced in 16aa9ea41d. Closes #2628
Authored-by: coletdjnz
2022-02-04 10:32:56 +13:00
pukkandan 455a15e2dc
[cleanup,docs] Minor fixes
Closes #2541, #2484
2022-02-03 21:00:39 +05:30
pukkandan 182bda88e8
[youtube, cleanup] Misc fixes and cleanup 2022-02-02 02:15:53 +05:30
pukkandan 16aa9ea41d [youtube] Add extractor `YoutubeMusicSearchURLIE`
Closes #2568
2022-02-02 00:11:38 +05:30
pukkandan 48416bc4a8
[youtube] Fix n-sig for player e06dea74 2022-02-01 08:10:41 +05:30
coletdjnz 87e8e8a7d0
[youtube:api] Do not use seek when reading HTTPError response
Authored-by: coletdjnz
2022-01-23 19:11:32 +13:00
pukkandan 6970b6005e
[cleanup] Minor fixes
Closes #2334
2022-01-21 13:27:44 +05:30
pukkandan e0ddbd02bd
[cleanup] Use format_field where applicable 2022-01-21 13:27:40 +05:30
coletdjnz 6c73052c0a
[youtube] Extract channel subscriber count (#2399)
Closes #2350
* Adds `channel_follower_count` field
Authored-by: coletdjnz
2022-01-21 06:04:36 +00:00
coletdjnz 396a76f7bf
[youtube] Enforce UTC (#2402)
and [utils] use `utcnow` in `datetime_from_str`

Related: #2223 
Authored by: coletdjnz
2022-01-20 20:32:01 +05:30
coletdjnz 301d07fc4b
[youtube:tab] Extract channel banner (#2400)
Closes #2237
Authored by: coletdjnz
2022-01-20 20:29:09 +05:30
krichbanana 64f36541c9
[youtube:tab] Raise error on tab redirect (#2318)
Closes #2306
Authored by: krichbanana, coletdjnz
2022-01-20 03:01:57 +05:30
pukkandan 66f7c6a3e0
[youtube] Do not return `upload_date` for playlists
Closes #2349
Partially reverts #1018
Re-opens #1883
2022-01-19 19:07:40 +05:30
pukkandan 596379e260
[youtube] Make invalid storyboard URL non-fatal
Closes #2382
2022-01-19 18:57:29 +05:30
pukkandan b6ce9bb038
[youtube] Detect live-stream embeds
Closes #2380
2022-01-19 18:56:55 +05:30
Unit 193 4c968755fc
[PornHub,YouTube] Refresh onion addresses (#2272)
Authored by: unit193
2022-01-09 20:08:34 +05:30
pukkandan 976ae3eabb
[youtube] Update tests 2022-01-07 17:25:58 +05:30
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
2022-01-07 16:33:02 +05:30
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
2022-01-02 05:22:31 +00:00
pukkandan 185bf31070
[youtube] End `live-from-start` properly when stream ends with 403
Closes #2089
2021-12-26 16:14:00 +05:30
coletdjnz a709d87335
[youtube:tab] Extract video thumbnails from playlist (#2096)
closes #1184
Co-Authored-by: coletdjnz, pukkandan
2021-12-24 03:42:02 +00:00
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
2021-12-20 11:36:46 +05:30
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
2021-12-20 04:47:53 +00:00
pukkandan 37e57a9fd4
[youtube:tab] Ignore query when redirecting channel to playlist
and cleanup of related code
Closes #2046
2021-12-19 09:05:59 +05:30
pukkandan 39ca3b5c7f
[extractor] Standardize `_live_title` 2021-12-15 22:09:07 +05:30
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
2021-12-15 04:29:48 +00:00
pukkandan ff9f925b63
[test/download] Add more fields 2021-12-15 03:38:12 +05:30
pukkandan 5f7cb91ae9
[youtube] Fix `ytsearchdate`
Related: #1851
2021-12-01 23:23:45 +05:30
pukkandan b29165267f
[youtube] Decrypt n-sig for URLs with `ratebypass`
Closes #1796
2021-11-29 22:51:18 +05:30
pukkandan a61fd4cf6f
[youtube:search_url] Add playlist/channel support
Closes #1213, #1214
2021-11-24 09:33:15 +05:30
pukkandan a6213a4925
[cleanup,youtube] Reorganize Tab and Search extractor inheritances 2021-11-24 09:28:59 +05:30
pukkandan dd2a987d3f
[tests] Fix tests 2021-11-19 06:30:25 +05:30
pukkandan 9222c38182
[cleanup] Minor cleanup
Closes #1696, Closes #1673
2021-11-19 05:36:28 +05:30
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
2021-11-17 01:29:34 +05:30
coletdjnz d0d012d4e7
[youtube] Add `default` player client (#1685)
Authored-by: coletdjnz
2021-11-16 01:22:01 +00:00
pukkandan e339d25a0d
[youtube] Minor improvement to format sorting 2021-11-13 15:15:23 +05:30
pukkandan c586f9e8de
[cleanup] minor fixes 2021-11-10 04:19:54 +05:30
pukkandan aa9369a2d8
[cleanup] Minor improvements to error and debug messages 2021-11-10 04:19:33 +05:30
Ryan Hendrickson d9190e4467
[youtube] Add Invidious list for playlists/channels (#1567)
Authored by: rhendric
2021-11-06 08:37:34 +05:30
pukkandan 34921b4345
[utils] Add `join_nonempty` 2021-11-06 07:53:55 +05:30
pukkandan c18d4482b1
[youtube] Fix sorting for some videos 2021-11-05 00:12:11 +05:30
pukkandan a4211baff5
[cleanup] Minor cleanup 2021-11-04 03:53:15 +05:30
pukkandan d89257f398
[youtube] Remove unnecessary no-playlist warning 2021-11-03 16:35:09 +05:30
pukkandan a0bb6ce58d
[youtube] refactor itag processing 2021-10-31 13:26:44 +05:30
pukkandan 404f611f1c
[youtube] Fix throttling by decrypting n-sig (#1437) 2021-10-31 09:53:58 +05:30
pukkandan fccf502118
[youtube] Populate `thumbnail` with the best "known" thumbnail
Closes #402, Related: https://github.com/yt-dlp/yt-dlp/issues/340#issuecomment-950290624
2021-10-24 15:00:18 +05:30
pukkandan 96565c7e55
[cleanup] Add keyword automatically to SearchIE descriptions
and some minor cleanup of docs
2021-10-23 21:20:19 +05:30
pukkandan 49a57e70a9
[cleanup] misc 2021-10-23 02:09:10 +05:30
pukkandan 176f1866cb
Add HDR information to formats 2021-10-18 18:35:02 +05:30
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
2021-10-18 15:44:47 +05:30
pukkandan 24b0a72b30
[cleanup] Remove broken youtube login code 2021-10-18 09:25:51 +05:30
coletdjnz aae16f6ed9
[youtube:comments] Fix comment section not being extracted in new layouts (#1324)
Co-authored-by: coletdjnz, pukkandan
2021-10-18 02:58:42 +00:00
pukkandan 580d3274e5 [youtube] Expose different formats with same itag 2021-10-16 20:28:17 +05:30
pukkandan ecdc9049c0
[YouTube] Add auto-translated subtitles
Closes #1245
2021-10-12 15:21:32 +05:30
pukkandan a2160aa45f
[extractor] Generalize `getcomments` implementation 2021-10-12 15:21:30 +05:30
pukkandan cc16383ff3
[extractor] Simplify search extractors 2021-10-12 15:21:30 +05:30
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
2021-10-09 02:49:25 +05:30
pukkandan 1276a43a77
[youtube] Fix non-fatal errors in fetching player 2021-10-06 05:45:19 +05:30
pukkandan e6f21b3d92
[docs,cleanup] Some minor refactoring and improve docs 2021-09-30 03:32:52 +05:30
coletdjnz 99e9e001de
[youtube] Cleanup authentication code (#786)
Authored by: coletdjnz
2021-09-24 06:22:17 +05:30
pukkandan 5e3f2f8fc4
[youtube] Return full URL instead of just ID 2021-09-22 05:37:41 +05:30
pukkandan 3cd786dbd7
[youtube] Warn when trying to download clips 2021-09-19 19:41:10 +05:30
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
2021-09-06 12:56:41 +05:30
pukkandan 526d74ec5a
[cleanup] Misc 2021-09-05 11:16:23 +05:30
coletdjnz c0ac49bcca
[youtube] Retry on 'Unknown Error' (#854)
and do not repeat unimportant alerts

Closes #839
Authored by: coletdjnz
2021-09-04 08:03:42 +05:30
pukkandan a7429aa9fa
[youtube] Fix subtitle names 2021-09-02 02:26:27 +05:30
pukkandan c311988d19
[youtube] Improve 26e8e04454
The streams of the same itag may have slightly different size/bitrate
2021-08-26 08:27:29 +05:30
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
2021-08-26 08:08:34 +05:30
coletdjnz 0bb1bc1b10
[youtube] Remove annotations and deprecate `--write-annotations` (#765)
Closes #692 
Authored by: coletdjnz
2021-08-24 09:22:40 +05:30
pukkandan 88acdbc269
[extractor] Better error message for DRM (#729)
Closes #636
2021-08-23 01:38:38 +05:30
Tom-Oliver Heidel 9b5fa9ee7c
[youtube] Add av01 itags to known formats list (#747)
Authored by: blackjack4494
2021-08-23 01:29:43 +05:30
pukkandan 3fb4e21b38
[lazy_extractors] Fix `suitable` and add flake8 test 2021-08-23 01:04:29 +05:30
pukkandan 4dfbf8696b
[utils] Add `parse_qs` 2021-08-23 00:50:43 +05:30
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
2021-08-23 00:50:42 +05:30
pukkandan 5ad28e7ffd
[extractor] Common function `_match_valid_url` 2021-08-23 00:50:40 +05:30
coletdjnz 641ad5d813
[youtube] Extract error messages from HTTPError response (#644)
Authored by: coletdjnz
2021-08-13 11:48:26 +05:30
PSlava 858a65ecc1
[youtube] Improve signature function detection (#641)
Authored by: PSlava (Slava <slash@i-slash.com>)
2021-08-08 09:24:37 +05:30
pukkandan 379e44ed3c [youtube] Raise appropriate error when API pages can't be downloaded 2021-08-07 21:17:06 +05:30