Real Time Messaging Protocol (RTMP) is a protocol for streaming audio, video and data over the Internet, between web based Adobe Flash application (web based or mobile) and a server.
Special software is required to run on server side for accepting and serving the rtmp connections from flash clients. This is used in addition to web hosting where website files and scripts are hosted. For more details see VideoWhisper application requirements.
RTMP Hosting Type : Depends on required features.
- To add live streaming capabilities to an existing website / host, the WebRTC Host - Streaming Only plans can bring the necessary features (HTML5 WebRTC, HLS & RTMP, RTSP). When using remote streaming services, you will need your current web hosting to include access to latest FFMPEG and codecs for stream snapshots, analysis, transcoding.
- All features are available with the WebRTC Host - Complete Hosting plans. Includes snapshots & transcoding, archiving, recording, VOD, HTML5 WebRTC, HLS/DASH delivery for mobiles, HTML5 WebRTC, external session control (rtmp, webrtc), re-streaming (including RTSP 24/7 IP cameras).
- If you just need the remote flash based videochat, conferencing, live streaming functionality you should review the Remote RTMP (Cloud) hosting plans that just provide the rtmp address for streaming and interactions. You get a turnkey functional RTMP address to use remotely, in combination with your existing web host, to configure in Flash based web apps or encoder apps.
- If you also need web hosting and/or VOD (video on demand) delivery and/or expect big usage spikes but no archiving/recording/transcoding, you should consider Red5 plans and servers that provide great rates for bandwidht.
- For all features including archiving, recording, transcoding & HTML5 WebRTC, HLS/DASH delivery for mobiles, HTML5 WebRTC, external session control (rtmp, webrtc) and great reliability, you can also check the Wowza SE based legacy plans and dedicated servers.
Streaming Connection and Bandwidth : Depends on streaming bitrate configured, communication logic (streams per user) and users.
Bandwidth usage involves both server connection and network transfer requirements (monthly bandwidth allocation) that need to be available with your provider. |
Connection size limits maximum numbers of simultaneous users depending on streaming bitrate and monthly transfer limits hours of streaming, also depending on quality settings configured.
Connection and bandwidth requirements per user depend on streaming bitrate and number of streams consumed per user.
Video quality depends on allocated bandwidth per stream and should be adjusted depending on resolution settings.
Higher resolution requires more bandwidth to show a clear picture without much pixelation. More pixels require more bandwidth.
High resolution streams require more bandwidth, from 1Mbps (360p) to 8 Mbps (Full HD) or even more for extreme resolutions like 2K, 4K.
Resolution and bitrate can be configured from settings, as needed, for each project.
Streams per User
numbers of streams consumed per user (that server needs to stream to and from each user) depends on application type and communication logic.
For 1 way broadcasts each user consumes 1 stream. For Live Streaming application broadcaster transmits 1 stream to server and each viewer receives that stream from server.
If there are 2 way private video chat rooms where each user sees 1 other video and transmits 1 video, 2 streams per user will be required.
Bandwidth Estimation Example
Ex. 1. At starter videochat quality (recommended for sites with low connection users), each user with webcam using our applications with default settings, streams a 240p video around 62kb/s (that's around 500kbps because 1 byte = 8 bits).
Multiplied by 3600 seconds in an hour and adding communication required for extra features, sound that means around 0.25Gb/user/video/hour.
While a 1 to many live streaming application will use 1 stream per viewer, a many to many video conferencing that allows in example 1 webcam broadcast and 3 videos to be watched from other users will require 4 streams/user, meaning 1gb/user/hour.
Ex. 2. For high quality video (in example 720p at 5Mbps), that's around 2.3Gb/hour transfer per stream, meaning about 54Gb per day and 1300Gb/month for continuous streaming.
For a 4 hours event watched by 100 users that will demand 500 Mbps connection bitrate and 920 Gb bandwidth transfer.
- For remote videochat, conferencing, live streaming functionality with no other features (no archiving, recording, vod, transcoding) you should review the Remote RTMP (Cloud) hosting plans.
- For testing & developing, exploring your options during development, we recommend the Wowza Stream Developer plan. It provides multiple options that may be required when developing .
- For personal sites or private meetings and events with invite only participans (under 50 simultaneous users), the Remote Consultant, Wowza Stream Developer / Startup on Red5 Premium 3 Popular plan can be used.
- For startup sites where active users are on the site most of the time, ex. 50-100 simultaneous users, Remote Performer, Wowza Stream Startup or Red5 Premium 3-4 plans can be used.
- For active sites, broadcasting public events to 100-400 simultaneolus users, continuous usage, higher plans are the way to go (Remote, Wowza or Red5).
- For big projects where you estimate several hundreds or thousands of users, dedicated servers should be setup.
- For huge projects where you estimate several thousands of simultaneous users, contact us to discuss special multi server load balancing solutions.
A VPS can be used for live video streaming project development and testing but is not recommended at production times.
Dedicated servers are recommended.
Multiple VPS (Virtual Private Servers) share same server with same hardware (disk, cpu, memory, connection).
While resulting performance issues are not visible when serving http pages, frame loss/latency/temporary freezing can occur in live streams on a VPS, depending on how the other VPS on same server use the shared physical resources and temporary lock these.
Choosing RTMP server type, when running your own dedicated server:
|RTMP Server Types
||Dedicated Host License
|Red5 Open Source Flash Server
Community sites and startups where affordable streaming bandwidth is important. Not recommended if recording or stream archiving is required.
- Free open source RTMP server (prices are slightly lower but some reliability issues may occur)
- Not recommended for projects that demand archiving, recording, publishing to other devices
|Wowza Streaming Engine / Media Server
||Commercial websites where stability on large volume of users is important. This is used by sites like LiveStream, Justin TV. Also known to produce best recordings. Also enables support for streaming to other types of devices, if appropriate stream is available.
Also enables support for streaming to other types of devices, if appropriate stream encoding is available, which makes it the right choice for projects that will involve mobile support.
- Commercial RTMP server (commercial grade reliability and support)
- Support publishing streams to other devices (ex. iOS HLS or MPEG DASH)
- Supports quality stream archiving, recording
- Supports VideoWhisper RTMP Session Control for external apps (encoders and players)
- Supports WebRTC
|Adobe Flash Media Interactive Server
||Running on native Flash server and using with other Adobe applications like Media Live Encoder.
* Our managed Wowza servers are already licensed, so there are no additional costs for Wowza Streaming Engine / Media Server licensing: you pay only listed plan price if you host with us.
How to get the RTMP servers for your own dedicated server or VPS:
- Free Red5 Open Source Server (Unlimited Connections)
If you have your own Semi-Dedicated or Dedicated Server or VPS, and have lots of users, install Red5 on your server. Red5 is a free open source alternative to FMIS. It is developed using Java and supported by a large community of developers. Our server install team can install latest red5 on your server or vps for a one time flat fee.
- Wowza Streaming Engine / Media Server (Unlimited Connections) - Recommended, supports most advanced features.
Wowza Media Server is a high-performance, extensible and a fully interactive Flash media server. Order Wowza Streaming Engine / Media Server for $995 or rent for $65/month.
Developer edition limited to 10 connections is available for free for limited time.
- FMIS Server (Unlimited Connections)
Flash Media Interactive Server is the standard rtmp server solution developed by Adobe. Order Flash Media Interactive Server for $4500.
Developer edition limited to 10 connections is available for free.
- If your project involves video recordings/archives, both web and rtmp should be hosted on same server/plan so web scripts have access to videos saved by rtmp.
- Certain applications/editions/solutions may have special requirements like ffmpeg, document conversion tools. These are availabe on our turnkey managed hosting plans and servers but with 3rd party hosts usually need to be installed and configured by server administrator. Our administrators can provide Installation for FFMPEG and Conversion Tools.
You can also host yourself if you have a Dedicated Server. VPS can also be used for testing but it's not recommended for production.