1. Quick start
Host in either mode
- Connect the Host and all Joiners to the same private Wi-Fi network or personal hotspot.
- Open WiFi Stream, choose Host a screening, then choose Watch together or Share files.
- For Watch together, select one video. For Share files, select one or more videos—up to 25 per session—using Android’s document picker.
- Keep the Host session active. Android shows an ongoing notification with Stop Streaming or Stop Sharing.
- In Watch together, the Host plays and controls the room. In Share files, the Host dashboard stays online without local playback.
Join a video
- Open WiFi Stream and choose Join.
- Select the recognized Host from Nearby Hosts.
- If discovery fails, scroll to Manual connection and enter the Host’s local address.
- In Watch together, wait for Connected/Synchronized and follow the Host’s controls. In Share files, browse the Host’s catalog, choose a video, and use playback controls independently.
2. Nearby Host does not appear
- Confirm both devices are on the same Wi-Fi/hotspot, not one on cellular and one on Wi-Fi.
- Disable VPNs, private DNS filters, or work profiles temporarily if they isolate local traffic.
- Check the router for AP isolation, client isolation, guest-network isolation, or “block LAN access.”
- Keep the Join screen open for several seconds so Android NSD/mDNS can resolve the Host.
- Restart Host mode after switching networks so the service advertises the correct address.
- Try the manual address if multicast discovery is blocked but direct peer traffic is allowed.
WiFi Stream advertises DNS-SD service _vcwstream._tcp.. Managed, school,
hotel, workplace, and guest networks commonly block multicast or device-to-device traffic.
3. Manual connection
Enter the Host’s local IPv4 address, optionally followed by the HTTP port. Typical examples:
192.168.1.42 or 192.168.1.42:8787.
- Default video HTTP port:
8787 - Default synchronization WebSocket port:
8788 - If a custom HTTP port is entered, the app currently tries the next port for WebSocket.
- Do not add
/video, a session token, or a public website URL.
4. Video buffers, stutters, or does not play
Check the media
- Try a common MP4 file encoded with a codec supported by every device.
- Confirm the file remains available from the Host’s document provider. In Share files the Host does not play locally, so also verify the Joiner supports the file’s container, video codec, and audio codec.
- Large bitrate, 4K, HDR, unusual audio, variable frame rate, or damaged indexes can exceed a device/network’s capacity.
Check the network
- Move devices closer to the router/hotspot and prefer an uncongested 5 GHz/6 GHz band where supported.
- Pause heavy downloads and reduce the number of Joiners.
- Keep the Host plugged in if battery or thermal throttling begins.
- Do not switch the Host between Wi-Fi and hotspot during a session.
Understand control
Watch together: Joiners follow the Host, and Joiner seek/play controls do not alter the global timeline. Share files: each Joiner selects, plays, pauses, skips, and seeks independently; one Joiner does not control the Host or another Joiner. Temporary reconnecting or syncing indicators are expected after brief network loss.
5. What happens when the Host exits?
The Host sends a Host-left message and closes the HTTP/WebSocket servers. Joiners are told that the Host exited and may choose to continue with media currently available on their phone. Continued playback can work only while required bytes remain buffered or otherwise available; the full video is not downloaded to Joiner storage, so completion is not guaranteed.
This limitation applies to both modes. Share files is streaming access, not a download or offline library. For reliable completion, the Host must remain connected and hosting until every Joiner finishes.
6. Fullscreen, Back, rotation, and device lock
- The first Back press in fullscreen exits fullscreen; a later Back press follows normal leave/end behavior.
- Entering fullscreen may rotate to sensor landscape and hide system bars. Exiting restores the normal orientation/system UI.
- Locking a Joiner stops local audio/video. In Watch together, unlock requests the Host’s current state and resynchronizes; in Share files, the Joiner remains independent and may resume locally.
- Locking a Watch together Host pauses the authoritative session for everyone. Unlocking does not automatically resume; the Host presses Play.
- Share files has no Host playback timeline to pause; the connected-device foreground service keeps the user-started library transfer visible while the session remains active.
If system bars or orientation remain wrong, exit fullscreen, return Home, and reopen the session before force-stopping the app.
7. Ads and privacy choices
- Banner ads can appear on Home and Join discovery, not over active playback.
- App-open ads are limited to eligible Home foreground returns and are suppressed during Host/Join sessions, file selection, reconnecting, and lock recovery.
- In debug builds, Google’s test units are used; production release uses the configured live IDs.
- When required by Google UMP, a Privacy choices button appears beneath the Home ad area.
See Advertising and consent for data details.
8. Send a useful—and safe—issue report
Include:
- WiFi Stream version and whether the build is debug or release;
- Android version and device models for Host and Joiner;
- network type (home router or hotspot) and whether automatic or manual connection was used;
- whether you used Watch together or Share files, plus video container/codec, approximate duration/file size, and whether it plays on the affected device;
- exact steps, visible status/error text, and the expected versus actual result; and
- whether the issue survives ending the session and restarting both devices.
For content or safety concerns, follow the safe reporting procedure.
9. Contact support
Publisher: the WiFi Stream publisher
Support email: support email pending
Website: public website pending
Suggested subject: “WiFi Stream support · [Host/Join] · [short problem]”. No support response time or 24/7 availability is promised. For emergencies, contact local emergency services.