Video players: Difference between revisions
m moving android note, adding note group under table |
→Video codecs and containers: I tested compatibility with iPhone 17 |
||
| Line 42: | Line 42: | ||
| align="center" |✔️/✔️ | | align="center" |✔️/✔️ | ||
| align="center" |✔️/✔️ | | align="center" |✔️/✔️ | ||
| align="center" | | | align="center" |✔️/✔️ | ||
|- | |- | ||
!H.265 | !H.265 | ||
| Line 52: | Line 52: | ||
| align="center" |✔️/✔️ | | align="center" |✔️/✔️ | ||
| align="center" |✔️/✔️ | | align="center" |✔️/✔️ | ||
| align="center" |? | | align="center" |? <ref group="note">sound was played, but screen was staying dark</ref>/? <ref group="note">video loading was succeed, but there was no sound nor screen content</ref> | ||
|- | |- | ||
!VP8 | !VP8 | ||
| Line 62: | Line 62: | ||
| align="center" |✔️/✔️ | | align="center" |✔️/✔️ | ||
| align="center" |✔️/✔️ | | align="center" |✔️/✔️ | ||
| align="center" | | | align="center" |❌/✔️ | ||
|- | |- | ||
!VP9 | !VP9 | ||
| Line 72: | Line 72: | ||
| align="center" |✔️/✔️ | | align="center" |✔️/✔️ | ||
| align="center" |✔️/✔️ | | align="center" |✔️/✔️ | ||
| align="center" | | | align="center" |❌/❌ | ||
|- | |- | ||
!VP9 | !VP9 | ||
| Line 82: | Line 82: | ||
| align="center" |✔️/✔️ | | align="center" |✔️/✔️ | ||
| align="center" |✔️/✔️ | | align="center" |✔️/✔️ | ||
| align="center" | | | align="center" |❌/❌ | ||
|- | |- | ||
!AV1 | !AV1 | ||
| Line 92: | Line 92: | ||
| align="center" |✔️/✔️ | | align="center" |✔️/✔️ | ||
| align="center" |✔️/✔️ | | align="center" |✔️/✔️ | ||
| align="center" | | | align="center" |✔️/✔️ | ||
|- | |- | ||
!AV1 | !AV1 | ||
| Line 102: | Line 102: | ||
| align="center" |✔️/✔️ | | align="center" |✔️/✔️ | ||
| align="center" |✔️/✔️ | | align="center" |✔️/✔️ | ||
| align="center" | | | align="center" |❌/❌ | ||
|- | |- | ||
!AV1 | !AV1 | ||
| Line 112: | Line 112: | ||
| align="center" |✔️/✔️ | | align="center" |✔️/✔️ | ||
| align="center" |✔️/✔️ | | align="center" |✔️/✔️ | ||
| align="center" | | | align="center" |❌/❌ | ||
|- | |- | ||
|colspan=2|Audio Only: | |colspan=2|Audio Only: | ||
| Line 131: | Line 131: | ||
| align="center" |✔️/❌ | | align="center" |✔️/❌ | ||
| align="center" |✔️/❌ | | align="center" |✔️/❌ | ||
| align="center" | | | align="center" |✔️/❌ | ||
|- | |- | ||
!AAC | !AAC | ||
| Line 141: | Line 141: | ||
| align="center" |✔️/❌ | | align="center" |✔️/❌ | ||
| align="center" |✔️/❌ | | align="center" |✔️/❌ | ||
| align="center" | | | align="center" |✔️/❌ | ||
|- | |- | ||
!FLAC | !FLAC | ||
| Line 151: | Line 151: | ||
| align="center" |✔️/❌ | | align="center" |✔️/❌ | ||
| align="center" |✔️/❌ | | align="center" |✔️/❌ | ||
| align="center" | | | align="center" |✔️/❌ | ||
|- | |- | ||
!FLAC | !FLAC | ||
| Line 161: | Line 161: | ||
| align="center" |✔️/❌ | | align="center" |✔️/❌ | ||
| align="center" |✔️/❌ | | align="center" |✔️/❌ | ||
| align="center" | | | align="center" |✔️/❌ | ||
|- | |- | ||
!MP3 | !MP3 | ||
| Line 171: | Line 171: | ||
| align="center" |✔️/❌ | | align="center" |✔️/❌ | ||
| align="center" |✔️/❌ | | align="center" |✔️/❌ | ||
| align="center" | | | align="center" |✔️/❌ | ||
|- | |- | ||
!MP3 | !MP3 | ||
| Line 181: | Line 181: | ||
| align="center" |✔️/❌ | | align="center" |✔️/❌ | ||
| align="center" |✔️/❌ | | align="center" |✔️/❌ | ||
| align="center" |? | | align="center" |? <ref group="note">loading was not finished in a brief time</ref>/❌ | ||
|- | |- | ||
!OGG | !OGG | ||
| Line 191: | Line 191: | ||
| align="center" |✔️/❌ | | align="center" |✔️/❌ | ||
| align="center" |✔️/❌ | | align="center" |✔️/❌ | ||
| align="center" |? | | align="center" |? <ref group="note">the resource was loaded but played no sound</ref>/❌ | ||
|- | |- | ||
!OGG | !OGG | ||
| Line 201: | Line 201: | ||
| align="center" |✔️/❌ | | align="center" |✔️/❌ | ||
| align="center" |✔️/❌ | | align="center" |✔️/❌ | ||
| align="center" | | | align="center" |❌/❌ | ||
|} | |} | ||
<references group="note" /> | <references group="note" /> | ||
Revision as of 07:10, 7 February 2026
[Reason: This page is not yet complete! You can contribute, by expanding and proofreading, in accordance with the Manual of Style.]
Video players are prefabs in VRChat worlds, using Udon, that allow users to share, or stream video content simultaneously. VRChat officially uses two types of video players in their SDK, VRCAVProVideoPlayer, and VRCUnityVideoPlayer[1]. However, there are different community-created video player prefabs, with different user interfaces, and preferences. All video players utilize world audio, and most video players have a volume slider on the user interface.
Video compatibility
Using VRChat's default settings, video players can play videos from their list of trusted sources, such as YouTube and Twitch. However, by toggling "Allow Untrusted URLs" in your settings, videos from most sources should be able to play and be watched, and as long as it's a supported video format, or stream codec, by the player.
Playing videos not from the video player allowlist[2] in Public instances may be limited, unless the world creator has that domain or host whitelisted.
Video codecs and containers
If hosting video yourself, VRChat may or may not be able to play various filetypes, depending on the user's platform. This also varies depending on whether the player is using AVPro or Unity video player.
(This table is a work in progress, please fill in other platforms as you're able. Platform compatibility can be tested within this community world.)
| Win 10 | Win 11 | Steam Deck | Quest 2 | Quest 3 | Android[note 1] | iOS | ||
|---|---|---|---|---|---|---|---|---|
| Codec | Container | AVPro / Unity | AVPro / Unity | AVPro / Unity | AVPro / Unity | AVPro / Unity | AVPro / Unity | AVPro / Unity |
| H.264 | MP4 | ? | ✔️/✔️ | ✔️/✔️ | ? | ✔️/✔️ | ✔️/✔️ | ✔️/✔️ |
| H.265 | MP4 | ? [note 2] | ✔️/✔️ | ✔️/✔️ | ? | ✔️/✔️ | ✔️/✔️ | ? [note 3]/? [note 4] |
| VP8 | WebM | ? | ✔️/✔️ | ✔️/✔️ | ? | ✔️/✔️ | ✔️/✔️ | ❌/✔️ |
| VP9 | WebM | ? | ✔️/❌ | ✔️/❌ | ? | ✔️/✔️ | ✔️/✔️ | ❌/❌ |
| VP9 | MKV | ? | ✔️/✔️ | ✔️/✔️ | ? | ✔️/✔️ | ✔️/✔️ | ❌/❌ |
| AV1 | MP4 | ? | ✔️/✔️ | ✔️/✔️ | ? | ✔️/✔️ | ✔️/✔️ | ✔️/✔️ |
| AV1 | WebM | ? | ✔️/❌ | ✔️/❌ | ? | ✔️/✔️ | ✔️/✔️ | ❌/❌ |
| AV1 | MKV | ? | ✔️/✔️ | ✔️/✔️ | ? | ✔️/✔️ | ✔️/✔️ | ❌/❌ |
| Audio Only: | AVPro / Unity | AVPro / Unity | AVPro / Unity | AVPro / Unity | AVPro / Unity | AVPro / Unity | AVPro / Unity | |
| AAC | M4A | ? | ✔️/❌ | ✔️/❌ | ? | ✔️/❌ | ✔️/❌ | ✔️/❌ |
| AAC | MP4 | ? | ✔️/❌ | ✔️/❌ | ? | ✔️/❌ | ✔️/❌ | ✔️/❌ |
| FLAC | FLAC | ? | ✔️/❌ | ✔️/❌ | ? | ✔️/❌ | ✔️/❌ | ✔️/❌ |
| FLAC | MP4 | ? | ✔️/❌ | ✔️/❌ | ? | ✔️/❌ | ✔️/❌ | ✔️/❌ |
| MP3 | MP3 | ? | ✔️/❌ | ✔️/❌ | ? | ✔️/❌ | ✔️/❌ | ✔️/❌ |
| MP3 | MP4 | ? | ✔️/❌ | ✔️/❌ | ? | ✔️/❌ | ✔️/❌ | ? [note 5]/❌ |
| OGG | OGG | ? | ✔️/❌ | ✔️/❌ | ? | ✔️/❌ | ✔️/❌ | ? [note 6]/❌ |
| OGG | MKV | ? | ✔️/❌ | ✔️/❌ | ? | ✔️/❌ | ✔️/❌ | ❌/❌ |
In the SDK
You can add video players to your VRChat world with the SDK's VRCAVProVideoPlayer or VRCUnityVideoPlayer. The easiest way to put a Video Player in your Udon world is by using one of the Prefabs, which you can find in: Packages/VRChat SDK - Worlds/Samples/UdonExampleScene/Prefabs/VideoPlayers.
Official resources
- Video Players on creators.vrchat.com
- Video Player Allowlist on creators.vrchat.com
- Udon Video Sync Player on creators.vrchat.com
See also
References
- ↑ Video Players | VRChat Creation on creators.vrchat.com; retrieved December 7, 2024
- ↑ Video Player Allowlist on creators.vrchat.com; retrieved December 7, 2024.