GoPro Live Stream

Ready for private streaming from your GoPro → iPhone app → RTMP ingest.

Offline
Tip: HLS is required (index.m3u8). On iOS Safari the native player is used; on desktop Hls.js is used.

Update this to your own CloudFront or ingest server URL. Value is cached locally.

Player state
Idle
Resolution
-
Bitrate
-
Buffered ahead
-
Dropped / Total frames
-

Stream health log

Auto-updates with manifest loads, errors, and Picture-in-Picture.

Viewer chat (shared)

Connect to a WebSocket relay so every viewer can post with their name. Falls back to local preview if not connected.

Local only

Auto-connects to the stream server chat. Change for custom backend.

Keeps separate chats for multiple events.

Step-by-step

Go live from your GoPro + iPhone

Everything you need to stream into the player at the bottom of the page.

  1. Prep ingest: On your RTMP ingest (Nginx-RTMP), enable HLS at https://YOUR_DOMAIN/hls/<stream_key>.m3u8.
  2. Point the GoPro: In GoPro Quik on iPhone → Live → RTMP → Custom, enter rtmp://<SERVER_IP>/live/<stream_key> (or your path).
  3. Start the feed: Go live from the GoPro and wait a few HLS fragments.
  4. Load the player: Paste the HLS URL above, click Start Stream, and share the page. If the feed stops, hit Stop / Unload then start again.
  5. Add chat: Start the included chat relay (or your own), paste its WebSocket URL, and click Connect so viewers can post with their name.