---
# System prepended metadata

title: '[Jupyter] MediaMTX WebRTC Streaming Workflow'

---

### 🔄 MediaMTX WebRTC Streaming Workflow

**Goal:**  
Stream live video from the hub's RTSP camera to the mobile app using WebRTC via MediaMTX.

#### 📶 Workflow

```mermaid
sequenceDiagram
    participant App as 📱 Mobile App
    participant FRPS as ☁️ FRPS (EC2)
    participant FRPC as 🏠 FRPC (Hub)
    participant MediaMTX as 🎥 MediaMTX (Hub)
    participant Camera as 📷 RTSP Camera (e.g. Frigate)
    participant STUN_TURN as 🌐 STUN/TURN Server

    App->>FRPS: Access hub via subdomain (e.g. hub123.dev.jupyter.com.au.)
    FRPS->>FRPC: Tunnel request to hub
    FRPC->>MediaMTX: Forward request to /mystream/whep
    App->>MediaMTX: HTTP POST (SDP offer)
    MediaMTX->>App: HTTP 200 (SDP answer)
    App->>STUN_TURN: Exchange ICE candidates
    MediaMTX->>STUN_TURN: Exchange ICE candidates
    MediaMTX->>Camera: Pull RTSP stream
    MediaMTX-->>App: Stream video via WebRTC

