<AMS_DIR>/conf/red5.properties and apply to all applications.
Server Identity
string
default:"null"
Fully Qualified Domain Name (FQDN) of the server.Used for:
- SSL certificate validation
- WebRTC ICE candidate replacement
- Cluster communication
stream.example.comboolean
default:"false"
Use global IP address instead of local IP, especially for cluster communication.
string
default:"default"
Node group identifier for organizing servers in a cluster.
Network Configuration
Port Settings
int
default:"5080"
Default HTTP port for the server.
int
default:"5000"
Port opened by origin servers in cluster mode. Edge servers connect through this port.
int
default:"1935"
RTMP port for incoming RTMP connections.
int
default:"4200"
SRT port for incoming SRT connections.
SSL/TLS
boolean
default:"false"
Whether SSL/TLS is enabled on the server. Set automatically when SSL certificates are configured.
boolean
default:"false"
Enable RTMPS (RTMP over SSL/TLS).
Proxy Configuration
string
default:"null"
Proxy IP address and port for license checking.Use this if there’s a reverse proxy in front of Ant Media Server.Format:
<proxy_ip>:<port_number>Example: 192.168.0.1:3012License Configuration
string
default:"null"
Customer license key for Ant Media Server Enterprise Edition.
boolean
default:"false"
Whether this is a marketplace build. Set automatically based on license type.
string
default:"null"
Name of the marketplace (e.g., AWS, Azure, DigitalOcean).
boolean
default:"false"
Whether this is an offline license that checks against hardware. Set automatically based on license type.
string
default:"null"
IP addresses of local license servers for offline license validation.
Logging
string
default:"INFO"
Application log level.Options:
ALL- Log everythingTRACE- Very detailed loggingDEBUG- Debug informationINFO- General information (default)WARN- Warnings onlyERROR- Errors onlyOFF- No logging
string
default:"ERROR"
Log level for native libraries (FFmpeg and WebRTC).Options: Same as logLevel
Performance Monitoring
int
default:"1000"
Period in milliseconds for measuring CPU load.Used to determine if the server has sufficient CPU to handle new requests.
int
default:"5"
Number of CPU measurements to keep for calculating average CPU load.
Heartbeat & Monitoring
boolean
default:"true"
Enable heartbeat mechanism for server health monitoring.
string
default:"null"
Webhook URL for server status notifications.Called for events such as:
- High resource usage
- Unexpected shutdown
- Critical errors
Access Control
string
default:"0.0.0.0/0"
IP filter for accessing the Ant Media Server web panel.Must be in CIDR format. Multiple addresses can be comma-separated.Examples:
192.168.1.0/24- Allow entire subnet10.0.0.5/32- Allow single IP192.168.1.0/24,10.0.0.5/32- Multiple ranges0.0.0.0/0- Allow all (default, not recommended for production)
JWT Authentication
boolean
default:"false"
Enable JWT authentication for accessing the REST API and web panel.
string
default:"null"
JWT secret key for server-level authentication.Used to sign and validate JWT tokens for REST API and web panel access.
string
default:"null"
JWKS (JSON Web Key Set) URL for JWT validation.If set, JWKS is used for validation instead of the secret key. Effective only if jwtServerControlEnabled is true.
SRT Configuration
string
default:"LiveApp"
Name of the application that ingests SRT streams without a stream ID.
Environment Variables
The following environment variable can override server settings:env
Override the host address detection.Usage:
Configuration File
Server settings are stored in/usr/local/antmedia/conf/red5.properties:
Best Practices
Security
- Restrict dashboard access - Use allowedDashboardCIDR to limit web panel access to trusted IPs
- Enable JWT authentication - Set jwtServerControlEnabled=true for production
- Use strong secret keys - Generate cryptographically secure keys for JWT secrets
- Keep license key secure - Don’t commit license keys to version control
Performance
- Monitor CPU usage - Use cpuMeasurementPeriodMs and cpuMeasurementWindowSize for load balancing
- Adjust log levels - Use ERROR or WARN in production to reduce I/O overhead
- Enable heartbeat - Keep heartbeatEnabled=true for cluster health monitoring
Networking
- Set serverName - Always configure FQDN for SSL and WebRTC
- Configure proxy - Set proxyAddress if behind a reverse proxy
- Use separate ports - Keep default ports when possible, change only if conflicts exist
Clustering
- Use node groups - Organize servers by function (origin, edge, processing)
- Configure origin port - Ensure origin_port is accessible from edge servers
- Enable global IP - Set useGlobalIp=true for cloud deployments
Troubleshooting
Port Conflicts
If default ports are already in use:License Issues
For license validation problems:- Verify license key is correct
- Check server can reach license server (or use offline license)
- Configure proxy if needed:
proxy.address=192.168.1.1:3128 - Review logs:
tail -f /usr/local/antmedia/log/ant-media-server.log
Access Denied to Dashboard
If unable to access web panel:- Check allowedDashboardCIDR includes your IP
- Verify firewall allows connection to HTTP port
- Temporarily set to
0.0.0.0/0for testing (not recommended for production)
Cluster Connection Issues
- Verify origin_port is open in firewall
- Check nodeGroup matches between origin and edge
- Ensure serverName or IP is reachable from edge nodes
- Review cluster communication logs
