From dae52d8386557f4c19ab58a9ae56062b8d52b3af Mon Sep 17 00:00:00 2001 From: bashonly <88596187+bashonly@users.noreply.github.com> Date: Tue, 18 Aug 2026 06:38:11 -0500 Subject: [PATCH] [ie/youtube] Remove `android_vr` from default clients (#17461) Closes #17456 Authored by: bashonly --- yt_dlp/extractor/youtube/_base.py | 1 + yt_dlp/extractor/youtube/_video.py | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/yt_dlp/extractor/youtube/_base.py b/yt_dlp/extractor/youtube/_base.py index fbf6f6d09a..c68996eeca 100644 --- a/yt_dlp/extractor/youtube/_base.py +++ b/yt_dlp/extractor/youtube/_base.py @@ -225,6 +225,7 @@ INNERTUBE_CLIENTS = { # "Made for kids" videos aren't available with this client # Using a clientVersion>1.65 may return SABR streams only # Since 2026.07, intermittent/selective POT enforcement has been observed for non-HLS formats + # Since 2026.08.17, ALL formats (including live HLS and itag 18) are 403'd with version 1.65.10 'android_vr': { 'INNERTUBE_CONTEXT': { 'client': { diff --git a/yt_dlp/extractor/youtube/_video.py b/yt_dlp/extractor/youtube/_video.py index dc3da4eeaf..b6db2e99b8 100644 --- a/yt_dlp/extractor/youtube/_video.py +++ b/yt_dlp/extractor/youtube/_video.py @@ -140,8 +140,8 @@ class YoutubeIE(YoutubeBaseInfoExtractor): _RETURN_TYPE = 'video' # XXX: How to handle multifeed? _SUBTITLE_FORMATS = ('json3', 'srv1', 'srv2', 'srv3', 'ttml', 'srt', 'vtt') - _DEFAULT_CLIENTS = ('visionos', 'android_vr', 'web') - _DEFAULT_JSLESS_CLIENTS = ('visionos', 'android_vr') + _DEFAULT_CLIENTS = ('visionos', 'web') + _DEFAULT_JSLESS_CLIENTS = ('visionos',) _DEFAULT_AUTHED_CLIENTS = ('tv_downgraded', 'web') # Premium does not require POT (except for subtitles) _DEFAULT_PREMIUM_CLIENTS = ('tv_downgraded', 'web_creator', 'web')