Streaming Server - Setup and Configuration Guide
Learn how to set up and configure a streaming server using NGINX RTMP or MediaMTX. Enable reliable live streaming, secure access, and scalable delivery.

A streaming server enables live video broadcasting and on-demand delivery using protocols such as RTMP, HLS, and RTSP. It acts as the central hub between encoders like OBS, IP cameras, or hardware switchers and your viewers. Whether you are building a private infrastructure for live events, education, manufacturing monitoring, or internal corporate broadcasts, choosing the right streaming server setup is critical for reliability and scalability.
What Is a Streaming Server?
A streaming server receives live video from an encoder, processes or transcodes it if needed, and distributes it to viewers using appropriate delivery protocols. Common protocol roles include:
- RTMP - Used primarily for ingest from OBS or hardware encoders.
- HLS - Used for adaptive playback in web browsers and mobile devices.
- RTSP - Common in IP cameras and low-latency local streaming setups.
- WebRTC - Used for ultra-low-latency interactive streaming.
A well-configured streaming server ensures stable ingestion, proper transcoding, secure access, and efficient delivery at scale.
Popular Streaming Server Options
There are three main categories of streaming servers: open-source software, lightweight camera-focused tools, and commercial enterprise platforms.
NGINX with RTMP Module
NGINX combined with the RTMP module is one of the most popular open-source streaming server solutions. It is widely used for:
- RTMP ingest from OBS,
- RTMP-to-HLS conversion,
- VPS-based scalable live streaming,
- Cost-effective custom deployments.
It performs well in high-traffic live streaming environments and is commonly deployed on Ubuntu servers.
rtsp-simple-server (MediaMTX)
rtsp-simple-server (now known as MediaMTX) is a lightweight, single-binary streaming server that supports:
- RTSP
- RTMP
- HLS
- WebRTC
It is particularly useful for:
- Proxying IP cameras,
- Low-latency streaming,
- Quick deployments without heavy dependencies,
- Edge streaming setups.
Its minimal configuration requirements make it ideal for professional camera-based systems.
Commercial Solutions (e.g., Wowza)
Enterprise-grade platforms like Wowza provide:
- Managed interfaces,
- Built-in monitoring dashboards,
- Advanced transcoding pipelines,
- Commercial support.
They are suitable for large organizations but come at higher licensing costs.
NGINX RTMP Setup on Ubuntu
For scalable RTMP-based streaming, NGINX RTMP remains a reliable option.
Step 1 - Update the System
sudo apt update && sudo apt upgrade -y
Step 2 - Install NGINX with RTMP Module
sudo apt install nginx libnginx-mod-rtmp -y
Step 3 - Configure RTMP Block
Edit /etc/nginx/nginx.conf and add:
rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
record off;
}
}
}
Step 4 - Test and Restart
sudo nginx -t
sudo systemctl restart nginx
You can now stream from OBS using:
rtmp://your-server-ip/live/streamkey
To enable browser playback, configure HLS output within the same configuration.
rtsp-simple-server Setup
rtsp-simple-server is easier to deploy and especially effective for camera-based workflows.
Step 1 - Download the Binary
Download the latest release from GitHub and place it in:
/usr/local/bin
Step 2 - Create Configuration File
Create:
/usr/local/etc/rtsp-simple-server.yml
Define ports such as:
- RTSP: 8554
- RTMP: 1935
- HLS: 8888
Step 3 - Create Systemd Service
[Unit]
After=network.target
[Service]
ExecStart=/usr/local/bin/rtsp-simple-server /usr/local/etc/rtsp-simple-server.yml
[Install]
WantedBy=multi-user.target
Step 4 - Enable and Start
sudo systemctl enable --now rtsp-simple-server
This creates a persistent streaming server service that starts automatically on boot.
Testing Your Streaming Server
Once configured, test the stream:
- RTMP: rtmp://your-server-ip/live/streamkey
- HLS: http://your-server-ip:8888/stream.m3u8
- RTSP: rtsp://your-server-ip:8554/stream
Use VLC, ffplay, or a browser-based HLS player to verify functionality.
Security Best Practices for Streaming Servers
Streaming infrastructure must be secured, especially when exposed to the public internet. Recommended security measures include:
- Enable authentication for RTMP publish and play access.
- Restrict IP ranges for ingest endpoints.
- Use TLS for RTMPS or HTTPS HLS delivery.
- Close unused ports.
- Configure firewall rules for ports 1935 (RTMP), 8554 (RTSP), and 443 (HTTPS).
- Regularly update server software and OS packages.
For production deployments in EU regions such as Poland, combining your streaming server with a CDN like Cloudflare significantly reduces latency and improves viewer experience.
Monitoring and Scaling
Professional streaming servers require monitoring and load planning. Monitoring tools:
- systemctl status for service health,
- Prometheus or Grafana for performance metrics,
- Log inspection for connection errors.
Scaling strategies:
- Deploy load balancers for large events,
- Use multiple ingest nodes,
- Offload delivery to a CDN,
- Separate transcoding and distribution servers.
For high-traffic live events, ensure sufficient CPU and bandwidth resources before going live.
Choosing the Right Streaming Server
Select your streaming server based on your use case:
- For OBS-based live events → NGINX RTMP offers scalability and control.
- For IP camera proxying → rtsp-simple-server provides simplicity and flexibility.
- For enterprise streaming with support → consider commercial platforms.
Each solution supports professional live broadcasting, but the best choice depends on traffic volume, latency requirements, and infrastructure budget.
Conclusion
A properly configured streaming server is the foundation of professional live broadcasting. Whether using NGINX RTMP for scalable VPS streaming or rtsp-simple-server for low-latency camera setups, careful configuration, security hardening, and performance monitoring ensure reliable delivery.
With the right architecture in place, your streaming server can handle live events, webinars, surveillance feeds, and enterprise broadcasts efficiently and securely.
%2520(11).png&w=3840&q=75)
%2520(10).png&w=3840&q=75)
%2520(9).png&w=3840&q=75)