Stream from an NDI camera

How to stream your NDI camera feed—via OBS or directly with moschee.io.

Use your NDI camera for livestreams. Here are the options.

Streaming options

MethodDescriptionBest for
OBS StudioProfessional streaming softwareMulti-camera, overlays, complex setups
moschee.io DesktopStream directly via browserSimple video streams
moschee.io MobileStream from a smartphoneMobile streaming

Stream with OBS Studio

OBS Studio is the most popular free streaming app and fully supports NDI.

Install OBS and NDI plugin

  1. Download OBS Studio

  2. Install the NDI plugin

Add an NDI source

  1. In OBS: Sources → + → "NDI Source"
  2. Enter a name (e.g., "Camera Minbar")
  3. Source Name: pick your camera
  4. Click OK

Stream settings

Go to Settings → Stream:

For moschee.io:

  • Service: Custom
  • Server: (from moschee.io dashboard)
  • Stream Key: (from moschee.io dashboard)

For YouTube:

  • Service: YouTube - RTMPS
  • Stream Key: (from YouTube Studio)

Output settings

Settings → Output:

SettingRecommendation
Encoderx264 or NVENC (if NVIDIA)
Bitrate4000–6000 kbps
Keyframe interval2 seconds
Presetveryfast or faster

Video settings

Settings → Video:

SettingRecommendation
Base resolution1920×1080
Output resolution1920×1080
FPS30 or 60

Start streaming

  1. Check the preview
  2. Click "Start Streaming"
  3. OBS connects to the server
  4. Your stream is live!

Install the NDI agent

For moschee.io to discover your NDI cameras on the local network, run the NDI client (agent) on a computer/server in the same network.

Install via Docker Compose

Create docker-compose.yml:

version: '3.8'

services:
  ndi-client:
    image: ghcr.io/ihsandigital/moscheeio-ndi-client:latest
    container_name: ndi-client
    # IMPORTANT: network_mode: "host" is required for NDI discovery
    network_mode: "host"
    restart: unless-stopped
    environment:
      # Your moschee.io API key (get it from support)
      - MOSCHEEIO_API_KEY=your_api_key_here
      # Optional: If NDI sources aren’t auto-discovered, add camera IPs
      # - GRANDIOSE_EXTRA_IPS=192.168.1.50,192.168.1.51

Start the container in that directory:

docker-compose up -d

Environment variables

VariableDescription
MOSCHEEIO_API_KEYYour organization API key (required).
GRANDIOSE_EXTRA_IPS(Optional) Comma-separated IPs if NDI auto-discovery fails.

Add an NDI camera

To add an NDI camera to your livestream:

Join a room

In the dashboard go to Livestreaming and join or create a room.

Open NDI dialog

Click Add NDI source (plus icon or via settings, depending on the view).

Select the camera

You’ll see available NDI sources found by the agent.

  • Select your camera from the list.
  • Click Start publishing.

Check the stream

The NDI camera feed should appear as a tile in the room and stream live.

Time limit

NDI|HX streams are currently limited to 30 minutes at a time. After that, the feed stops automatically. You can immediately start publishing again.

Stream via moschee.io mobile app

Stream directly from your phone

The moschee.io mobile app supports video streaming:

Open the app

Launch the mobile app.

Choose the area

Go to Livestreaming.

Start the stream

Select Video stream.

Use the camera

The phone’s camera is used.

Benefits

  • No PC needed
  • Mobile and flexible
  • Simple operation

Limitations

  • Phone camera only (no NDI)
  • Quality depends on the device
  • Watch battery use

Multi-camera streaming with OBS

Multiple NDI sources

  1. Add multiple NDI sources
  2. Each camera as its own source
  3. Name them clearly

Create scenes

Build scenes for different views:

SceneContent
IntroLogo, countdown
Main cameraMinbar camera (full)
Split-screenTwo cameras side by side
OverviewRear camera
BreakPause screen

Switch scenes

  • Manual: Click the scene in OBS
  • Hotkeys: Assign keys for fast switching
  • Stream Deck: Hardware buttons
  • Auto scene switcher: OBS plugin for automatic changes

Add overlays

Enhance your stream with:

  • Logo/watermark
  • Title overlays
  • Prayer time display
  • Social media prompts

Record while streaming

Local recording

OBS can stream and record at the same time:

Open settings

Settings → Output → Recording

Choose format

Select path and format (MKV recommended)

Set quality

Quality: "Same as stream" or higher

Start

Click "Start Recording" in addition to streaming

Benefits of local recording

  • Higher quality possible
  • Backup if the stream has issues
  • Allows post-production

Best practices

Before streaming

  • Check camera position
  • Test audio levels
  • Verify internet connection
  • Do a test stream

During streaming

  • Watch OBS stats (dropped frames)
  • Keep an eye on chat/comments
  • Stay calm if issues arise

After streaming

  • End the stream
  • Stop the recording
  • Upload the video if needed
  • Collect feedback

Troubleshooting

Next steps