Update to yt-dlp 2026.08.19
WubTheCaptain
Let's "
fix video players in VRChat
" 🤞 (you know what I mean).yt-dlp 2026.08.19, released on Aug 19, 2026, 23:48 UTC.
Fixes YouTube
403 Forbidden
errors from yt-dlp android_vr
client by adding web_embedded
as a client fallback (#17462) for format 18 (360p video with audio) when android_vr
or visionos
are unable to download the video. android_vr
is broken and was also removed from the default list of clients.The new default
visionos
extractor does not have compatible formats (f=18) with audio+video in the same format for VRChat, thus the download may fail and it should fallback to web_embedded
which will serve format 18 from YouTube.I can also suggest changing the default client preferences to
youtube:player_client=visionos,android
or similar for format 18 for VRChat, in the event web_embedded
breaks there will be another extractor in VRChat for YouTube's format 18.Additional info:
- https://ask.vrchat.com/t/video-players-completely-broken/48829/2
- https://github.com/yt-dlp/yt-dlp/issues/17456
Updating yt-dlp will resolve
many
in-client bug reports at VRChat Feedback bug reports board that are coming in daily about this issue about YouTube/TV/video players in VRChat.See the yt-dlp
2026.08.19
release notes for additional changes.Photo Viewer
View photos in a modal
Log In
WubTheCaptain
Looks like there was a yt-dlp update today, mine's dated 21:43 (UTC):
PS C:\Users\linda.LINDALAP\AppData\LocalLow\VRChat\VRChat\Tools> .\yt-dlp.exe --version
2026.08.19
WubTheCaptain
If yt-dlp
2026.08.19
plays only video [1] and no audio with this new version in VRChat in testing, then the default visionos
client needs to be dropped. youtube:player_client=android,web_embedded,-visionos
.[1]: As reported on X: https://x.com/neruneruhobby/status/2090681556625191254
WubTheCaptain
For VRChat developers: If this change is needed at the source code level as a patch instead of as configuration to support this, in yt-dlp
2026.08.19
you can change the _DEFAULT_CLIENTS
and _DEFAULT_JSLESS_CLIENTS
in yt_dlp/extractor/youtube/_video.py
lines 143-144, optionally updating README.md
's player_client
documentation too.WubTheCaptain
YouTube livestreams will return separate audio+video formats (234+270) in MP4 container with
visionos
, which will not work in VRChat. visionos
will need to be excluded as instructed above for VRChat.android
and web_embedded
return a pre-muxed 1080p format 96 for live YouTube video, which should work.Photo Viewer
View photos in a modal
WubTheCaptain
visionos
may also return a YouTube Premium video format 616 without audio. An example URL: https://www.youtube.com/watch?v=VP9OH0O_V2Q. There's several issues with this:- Format 616 is VP9 in a HLS playlist stream (not legal for the MP4 container, this won't work in VRChat without ffmpeg: Possible MPEG-TS in MP4 container or malformed AAC timestamps. Install ffmpeg to fix this automatically). This is seen as a playback error in AVProVideo players.
- Premium formats without login/PO tokens may also be prone to returning HTTP 403 Forbidden.
- It's a video only format, so even if the format was fixed automatically with ffmpeg, there would be no audio downloaded in VRChat.
Some video players fallback to format 399 with
visionos
after failure, but that's also a video only format and there's no premuxed formats available.Please use
youtube:player_client=android,web_embedded,-visionos
.Photo Viewer
View photos in a modal
WubTheCaptain
The current yt-dlp version in VRChat as of writing this:
PS C:\Users\linda.LINDALAP\AppData\LocalLow\VRChat\VRChat\Tools> .\yt-dlp.exe --version
2026.07.04
2026.07.04
in VRChat uses android_vr
to fetch format 18 from YouTube at the moment, but all android_vr
formats with client version 1.65.10 user-agent are returning 403 Forbidden
when downloaded. Thus no YouTube playback in VRChat with this one.Photo Viewer
View photos in a modal