Skip to content

About

MediaSFU SpacesTek Final App

Resources

Contributing

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

SpacesTek Final

SpacesTek Final is a complete, multi-framework reference for building social audio rooms, video spaces, and WebRTC communities with MediaSFU. It pairs an application-owned interface with MediaSFU room orchestration, media production, remote playback, screen sharing, participant controls, and a secure backend boundary.

Quick start · Backend proxy · MediaSFU documentation · API Sandbox

What you can learn here

  • Create and join MediaSFU rooms without exposing privileged API credentials.
  • Produce microphone, camera, and screen-share media.
  • Consume remote video and mount every remote audio renderer.
  • Build a custom room surface while the SDK manages the real-time lifecycle.
  • Resolve the main media surface as screen share, remote camera, then local camera.
  • Connect profiles, spaces, host controls, and participant state to one shared Node.js service.
  • Compare the same product flow across five SDKs.

Choose a client

Framework App Notes
React mediasfu_reactjs Browser MediaStream rendering and a custom headless room
Angular mediasfu_angular Angular service-based headless state and audio/video surfaces
React Native mediasfu_react_native Bare native mobile application
Expo mediasfu_react_native_expo Expo development build; WebRTC does not run in Expo Go
Flutter mediasfu_flutter Flutter room lifecycle and custom media widgets
Backend backend Space data and the secure create/join proxy

Start with QUICKSTART.md, then open the README inside your chosen client.

Architecture

SpacesTek client
  ├─ profiles, spaces, roles, and application UI
  ├─ headless media surface
  │    ├─ selected screen/camera video
  │    └─ every remote audio renderer
  └─ create/join adapter (contains no privileged MediaSFU key)
                  │
                  ▼
SpacesTek backend
  ├─ authenticates and authorizes your application user
  ├─ validates and limits the room request
  └─ adds MediaSFU credentials from server-only environment variables
                  │
                  ▼
       MediaSFU Cloud or your MediaSFU Open server

The MediaSFU SDK remains mounted as the room engine. It produces local media, consumes participant media, exposes controls, and publishes current room state; SpacesTek decides what the user sees.

Cloud and self-hosting

MediaSFU Cloud is the managed service. Obtain API access through MediaSFU, explore room request shapes in the API Sandbox, and keep the credentials on your backend.

MediaSFU Open is a media server that you deploy, run, and operate yourself. Installing SpacesTek does not start it. After deploying it, configure the SDK or backend with its reachable address. See MediaSFU Open.

Entering API details directly in an SDK UI can be useful for a private local experiment. A shared or production application should proxy both room creation and joining through its backend. Read the secure backend proxy guide.

Headless media essentials

  1. Mount the SDK room engine without its packaged interface.
  2. Handle every parameter publication and explicit media-change notification.
  3. Re-read the latest parameters with the pure getCurrentParams() where the SDK exposes it. Do not use the republishing getUpdatedAllParams() as a render-time getter.
  4. Render the selected screen share or camera stream in your product UI.
  5. Mount every returned audio component independently of video visibility.
  6. Invoke SDK actions for microphone, camera, screen share, and teardown.

For choosing between the prebuilt room, UI overrides, custom components, and headless mode, see the MediaSFU Build Style Guide.

Product tour

Create a SpacesTek space SpacesTek live space

SpacesTek user profile Browse SpacesTek spaces

Live room example

The React live-room test notes document two independent browser participants connected through the repository's secure backend proxy. It verifies room creation, joining, video production, and remote video consumption with visibly labeled synthetic input. Audible remote audio and screen sharing were not measured in that run.

SpacesTek Final guest rendering the host's remote video

Continue learning

Contributing and license

Read CONTRIBUTING.md. This project is licensed under the MIT License.

About

MediaSFU SpacesTek Final App

Resources

Contributing

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages