Frame rate configuration directly impacts streaming quality and viewer experience. This guide covers frame rate optimization for Ant Media Server, including WebRTC-specific settings, adaptive bitrate strategies, and mobile optimization techniques based on official specifications.
We’ll explore which frame rates work best for different content types, how to configure Ant Media Server for optimal performance, and troubleshooting techniques for common issues. Whether streaming webinars, gaming content, or mobile broadcasts, you’ll find practical configurations for production environments. Note: For foundational concepts about bitrate and resolution, see our Bitrate vs Resolution article. This guide focuses specifically on frame rate configuration.
Table of Contents
What is Frame Rate in Video Streaming?

Frame rate measures how many individual images your Ant Media Server processes and transmits each second. A stream running at 30 frames per second (fps) delivers 30 distinct images every second to viewers.
Ant Media Server provides fine-grained control over frame rates through multiple configuration layers:
- Publisher-side capture settings
- Encoder frame rate configurations
- Adaptive bitrate profile specifications
- Real-time adjustments based on network conditions
The frame rate you configure affects encoding CPU usage, bandwidth consumption, glass-to-glass latency, and perceived video smoothness. Understanding video bitrate allocation becomes critical as frame rates increase. Ant Media Server’s WebRTC implementation automatically adapts frame rates when network conditions deteriorate, maintaining stable connections even under bandwidth constraints.
How Frame Rate Works in WebRTC Streams
WebRTC streaming implements adaptive frame rate control based on network conditions. When bandwidth drops, the browser can reduce frame rate to maintain connection stability through the degradationPreference API parameter.
According to W3C specifications, WebRTC browsers must handle video at minimum 20 fps and 320×240 resolution. Ant Media Server defaults to 30 fps as the baseline for quality streaming. The actual delivered frame rate depends on capture settings, encoder configuration, and network conditions between sender and receiver.
Ant Media Server officially supports and tests these frame rates:
| Frame Rate | Support Level | Best Use Cases | Configuration Method |
|---|---|---|---|
| 10-15 fps | ✓ Fully Supported | Ultra-low bandwidth mobile, battery optimization | Mobile constraints, weak 3G |
| 20 fps | ✓ Fully Supported | Mobile streaming, previous WebRTC default | Mobile optimization |
| 30 fps | ✓ Default/Recommended | Standard streaming, webinars, events | Default WebRTC configuration |
| 60 fps | ✓ Fully Supported | Gaming, sports, fast action | High-performance configuration |
Common Frame Rates and When to Use Them
24 fps: Film-Style Content
Film and cinema standardized on 24 fps nearly a century ago, creating a specific aesthetic quality viewers associate with professional productions. This frame rate works for interview content, corporate messaging, and pre-recorded presentations where cinematic quality matters more than capturing rapid movement.
Using 24 fps minimizes file size and bandwidth requirements. A typical 1080p stream at 24 fps requires approximately 1500-2000 kbps bitrate. Avoid 24 fps for sports, gaming, or any content with fast motion, as the lower frame count creates visible judder during quick camera movements.
30 fps: The Streaming Standard
Ant Media Server defaults to 30 fps for WebRTC publishing based on user testing and performance data. This frame rate balances motion smoothness with reasonable resource consumption.
30 fps works reliably across:
- Desktop and laptop computers
- Most mobile devices on WiFi
- Tablet devices
- 4G/LTE mobile connections with good signal
- WebRTC browsers (Chrome, Firefox, Safari, Edge)
A typical 1080p stream at 30 fps requires 2000 kbps bitrate (official Ant Media specification). Configure 30 fps through MediaStreamConstraints when publishing via WebRTC:
const constraints = {
video: {
width: { ideal: 1920 },
height: { ideal: 1080 },
frameRate: { ideal: 30, max: 30 }
},
audio: true
};
For RTMP publishing with OBS configuration, set 30 fps in your encoder’s video settings before connecting to Ant Media Server.
60 fps: High-Motion Broadcasting
Ant Media Server fully supports 60 fps streaming including 4K 60fps configurations. Sports broadcasts, gaming streams, and fast-action content benefit from this higher frame rate.
The trade-off comes in bandwidth and processing requirements. A 1080p60 stream needs approximately 3500-5000 kbps bitrate compared to 2000 kbps for 1080p30. Encoding 60 fps also demands significantly more CPU resources.
Ant Media Server documentation confirms: “Ant Media Server can send 4K 60FPS video in WebRTC without any pixelating” when properly configured with adequate server resources.
Test your hardware thoroughly before deploying 60 fps streams:
- Monitor CPU usage during test streams
- Verify encoding hardware acceleration works
- Test viewer playback on representative devices
- Measure actual bandwidth consumption
Frame Rates Above 60 fps
Note: Frame rates above 60 fps are not officially documented or tested in Ant Media Server. Use at your own risk.
Specialized applications like ultra-slow motion playback require capture rates of 120 fps or higher. The raw footage plays back at normal speed (24-30 fps) to create dramatic slow-motion effects. Standard live streaming rarely uses these higher rates.
Cloud gaming and interactive applications may target 90-120 fps to reduce input lag. These use cases demand powerful encoding hardware and high-bandwidth network infrastructure. Consumer-grade equipment typically cannot maintain these frame rates reliably for live streaming.
Frame Rate Quick Reference
Official Ant Media Specifications:
| Frame Rate | Resolution | Video Bitrate | Audio Bitrate | Target Scenario |
|---|---|---|---|---|
| 15-20 fps | 720p | 1000-1500 kbps | 64-128 kbps | Mobile cellular, battery optimization |
| 15-20 fps | 480p | 750-1000 kbps | 64 kbps | Weak mobile connections, 3G networks |
| 30 fps | 1080p | 2000 kbps | 128 kbps | Standard desktop streaming |
| 30 fps | 720p | 1500 kbps | 128 kbps | Balanced quality streaming |
| 30 fps | 480p | 1000 kbps | 64 kbps | Mobile WiFi, 4G connections |
| 60 fps | 1080p | 3500-5000 kbps | 128 kbps | Gaming, esports, sports |
| 60 fps | 720p | 2500-3500 kbps | 128 kbps | High-motion mobile (high-end devices) |
Source: Official Ant Media Server documentation states “The recommended default resolutions are: 240p – 500 Kbps, 360p – 800 Kbps, 480p – 1000 Kbps, 720p – 1500 Kbps, 1080p – 2000 Kbps”
Choosing the Right Frame Rate for Your Stream
Content Type Determines Frame Rate
Sports and fast-action content captures best at 60 fps. The higher frame rate preserves motion detail during rapid camera pans and subject movement. Viewers notice smoother playback when watching gameplay, racing, or athletic competitions.
Talking-head content and presentations work well at 30 fps. These scenarios contain minimal motion between frames. Reducing frame rate here frees up bandwidth and processing power without visible quality loss.
Educational content, training videos, and corporate communications benefit from standard frame rates paired with higher resolution. Viewers value sharp text and detailed graphics over motion smoothness in these contexts.
Available Bandwidth Sets Limits
Network capacity determines your maximum sustainable frame rate. Calculate total bitrate requirements including video, audio, and overhead before choosing frame rates.
Recommended upload bandwidth by configuration:
- 30 fps @ 1080p: Minimum 3-4 Mbps upload
- 60 fps @ 1080p: Minimum 6-8 Mbps upload
- Mobile 20 fps @ 720p: Minimum 1.5-2 Mbps upload
- Mobile 15 fps @ 480p: Minimum 1-1.5 Mbps upload
Test actual upload speeds before production streaming. Many ISPs provide asymmetric connections with less upload than download bandwidth. Streaming during peak usage hours may reduce available bandwidth significantly.
Encoding Hardware Capacity
CPU resources limit achievable frame rates more than any other factor. Software encoding at 60 fps can consume 50-70% CPU per 1080p stream. Compare GPU versus CPU transcoding performance for your specific hardware. Hardware encoding reduces this to 10-15% CPU through GPU acceleration.
Ant Media Server supports hardware encoding on:
- NVIDIA GPUs (NVENC)
- Intel Quick Sync Video
- Apple VideoToolbox (iOS/macOS)
Monitor CPU usage during test streams before committing to production frame rates. Sustained CPU usage above 80% indicates insufficient capacity for your configuration.
Content-Specific Frame Rate Recommendations
| Content Type | Recommended FPS | Resolution | Bitrate | Ant Media Priority |
|---|---|---|---|---|
| Webinars & Presentations | 30 fps | 720p-1080p | 1500-2000 kbps | maintain-resolution |
| Corporate Communications | 30 fps | 1080p | 2000 kbps | maintain-resolution |
| Live Events & Conferences | 30 fps | 720p-1080p | 1500-2000 kbps | balanced |
| Gaming Streams | 60 fps | 1080p | 3500-5000 kbps | maintain-framerate |
| Esports Tournaments | 60 fps | 1080p | 5000 kbps | maintain-framerate |
| Sports Broadcasting | 60 fps | 1080p | 3500-5000 kbps | maintain-framerate |
| Educational Content | 30 fps | 720p-1080p | 1500-2000 kbps | maintain-resolution |
| Product Demonstrations | 30 fps | 1080p | 2000 kbps | balanced |
| Music Performances | 30-60 fps | 1080p | 2000-5000 kbps | balanced |
| Mobile Broadcasting (WiFi) | 20-30 fps | 720p | 1000-1500 kbps | maintain-framerate |
| Mobile Broadcasting (Cellular) | 15-20 fps | 480p-720p | 750-1000 kbps | maintain-framerate |
Frame Rate and Bitrate Relationships
Frame rate and bitrate work together to determine your stream quality. Higher frame rates require proportionally higher bitrates to maintain image quality.
Ant Media Server Bitrate Specifications by Frame Rate
| Resolution | 15-20 fps | 30 fps | 60 fps | Notes |
|---|---|---|---|---|
| 240p | 500 kbps | 500 kbps | Not recommended | Extreme low-bandwidth fallback |
| 360p | 600-800 kbps | 800 kbps | 1200 kbps | Weak connections, 3G mobile |
| 480p | 750-1000 kbps | 1000 kbps | 1500-2000 kbps | 4G mobile, entry-level streaming |
| 720p | 1000-1500 kbps | 1500 kbps | 2500-3500 kbps | HD streaming, balanced quality |
| 1080p | 1500-2000 kbps | 2000 kbps | 3500-5000 kbps | Full HD, desktop viewing |
| 1440p (2K) | Not recommended | 4000 kbps | 6000-8000 kbps | High-end streaming |
| 4K (2160p) | Not recommended | 8000 kbps | 13000-20000 kbps | Premium quality |
Note: Bold values represent Ant Media Server’s official documented recommendations.
Audio bitrate addition: Add 64-256 kbps for audio depending on quality requirements:
- 32-64 kbps: Voice-only content (podcasts, calls)
- 96-128 kbps: Standard music/presentations
- 160-256 kbps: High-quality music performances
Why Bitrate Matters More Than Frame Rate
Bitrate determines how much data you allocate to encode each frame. Insufficient bitrate creates compression artifacts regardless of frame rate. A 720p30 stream at 1500 kbps typically looks better than 1080p30 at 1500 kbps because each frame receives adequate data allocation.
Ant Media Server’s adaptive bitrate feature helps by creating multiple quality tiers. Configure your highest quality tier with appropriate bitrate for your target frame rate, then let the server generate lower tiers automatically.
When bandwidth becomes constrained, Ant Media Server can reduce both resolution and frame rate dynamically. The degradationPreference setting controls whether the system prioritizes maintaining frame rate or resolution when reducing quality.
WebRTC-Specific Frame Rate Considerations
WebRTC provides unique frame rate control mechanisms not available in traditional streaming protocols. Ant Media Server’s WebRTC implementation exposes these features for fine-grained performance tuning. Enterprise deployments should review WebRTC scalability strategies when streaming to large audiences.
Browser Control and Degradation Preferences
WebRTC gives browsers automatic control over frame rate adjustments during network congestion. The RTCRtpSender.degradationPreference parameter tells the browser whether to prioritize frame rate or resolution when bandwidth drops.
Browser frame rate support:
| Browser | Max FPS Support | Hardware Acceleration | Adaptive FPS | Ant Media Server Compatibility |
|---|---|---|---|---|
| Chrome/Edge | 60 fps | ✓ (NVENC, Quick Sync) | ✓ | Full support |
| Firefox | 60 fps | ✓ (Limited) | ✓ | Full support |
| Safari | 60 fps | ✓ (VideoToolbox) | ✓ | Full support |
| Opera | 60 fps | ✓ (Chromium-based) | ✓ | Full support |
| Mobile Chrome | 30-60 fps | Device-dependent | ✓ | Full support with limitations |
| Mobile Safari | 30-60 fps | ✓ (iOS devices) | ✓ | Full support |
Learn more about WebRTC browser compatibility and implementation differences.
Set degradationPreference to “maintain-framerate” for motion-heavy content:
const sender = peerConnection.getSenders()[0];
const parameters = sender.getParameters();
parameters.degradationPreference = "maintain-framerate";
await sender.setParameters(parameters);
Use “maintain-resolution” for presentation content where sharp text and graphics matter more than smooth motion.
Ant Media Server’s WebRTC implementation respects these settings while also applying server-side adaptive bitrate decisions. The combined approach provides robust quality adaptation across network conditions.
Frame Rate in WebRTC Statistics
Monitor actual delivered frame rates using Ant Media Server’s statistics APIs. The RTCInboundRtpStreamStats provides framesPerSecond metrics showing current receive rates.
Track these key metrics:
- framesPerSecond: Current playback frame rate
- framesDecoded: Total frames decoded successfully
- framesDropped: Frames dropped due to performance issues
- framesReceived: Total frames received from network
Ant Media Server exposes detailed statistics through its REST API. Query the /broadcast/{streamId}/stats endpoint during test streams to verify your frame rate configurations work as intended.
Rising framesDropped counts indicate decoder overload or network congestion. Compare framesReceived against framesDecoded to identify processing bottlenecks versus network issues.
Ultra-Low Latency Impacts
Sub-second latency streaming requires careful frame rate management. Each frame adds processing and transmission delay to your end-to-end latency budget.
Ant Media Server’s ultra-low latency mode achieves 200-500ms glass-to-glass latency consistently. Higher frame rates mean more frequent encoding and decoding operations, each adding incremental delay.
Research on WebRTC latency shows frame rates above 30 fps provide diminishing returns for most interactive applications. Research on real-time streaming latency shows frame rates above 30 fps provide diminishing returns for most interactive applications. The added latency from encoding 60 frames versus 30 frames often negates perceived smoothness benefits in real-time scenarios.
Recommended configuration for ultra-low latency:
- Frame Rate: 30 fps (optimal balance)
- Resolution: 720p or 1080p
- Bitrate: 1500-2000 kbps
- Keyframe Interval: 2 seconds
- Encoder Preset: Fast or faster
Reserve 60 fps streams for one-way broadcasts where absolute minimum latency isn’t critical. Gaming demonstrations, sports replays, and recorded content benefit from 60 fps without latency concerns.
Configuring Frame Rates in Ant Media Server
Setting Publisher Frame Rates
WebRTC publishers configure frame rates through MediaStreamConstraints when accessing user media:
const constraints = {
video: {
width: { ideal: 1920 },
height: { ideal: 1080 },
frameRate: {
ideal: 30,
min: 15,
max: 30
}
},
audio: {
echoCancellation: true,
noiseSuppression: true
}
};
const stream = await navigator.mediaDevices.getUserMedia(constraints);
The ideal value requests your target frame rate. The min and max values establish acceptable range boundaries. Browsers attempt matching ideal settings but may fall back within the specified range based on camera capabilities and performance.
RTMP publishers (like OBS) configure frame rates in encoder settings before connecting to Ant Media Server:
- Open OBS Settings → Video
- Set Common FPS Values: 30 or 60
- Configure output resolution
- Connect to Ant Media Server’s RTMP endpoint
Ant Media Server accepts the publisher’s configured frame rate and processes streams accordingly. The server may transcode to different frame rates for adaptive bitrate profiles if configured.The server may transcode streams to different frame rates for adaptive bitrate profiles if configured.
Server-Side Frame Rate Configuration
Ant Media Server provides application-level frame rate settings through the dashboard:
For WebRTC playback frame rate:
- Navigate to Applications → Settings
- Locate webRTCFrameRate parameter
- Default: 30 fps
- Adjust based on your target audience capabilities
Important: This setting controls the frame rate for WebRTC viewers, not publishers. Publishers set their own frame rates through capture constraints.
Via configuration file (advanced): Edit {AMS-Folder}/webapps/{Application}/WEB-INF/red5-web.properties:
settings.webRTCFrameRate=30
Restart Ant Media Server after configuration file changes.
Adaptive Bitrate Profile Configuration
Configure frame rate variations across adaptive bitrate profiles to optimize for different viewer scenarios:
{
"videoEncoderConfiguration": [
{
"height": 1080,
"videoBitrate": 2000000,
"audioBitrate": 128000,
"frameRate": 30
},
{
"height": 720,
"videoBitrate": 1500000,
"audioBitrate": 128000,
"frameRate": 30
},
{
"height": 480,
"videoBitrate": 1000000,
"audioBitrate": 64000,
"frameRate": 30
}
]
}
Access through REST API or configure in the dashboard under Applications → Settings → Adaptive Bitrate.
Mobile Streaming Optimization (15-20 fps)
Mobile streaming requires different frame rate strategies than desktop broadcasting. Ant Media Server documentation specifically recommends 10-20 fps for optimal mobile performance.
Why Mobile Needs Lower Frame Rates
Official Ant Media Server FAQ states: “20 for FPS is optimum; however, 10 and 15 should be examined. 720p is good enough for video quality, especially for mobile platforms. 1000 Kbps is optimum for 720p, 750 Kbps is also acceptable when FPS is 10.”
Mobile devices face unique constraints:
Battery Life
- 30 fps encoding drains batteries 40-60% faster than 20 fps
- 15-20 fps extends broadcast duration significantly
- Lower frame rates reduce CPU thermal load
Processing Power
- Mobile processors throttle under sustained high-frequency encoding
- Thermal management kicks in after 10-15 minutes at 30 fps
- 20 fps maintains stable performance longer
Network Conditions
- Cellular connections provide variable bandwidth
- 15-20 fps streams adapt better to network fluctuations
- Lower frame rates create bandwidth headroom for quality
Heat Generation
- High frame rate encoding generates significant heat
- Device throttling reduces performance and frame rate
- 15-20 fps stays within thermal limits
Recommended Mobile Frame Rate Configurations
| Network Type | Frame Rate | Resolution | Bitrate | Use Case |
|---|---|---|---|---|
| WiFi | 20-30 fps | 720p | 1000-1500 kbps | Indoor streaming, good connection |
| 5G | 20 fps | 720p | 1000-1500 kbps | High-speed cellular |
| 4G/LTE (Strong) | 20 fps | 480p-720p | 750-1000 kbps | Standard mobile streaming |
| 4G/LTE (Weak) | 15 fps | 480p | 750-1000 kbps | Variable signal areas |
| 3G | 10-15 fps | 360p-480p | 500-800 kbps | Weak connections |
Mobile Camera Constraints Configuration
Configure mobile WebRTC publishers with appropriate frame rate constraints:
// Optimized for mobile cellular streaming
const mobileConstraints = {
video: {
width: { ideal: 1280, max: 1280 },
height: { ideal: 720, max: 720 },
frameRate: {
ideal: 20, // Optimal for mobile
min: 10,
max: 30
},
facingMode: "user" // or "environment"
},
audio: {
echoCancellation: true,
noiseSuppression: true,
autoGainControl: true
}
};
// Check device capabilities first
const track = stream.getVideoTracks()[0];
const capabilities = track.getCapabilities();
console.log('Supported frame rates:', capabilities.frameRate);
The MediaStreamTrack.getCapabilities() API reports supported frame rate ranges for each camera. Use these constraints to present users with realistic quality options.
Mobile-Specific Best Practices
For mobile publishers:
- Default to 20 fps for cellular streaming
- Reduce to 15 fps when battery drops below 20%
- Monitor device temperature and throttle if needed
- Enable hardware encoding when available
- Test on representative low-end devices
For mobile viewers: Configure Ant Media Server’s adaptive bitrate to include mobile-optimized tiers:
- Include 360p and 480p profiles
- Use 15-20 fps for lower quality tiers
- Prioritize maintain-framerate for mobile delivery
iOS-specific considerations:
- iOS devices handle hardware encoding efficiently
- iPhone thermal management more aggressive than Android
- Test on older iPhone models (iPhone X/8 generation)
- 20-30 fps works better on iOS than equivalent Android devices
Android-specific considerations:
- Device capabilities vary dramatically by manufacturer
- Samsung/Google flagship devices handle 30 fps reliably
- Budget Android devices may struggle above 15 fps
- Test across multiple manufacturers and price points
Adaptive Bitrate with Frame Rate Optimization
Ant Media Server’s adaptive bitrate (ABR) feature creates multiple quality tiers automatically. Optimal ABR ladders vary frame rate strategically across tiers.
Standard Content ABR Ladder
Official Ant Media Specifications:
| Quality Tier | Resolution | Frame Rate | Video Bitrate | Audio Bitrate | Target Audience |
|---|---|---|---|---|---|
| High | 1080p | 30 fps | 2000 kbps | 128 kbps | Desktop, excellent connection |
| Medium | 720p | 30 fps | 1500 kbps | 128 kbps | Desktop, good connection |
| Low | 480p | 30 fps | 1000 kbps | 64 kbps | Mobile WiFi, average connection |
| Fallback | 360p | 30 fps | 800 kbps | 64 kbps | Mobile cellular, weak connection |
Gaming/Sports ABR Ladder (60fps Support)
| Quality Tier | Resolution | Frame Rate | Video Bitrate | Audio Bitrate | Target Audience |
|---|---|---|---|---|---|
| Ultra | 1080p | 60 fps | 5000 kbps | 128 kbps | Desktop, excellent connection |
| High | 1080p | 30 fps | 2000 kbps | 128 kbps | Desktop, good connection |
| Medium | 720p | 30 fps | 1500 kbps | 128 kbps | Desktop/mobile, average connection |
| Low | 480p | 30 fps | 1000 kbps | 64 kbps | Mobile, weak connection |
Note: Only highest tier uses 60 fps. Lower tiers drop to 30 fps for efficiency and compatibility.
Mobile-Optimized ABR Ladder (15-20 fps)
| Quality Tier | Resolution | Frame Rate | Video Bitrate | Audio Bitrate | Target Audience |
|---|---|---|---|---|---|
| High | 720p | 20 fps | 1500 kbps | 128 kbps | Mobile WiFi, good signal |
| Medium | 480p | 20 fps | 1000 kbps | 64 kbps | 4G/LTE, average signal |
| Low | 360p | 15 fps | 800 kbps | 64 kbps | 3G or weak 4G |
| Fallback | 240p | 15 fps | 500 kbps | 32 kbps | Very weak connections |
Configuration through Ant Media Server Dashboard:
- Navigate to Applications → {YourApp} → Settings
- Enable Adaptive Bitrate
- Click Add Profile for each tier
- Specify resolution, bitrate, and frame rate
- Save and restart streams
Configuration via REST API:
curl -X POST "https://your-server:5443/LiveApp/rest/v2/broadcasts/{streamId}/encoder-settings" \
-H "Content-Type: application/json" \
-d '[
{
"height": 1080,
"videoBitrate": 2000000,
"audioBitrate": 128000,
"frameRate": 30
},
{
"height": 720,
"videoBitrate": 1500000,
"audioBitrate": 128000,
"frameRate": 30
},
{
"height": 480,
"videoBitrate": 1000000,
"audioBitrate": 64000,
"frameRate": 30
}
]'
Monitoring and Adjusting in Production
Ant Media Server provides real-time statistics for monitoring frame rate performance:
Dashboard Monitoring
- Navigate to Applications → Live Streams
- Select active stream
- View real-time statistics including:
- Current frame rate
- Dropped frames
- CPU usage
- Bitrate consumption
- Viewer counts per quality tier
REST API Statistics
curl "https://your-server:5443/LiveApp/rest/v2/broadcasts/{streamId}/stats"
Response includes:
{
"streamId": "stream123",
"videoFrameRate": 30,
"audioBitrate": 128000,
"videoBitrate": 2000000,
"qualityProfile": "1080p30",
"viewerCount": 145
}
Performance Indicators
| Metric | Healthy Range | Warning Threshold | Critical Threshold |
|---|---|---|---|
| CPU Usage | < 60% | 60-80% | > 80% |
| Dropped Frames | < 1% | 1-3% | > 3% |
| Memory Usage | < 70% | 70-85% | > 85% |
| Encoding Latency | < 100ms | 100-200ms | > 200ms |
When metrics exceed warning thresholds, consider:
- Reducing frame rate from 60 to 30 fps
- Enabling hardware encoding acceleration
- Reducing maximum resolution
- Adding server capacity
Troubleshooting Frame Rate Issues
Ant Media Server provides diagnostic tools for identifying and resolving frame rate problems. Follow comprehensive streaming quality optimization guidelines for systematic troubleshooting.
| Symptom | Likely Cause | Solution | Verification Method |
|---|---|---|---|
| Stuttering video | Frame drops during encoding | Reduce frame rate or enable GPU encoding | Check CPU usage > 80% |
| Jerky playback | Network congestion | Enable adaptive streaming | Monitor packet loss > 2% |
| Inconsistent fps | Variable frame rate source | Lock frame rate in encoder | Check source stream stats |
| Black frames | Keyframe interval too long | Set keyframe to 2 seconds | Review encoder settings |
| Freezing | Insufficient bandwidth | Reduce bitrate or frame rate | Test upload speed |
| Blurry motion | Bitrate too low for fps | Increase bitrate or reduce fps | Visual inspection |
| Audio desync | Frame timing problems | Verify constant frame rate | Check A/V offset |
| Overheating | Thermal throttling (mobile) | Reduce to 15-20 fps | Monitor device temperature |
| Pixelation | Bitrate insufficient | Increase bitrate per official specs | Check compression artifacts |
| No video | Camera constraints unsupported | Use supported frame rates (10-60fps) | Check getUserMedia errors |
Frequently Asked Questions
What frame rate does Ant Media Server default to?
Ant Media Server defaults to 30 fps for WebRTC publishing and playback. This was increased from the previous default of 20 fps based on user feedback.Learn how WebRTC works to understand why 30 fps balances quality and performance.
Why do Ant Media docs recommend 10-20 fps for mobile
Mobile devices face unique constraints including battery life, thermal management, and cellular bandwidth variability. The official FAQ states: “20 for FPS is optimum; however, 10 and 15 should be examined” for mobile streaming. Lower frame rates extend battery life, reduce heat generation, and create bandwidth headroom for stable connections.
Can Ant Media Server handle 60 fps streams?
Yes, Ant Media Server fully supports 60 fps streaming including 4K 60fps configurations. The documentation confirms: “Ant Media Server can send 4K 60FPS video in WebRTC without any pixelating.” Enable hardware encoding for optimal performance at 60 fps. Monitor CPU usage carefully as 60 fps requires significantly more processing power than 30 fps.
Does higher frame rate always improve quality?
No. Frame rate creates smoother motion but doesn’t automatically improve visual quality. Resolution and bitrate determine image sharpness. Increasing frame rate without proportional bitrate increases may reduce quality by forcing more compression per frame. Balance all three factors based on Ant Media Server’s official specifications.
What’s the relationship between frame rate and latency?
Higher frame rates increase processing time and latency. Each frame requires encoding, transmission, and decoding. For ultra-low latency streaming, Ant Media Server achieves optimal results with 30 fps at 720p or 1080p, maintaining 200-500ms glass-to-glass latency. 60 fps adds incremental delay that may negate smoothness benefits in interactive scenarios.
Conclusion
Frame rate optimization for Ant Media Server focuses on three principles: use 30 fps for standard streaming, 15-20 fps for mobile, and 60 fps for gaming/sports only. Follow official bitrate specifications (720p at 1500 kbps, 1080p at 2000 kbps) and test configurations on actual viewer devices before production deployment.
Configure adaptive bitrate profiles strategically, enable hardware encoding when possible, and monitor performance metrics through Ant Media Server’s dashboard. Consult the official documentation for detailed implementation steps. Test these frame rate configurations with Ant Media Server’s free trial or explore live examples through the interactive demo to find optimal settings for your streaming requirements.
Estimate Your Streaming Costs
Use our free Cost Calculator to find out how much you can save with Ant Media Server based on your usage.
Open Cost Calculator