Compare Shared Reseller VPS Cloud Dedicated RTMP Hosting

The best hosting type for a live streaming project is usually different than for a regular web site.

Dedicated vs VPS

A VPS (Virtual Private Server) 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. When 4-12 VPS share same 100Mbps server connection, that can limit number of simultaneous users to 10-20. You should avoid using a VPS for production mode.

Connection speed is very important for video streaming and limits maximum simultaneous users that can be served. A dedicated server has own dedicated connection.

Also location of server is important. From our tests the US servers with 1000Mbps connection, reach 200-750Mbps upload speed from different locations in US, 80Mbps from UK,  30Mbps from FR, few Mbps from Asia.

Shared vs VPS

Altough it seems counter intuitive, a shared hosting plan on a server that runs a rtmp service can be better than a VPS because in the first case, the RTMP service (process) has full access to all dedicated server resources and distributes these to clients with designed streaming fluency. On a VPS, the RTMP service is installed on a fraction of the server and resource allocation/balancing is done above the RTMP server. This can cause visible streaming interruptions, latency or server crashes due to throttling and resource cutting applied to rtmp service process. We recommend using a RTMP service installed directly on a dedicated server, even if service is shared. We don’t recommend a RTMP service installed on a server share.

Reseller accounts (setup with WHM/CPanel) are accounts that can manage multiple CPanel accounts. Multiple reseller accounts are usually hosted on a VPS or dedicated server and have less resources and priority than a VPS. Usually reseller hosting providers don’t include rtmp hosting due to management and resource allocation hassle.

Cloud instances are similar to VPS and have similar limitations (there are multiple instances on a server and each one can grow and occupy available free resources). Reference: AWS CDN Instance connection limit, EC2 Bandwidth Limit .

 

In conclusion, a dedicated server is recommended. If that’s not possible a shared host where rtmp service runs on directly on the dedicated server is the next best thing. A cloud or vps environment comes last and can be used for setting up a custom testing/development setup.

Recommended h264 Video Bitrate Based on Resolution

Video quality depends on allocated bandwidth per stream which must fit in the limits of the connection upload speed for broadcaster and download speed for watcher.

Higher resolution requires more bandwidth to show a clear picture without much pixelation. More pixels require more bandwidth.

Higher video bandwidth setting will reduce required compression level and pixelation on movements but will require users to have higher connection or will cause massive frame loss, interruptions, big latency.

Recommended video bitrates in Mbps (b/s)

Webcam Performance, Video Calls, Conferences, Stage Concerts or Events

When streaming live video with static background as for webcam performance, video calls, conferences, concerts or shows the bandwidth requirements for streaming good quality is usually lower.

Format Pixels Bitrate (Mbps)
(connection upload)
Transfer (b/s)
(camBandwidth)
 100 Viewers
Bitrate
144p 256×144 0.28 35000 28
240p 426×240 0.4 50000 40
360p 640×360 0.6 75000 60
480p SD 640×480 0.8 100000 80
480p ED 854×480 1 125000 125
720p HD 1280×720 3 375000 300
1080p FullHD 1920×1080 5 625000 500

For 1 way live streams with static background you can try 480p with 125000 camBandwith  (1Mbps) if upload connection permits. This bitrate should work for most viewer connections.5

Much lower bandwidth can be used when there’s low motion (try half) but pixelation can occur on certain moments when there’s higher motion or change of background, lighting.

Movies, Sport Events, Dynamic Content

Videos with lots of motion, changing background, scenery, require higher bitrate.

Format Pixels Bitrate (Mbps) Transfer (b/s)
120p 160×120 0.3 37500
144p 256×144 0.4 50000
240p 426×240 0.5 62000
360p 640×360 1 125000
480p SD 640×480 1.2 150000
480p ED 854×480 2.5 312000
720p HD 1280×720 5 625000
1080p FullHD 1920×1080 8 1000000
1440p 2K 2560×1440 16 2000000
2160p 4K 3840×2160 40 5000000

These bitrates are recommended for preventing pixelation in full motion scenes (like sports, movies, action games).
Lower bitrate can be used for streams with lower level of motion (in example for presentations, conferences, calls with static background).

Transfer

Bitrate is usually in bits (8 data bits = 1 byte space). Obtain generated transfer by diving bitrate to 8 bits/byte.
Ex. 8Mbitsps generates 1Mbyte/s transfer (1000000b/s) and file size when recording.

Client Connection Requirements

When broadcasting, total stream size should be less than maximum broadcaster upload speed.

Do a speed test from broadcaster computer to a location near your streaming (rtmp) server using a tool like SpeedTest.net . Drag and zoom to a server in contry/state where you host (Ex: North America if you host on VideoWhisper video hosting servers) and select it. The upload speed is the maximum data you’ll be able to broadcast.

To obtain kb/s from kbps divide by 8.  In example 400kbps is 50kb/s (50 000 b/s). This is required when configuring streaming applications in b/s.

Hosting Requirements

Number of streams consumed for each user connected to server depends on communication logic.
For 1 way broadcasts each user consumes 1 stream.
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.
If there are video conference rooms where each user transmits 1 video and sees other 3 videos, 4 streams per user will be required.

To host hundreds or thousands of streams simultaneously, servers with 1000Mbps connection  are required.
It’s important to have the server in a reputable data center with high connectivity so all your users can connect to the server at good speed, from their different networks and providers.

To evaluate server and network capacity when choosing a server, consider monthly transfer available.
In example, VideoWhisper dedicated video streaming servers are setup to allow 100Tb/month data traffic which means around 308Mbps average continuous transfer.
A provider selling servers with 10Tb/month is ready to handle around 30Mbps average transfer and if server allows only 5Tb/month your project should not require more than 15Mbps average transfer.
On high traffic events, servers could handle spikes up to double or more of this average bandwidth only if network load is low at that moment. Reliable services should be planned based on provider network capacity.