Troubleshooting Common RTMP Connection Problems
RTMP problems usually come down to one of four things: the encoder cannot reach the server, the Nginx configuration is wrong, the firewall is blocking the port, or the stream URL does not match the application name. A calm step-by-step check normally finds the issue quickly.
Step 1: Confirm Nginx is running:
sudo systemctl status nginx
Step 2: Test the Nginx configuration:
sudo nginx -t
Step 3: Confirm port 1935 is open:
sudo ufw status
Step 4: Check your OBS settings. The server should look like:
rtmp://your-server-ip/live
and the stream key should be separate, such as test.
Step 5: Make sure the application name in the RTMP URL matches your Nginx config. If your config says application stream, then /live will not work.
Step 6: Check logs while trying to connect:
sudo tail -f /var/log/nginx/error.log
Step 7: Test locally with FFmpeg or VLC if OBS is unclear.
Step 8: If HLS playback fails but OBS connects, check whether HLS files are being written to the correct folder.
Step 9: If viewers buffer, reduce bitrate and test again.
Do not change ten settings at once. Make one change, reload Nginx, test, then continue. Streaming setups become hard to fix when nobody knows which change caused the problem. Keep a copy of the last working configuration so you can roll back quickly.
Hosting tip: For Online Audience style hosting guides, remind users to test changes outside busy broadcast times, keep a backup of the last working configuration, and avoid exposing admin services publicly. A clear checklist, sensible firewall rules and careful bitrate choices will prevent most support issues before they happen.