Video players in VRChat are failing to play YouTube
web,web_safari
1080p formats and are falling back to
android_vr
extractor for a premuxed 360p format (
-f 18
). This is because yt-dlp 2026.03.03 has a broken
web,web_safari
extractor which returns
The page needs to be reloaded.
errors. As a result, the video quality of YouTube videos in VRChat is worse than usual (360p).
Expected behavior: 1080p
web_safari
formats (M3U8), 1080p YouTube video playback in VRChat video players. (IIRC, a M3U8 playlist format is playable in VRChat.) Fallback to 360p
android_vr
formats in VRChat for YouTube playback in case
web_safari
breaks in the future.
Actual behavior: 1080p
web,web_safari
unavailable, fallback to 360p
android_vr
formats in VRChat for YouTube playback.
Test URL: https://www.youtube.com/watch?v=kEAC8eeQWcg (A soothing AI reads stories to you in Thad Tiny Library by Thad Gyther)
Bug resolution: Update VRChat's yt-dlp fork to the latest stable yt-dlp release, in this scenario 2026.03.17 (yt-dlp-ejs 0.8.0). 1080p
web_safari
M3U8 formats are available there.
Steps to reproduce:
PS C:\Users\linda.LINDALAP\AppData\LocalLow\VRChat\VRChat\Tools> .\yt-dlp.exe --version
2026.03.03
PS C:\Users\linda.LINDALAP\AppData\Local\Temp\yt-dlp_upstream_2026.03.03> .\yt-dlp.exe --extractor-args "youtube:player_client=web_safari" -F https://www.youtube.com/watch?v=kEAC8eeQWcg
[youtube] Extracting URL: https://www.youtube.com/watch?v=kEAC8eeQWcg
[youtube] kEAC8eeQWcg: Downloading webpage
[youtube] kEAC8eeQWcg: Downloading web safari player API JSON
ERROR: [youtube] kEAC8eeQWcg: The page needs to be reloaded.. The page needs to be reloaded.
Deno version 2.7.13 is installed for JS player formats with
winget install DenoLand.Deno
for testing. Upstream yt-dlp 2026.03.17 used for testing from: https://github.com/yt-dlp/yt-dlp/releases/tag/2026.03.17
PS C:\Users\linda.LINDALAP\AppData\Local\Temp\yt-dlp_upstream_2026.03.17> .\yt-dlp.exe --version
2026.03.17
PS C:\Users\linda.LINDALAP\AppData\Local\Temp\yt-dlp_upstream_2026.03.17> .\yt-dlp.exe --extractor-args "youtube:player_client=web_safari" -F https://www.youtube.com/watch?v=kEAC8eeQWcg
[youtube] Extracting URL: https://www.youtube.com/watch?v=kEAC8eeQWcg
[youtube] kEAC8eeQWcg: Downloading webpage
[youtube] kEAC8eeQWcg: Downloading player 8456c9de-main
[youtube] [jsc:deno] Solving JS challenges using deno
[youtube] kEAC8eeQWcg: Downloading m3u8 information
[info] Available formats for kEAC8eeQWcg:
ID EXT RESOLUTION FPS CH │ FILESIZE TBR PROTO │ VCODEC ACODEC ASR MORE INFO
──────────────────────────────────────────────────────────────────────────────────────────
sb3 mhtml 48x27 2 │ mhtml │ images storyboard
sb2 mhtml 80x45 1 │ mhtml │ images storyboard
sb1 mhtml 160x90 1 │ mhtml │ images storyboard
sb0 mhtml 320x180 1 │ mhtml │ images storyboard
91 mp4 256x144 30 │ ~ 1.21MiB 170k m3u8 │ avc1.4D400C mp4a.40.5
93 mp4 640x360 30 │ ~ 4.98MiB 696k m3u8 │ avc1.4D401E mp4a.40.2
18 mp4 640x360 30 2 │ ≈ 3.64MiB 510k https │ avc1.42001E mp4a.40.2 44k 360p
300 mp4 1280x720 60 │ ~25.50MiB 3566k m3u8 │ avc1.640020 mp4a.40.2
301 mp4 1920x1080 60 │ ~39.47MiB 5518k m3u8 │ avc1.64002A mp4a.40.2
Screenshots: 360p in VRChat (world: Coze Isle by Shinyflvres), 1080p in YouTube web browser.

Photo Viewer

View photos in a modal