Skip to content

StreamToVR · Support

Going live, step by step.

Setting up YouTube, your own server or a headset, and what to do when something goes wrong. If you need a hand, write to [email protected] — attach the session log if you can (Settings → Session log → Share).

Before you start

  • StreamToVR needs an iPhone that can run its ultra-wide and wide back cameras at the same time, with iOS 26 or later. Otherwise the app shows “iPhone Not Supported”.
  • Allow the camera and the microphone when asked. If you declined, the app shows a button that opens iOS Settings.
  • Hold iPhone sideways with the Dynamic Island on the left: the ultra-wide camera is then the left eye. Held the other way round, the eyes would swap, so the app asks you to rotate iPhone.
  • The eye button in the toolbar switches the preview between one eye at full height and both eyes side by side. Tap the preview for statistics, double-tap for alignment guides.

Go live on YouTube

  1. In YouTube Studio choose Go live → Stream and copy the stream key.
  2. In StreamToVR tap Destinations → + → YouTube and paste the key. Spaces and line breaks around it are removed for you; the key is stored in the iPhone Keychain.
  3. In Picture choose the codec — Apple spatial video is the default for YouTube, or HEVC or H.264 — the format (VR180, 360 stereo or flat 3D) and the resolution up to 2160p. YouTube always receives standard 16:9 frames.
  4. Select the destination next to the red button and tap it to go live. The status shows Connecting… and then LIVE with a timer.

YouTube needs a little while after the start before the stream appears in the Studio preview. For live captions, turn on closed captions sent by URL (POST) in the stream settings in YouTube Studio and paste that captions URL into the destination.

Your own RTMP or SRT server

  • RTMP / RTMPS: server address rtmp://host[:port]/app or rtmps://… plus the stream key. Without a port, 1935 is used for RTMP and 443 for RTMPS.
  • SRT: srt://host:port (IPv4, the port is required), with an optional stream ID, a passphrase of 10–79 characters and the latency (120 ms by default).
  • HEVC and Apple spatial video go over Enhanced RTMP; check that your server accepts HEVC, or choose H.264.

Watch in a VR headset over Wi-Fi

The local VR server is a one-time in-app purchase. The iPhone serves a WebXR player itself; the headset and the iPhone must be on the same Wi-Fi network, or the headset joins the iPhone's Personal Hotspot. No internet is needed.

  1. Destinations → + → Local VR server, buy or restore the purchase.
  2. Select it and go live. The address (for example http://172.20.10.1:8080) and a QR code appear on the destination's page.
  3. The page is served over plain http on your local network, while WebXR needs a secure context. In the headset browser (or in Chrome on a computer) open chrome://flags/#unsafely-treat-insecure-origin-as-secure, add the address, set it to Enabled and relaunch the browser.
  4. Open the address: the stereo picture plays in 2D, and Enter VR shows it in the headset. The player explains these steps itself.

An optional two-way voice link connects the iPhone and the headset; live captions can be shown in the headset too.

Live captions

Open Captions in the toolbar, choose the language — a missing speech model downloads once — and turn captions on. Speech is recognized on the iPhone. Captions go to YouTube (with a captions URL), to the headset, or are burned into the picture with your size and position. Burn-in is not available with Apple spatial video.

Purchase and restore

YouTube, RTMP and SRT streaming are included. The local VR server is a single non-consumable purchase, with no subscription. On a new iPhone, or after reinstalling, tap Settings → Restore purchases while signed in with the same Apple Account. Refunds are handled by Apple at reportaproblem.apple.com.

When something goes wrong

  • Reconnecting (n/5)… — the connection dropped. StreamToVR retries after 1, 2, 4, 8 and 15 seconds, then stops with an explanation. Stop cancels the retries.
  • Video pauses, sound continues — the network fell more than 2 seconds behind. Video resumes at the next key frame; lower the bitrate or the resolution in the destination.
  • A yellow warning about heat — iPhone is getting warm. Keep it out of direct sun, remove the case, or choose a lower resolution or frame rate.
  • The stream stopped after a settings change — changing the camera format priority restarts the cameras, which ends the stream. Change it before you go live.
  • Cameras Paused — another app or the system took the cameras; the picture comes back by itself.
  • The picture looks soft — try the Autofocus button in the toolbar: on keeps refocusing, off focuses once on the centre and holds.