Develop

Media requirements and guidelines for streaming apps

Updated: Apr 29, 2026
Most Quest viewers will be viewing content on theater-sized screens and so the image quality on Quest needs to meet certain thresholds in order to deliver a suitable user experience. At a high level, Adaptive Bitrate streaming profiles should be configured on Quest in a way similar to how they are for delivering video content on SmartTVs.
Note: These specifications are subject to change based on the features and capabilities of the app and device.

Rectilinear 2D content

CategoryDetailsGuidance level
General Per Device Capabilities
Different devices have different capabilities. Use MediaCodecInfo.CodecCapabilities to determine the best possible configuration.

The guidelines aim towards the latest device.
Should / Recommended
Video playback configuration & resolution
Bitrate/ABR settings should align with Smart TV streaming, with a minimum threshold of 4 mbps.
Max available quality should match that of TV platforms up to 4K.
Should / Recommended
Video Resolution
Time to 1080p is <= 5 seconds
Should / Recommended
Video encoding / codecs
For 2D streaming use one of the supported codecs:

* AV1 (will work on Quest 3 and above only)
* HEVC (H.265)
* VP9
* AVC (H.264)

Note: Certain codecs may be restricted in certain geo-locations based on licensing restrictions. MediaCodecInfo.CodecCapabilities would correctly reflect the available codecs in that case.
Should / Recommended
Orientation of app panel
Landscape panel
Should / Recommended
DRM options
If required, the following DRM implementation options are available: L1 and L3 Widevine DRM.
Requirement (if streaming service has DRM obligations to third-parties)
Parity Network Speeds
CDN and network infrastructure serving streaming and downloads to Meta devices should deliver speed and throughput consistent with the top tier throughput offered on other platforms (e.g., mobile, SmartTV, web).
Should / Recommended
Audio
Formats: Dolby Digital or Dolby Atmos (to the extent available on other third-party platforms). Minimum: 2 channel stereo.

App-Level Audio Controls: Use player-level volume APIs. App must include a mute/unmute button that adjusts audio for the app only. Using system-wide volume and system-wide mute is prohibited.
Should / Recommended
Audio
Volume Controls: App should include a volume slider (0-100%) for granular control. Implement support for audio focus handling to properly adjust volume when multiple apps are playing audio. Expose media controls when the panel is minimized/closed.
May / Optional
Login experience (device code login)
Prioritize a device code login flow (a user-friendly authentication flow where a device displays a code in VR/MR/AR, which the user enters on another authorized device (mobile app/browser) to grant access).

Recommended in preferred order:

Passkey login flow: Add support for passkey based login. This will enable users to use passkeys cross-device for 1st time login and create local passkeys on device for repeat time login.
Cross-device URL Login Flow: Implement a URL that users can access on a secondary device for login. This URL will contain a nonce (e.g. device code) which is opened on a secondary device in order to log in the user on the headset. To reduce friction, use the Meta Horizon OS Login API libraries to forward the URL from the headset to the secondary device via the Meta Horizon App.
Should / Recommended
Offline downloads
Enable offline downloads at multiple quality brackets, including 1080p, 2K and 4K (if offered on other third-party platforms).
Should / Recommended
Input support
Support controllerless input methods, including hand tracking (gesture-based) input.
Should / Recommended
In app purchase
If the app offers any in-app purchase, either: (i) use Meta Pay; or (ii) remove in-app purchasing from the app; or (iii) redirect the user to the Quest Browser to complete the transaction.
Should / Recommended
AI Voice Assistant
Partner will allow Meta to use the same metadata that powers search and discovery to power its AI voice assistant.
Should / Recommended
Closed captions
Support for closed captions.
Should / Recommended
Video resolution
Use DisplayMetrics rounded up to the next higher resolution. Typically 1440p (minimum 1080p or source) for a large Panel, up to 4K+.
May / Optional
Video quality
Video Multimethod Assessment Fusion (VMAF) score at 1080p source resolution should target minimum quality of 60 and high end quality of 85 when streaming over mobile networks, and 95 when streaming over WiFi.

SSIM at 1080p source resolution should target minimum quality of 0.92 and high end quality of 0.96 when streaming over mobile networks, and 0.98-1 when streaming over WiFi.
Should / Recommended
Size of app panel
1280px or larger width (see here for further detail).
May / Optional
HDR Video Format
HDR10, HDR10+ or Dolby Vision Profile 5, 8 (to the extent available on other third-party platforms).
May / Optional
Errors, Failures and Debugging
Service to share common points of failure for Platform debugging purposes.
May / Optional

Rectilinear 3D content (only applicable if the service hosts 3D content)

CategoryDetailsGuidance level
Video Resolution
In case of side by side format, the horizontal resolution should be doubled.
Should / Recommended
Bitrate
When using MV-HEVC format, the bitrate should be roughly 40% higher than corresponding 2D quality.
When using side by side format, the bitrate should be doubled.
Should / Recommended
Spatial Subtitles
Support for depth-based subtitle parsing and rendering. Plugin and sample code provided by Meta.
Should / Recommended
3D layout
Preferred: MV-HEVC with AV1 SBS fallback.

Alternative:
* Side by side (Left / Right): Use square aspect ratio i.e. a 16:9 media becomes 32:9 in 3D.
* Top / Bottom
Should / Recommended
Codec
MV-HEVC with AV1 SBS fallback stream.
Should / Recommended
HDR Video Format
If using MV-HEVC: HDR10+ or Dolby Vision Profile 20.
Should / Recommended

180 2D content (only applicable if the service hosts 180 content)

CategoryDetailsGuidance level
Video Resolution
Aim for 30 to 60 pixels per degree (PPD), capped by the max decode resolution of the device and camera hardware.

For cropped equirectangular projection at 30 PPD, this computes to 5400x5400 (1:1 aspect ratio). Note that future Meta headset displays may exceed 40 PPD, in which case that would be the desired angular resolution.

Realistically, most services may only be able to achieve: 4320x4320 / 60fps. Max 5760x5760 / 60fps (hardware decode limit).
May / Optional
Video Frame Rate
48-60fps. High frame rates are required for 180 content to mitigate stutter and judder.
Should / Recommended
Video encoding
h.265 or AV1 (AV1 will work on Quest 3 and above only)
May / Optional
Bitrate
Refer to our VMAF and SSIM guidelines to determine the bitrate that achieves the recommended quality bar.
Typically we would expect a commensurate bitrate higher than 35 mbps.
May / Optional
Audio
Dolby Digital or Dolby Atmos (to the extent available on other third-party platforms).
May / Optional

180 3D content (only applicable if the service hosts 180 3D content)

CategoryDetailsGuidance level
Video Resolution
Same guidelines as 180 2D category above, but with a 2x multiplier dependent 3D layout.
e.g. Left-Right layout content should use 2x the horizontal resolution. Similarly Top-bottom layout content should use 2x the vertical resolution.

Realistically, most services may only be able to achieve: Side-by-side: 7680x3840 / 60fps. Max 8192x4096 / 60fps (hardware decode limit).
May / Optional
Video Frame Rate
48-60fps. High frame rates are required for 180 content to mitigate stutter and judder.
Should / Recommended
Video encoding
h.265 or AV1 (AV1 will work on Quest 3 and above only)
May / Optional
Bitrate
Refer to our VMAF and SSIM guidelines to determine the bitrate that achieves the recommended quality bar.
Typically we would expect a commensurate bitrate higher than 35 Mbps for the highest quality
May / Optional
Audio
Dolby Digital or Dolby Atmos (to the extent available on other third-party platforms).
May / Optional

360 2D content (only applicable if the service hosts 360 content)

CategoryDetailsGuidance level
Video Resolution
Aim for 30 to 60 pixels per degree (PPD), capped by the max decode resolution of the device.
For equirectangular projection at 30 PPD, this computes to 10800x5400 (2:1 aspect ratio). This should be clamped to the max decode resolution of the codec, typically 8k for clear and 4k for DRM content.

Realistically, most services may only be able to achieve: 7680x3840 / 60fps. Max 8192x4096 / 60fps (hardware decode limit).
May / Optional
Video Frame Rate
48-60fps. High frame rates are required for 180 content to mitigate stutter and judder.
Should / Recommended
Video encoding
h.265 or AV1 (AV1 will work on Quest 3 and above only)
May / Optional
Bitrate
Refer to our VMAF and SSIM guidelines to determine the bitrate that achieves the recommended quality bar.
Typically we would expect a commensurate bitrate higher than 50 mbps.
May / Optional
Audio
Dolby Digital or Dolby Atmos (to the extent available on other third-party platforms).
May / Optional

360 3D content (only applicable if the service hosts 360 content)

CategoryDetailsGuidance level
Video Resolution
Aim for 30 to 60 pixels per degree (PPD), capped by the max decode resolution of the device.
For equirectangular projection at 30 PPD, this computes to 10800x10800 (top-bottom layout). This should be clamped to the max decode resolution of the codec, typically 8k for clear and 4k for DRM content.

Realistically, most services may only be able to achieve: 5760x5760 / 60fps.
May / Optional
Video Frame Rate
48-60fps. High frame rates are required for 180 content to mitigate stutter and judder.
Should / Recommended
Video encoding
h.265 or AV1 (AV1 will work on Quest 3 and above only)
May / Optional
Bitrate
Refer to our VMAF and SSIM guidelines to determine the bitrate that achieves the recommended quality bar.
Typically we would expect a commensurate bitrate higher than 50 mbps.
May / Optional
Audio
Dolby Digital or Dolby Atmos (to the extent available on other third-party platforms).
May / Optional