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
| Method | Description | Best for |
|---|---|---|
| OBS Studio | Professional streaming software | Multi-camera, overlays, complex setups |
| moschee.io Desktop | Stream directly via browser | Simple video streams |
| moschee.io Mobile | Stream from a smartphone | Mobile streaming |
Stream with OBS Studio
OBS Studio is the most popular free streaming app and fully supports NDI.
Install OBS and NDI plugin
-
Download OBS Studio
- obsproject.com
- Install and launch
-
Install the NDI plugin
- obs-ndi plugin
- Run the installer
- Restart OBS
Add an NDI source
- In OBS: Sources → + → "NDI Source"
- Enter a name (e.g., "Camera Minbar")
- Source Name: pick your camera
- 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:
| Setting | Recommendation |
|---|---|
| Encoder | x264 or NVENC (if NVIDIA) |
| Bitrate | 4000–6000 kbps |
| Keyframe interval | 2 seconds |
| Preset | veryfast or faster |
Video settings
Settings → Video:
| Setting | Recommendation |
|---|---|
| Base resolution | 1920×1080 |
| Output resolution | 1920×1080 |
| FPS | 30 or 60 |
Start streaming
- Check the preview
- Click "Start Streaming"
- OBS connects to the server
- 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.51Start the container in that directory:
docker-compose up -dEnvironment variables
| Variable | Description |
|---|---|
MOSCHEEIO_API_KEY | Your 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
- Add multiple NDI sources
- Each camera as its own source
- Name them clearly
Create scenes
Build scenes for different views:
| Scene | Content |
|---|---|
| Intro | Logo, countdown |
| Main camera | Minbar camera (full) |
| Split-screen | Two cameras side by side |
| Overview | Rear camera |
| Break | Pause 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