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.

WebRTC Videochat and Conferencing Support

WebRTC is a new real time video communication technology. Support is not available on all browsers and devices but is increasing. The real issue in present is scalability.

Scalability

Because WebRTC utilizes peering networks, there still has to be a nearby node to help distribute the stream to other local hosts. Peering across a global network can be incredibly difficult.

Conventional out-of-the-box WebRTC solutions require each client to establish and maintain separate connections with every other participant in a complicated network where the bandwidth load increases exponentially as each additional participant is added.

Broadcasters need server grade connections to live stream to multiple users and using a regular home ADSL connection (that has has higher download and bigger upload) causes real issues.

While testing with 2 or few users works fine in demos and small load trials, WebRTC limits often show in production mode: becomes unusable when many users are watching same HD stream and broadcaster connection is regular.

All startups hope their streaming applications will become a huge success, with thousands of viewers watching. A performer streaming a full hd video at 8 Mbps directly to 100 viewers in various world locations would require up to 800Mbps upload connection.
Most ADSL connections have under 100Mbps upload allowing streaming such video to a maximum of 12 users.

A solution is to use a relay server for streaming reliable from and to WebRTC clients as implemented with the BroadcastLiveVideo solution.

Regular Browser Support and Reliability of Implementation

WebRTC is not currently supported by default PC browsers on older systems (Internet Explorer for Windows and Safari for older Mac OS) or generally older versions used by many users.
This creates a real issue for organisation networks with standard software distributions, older OS setups, studios and internet caffes with restrictive administrative software or plain newbie users that use their computers with default setup.
WebRTC is not currently supported on default mobile browsers either,  excepting latest Android.
While WebRTC is popular with technology geeks and enthusiasts, many regular users are not able to access such implementation or can use only limited functionality.

WebRTC standards are early in the process of ratification.  Browsers supporting WebRTC are not fully transparent with updates which can result in issues with the implementation of WebRTC.

For more details see these reference sites:

[table]

PC Browser;Share;WebRTC;RTMP

Internet Explorer + Edge (Windows default);9%;No*;Yes

Safari (MacOS default);13%; No; Yes

Chrome;57%;Yes;Yes

Firefox; 9%;Yes*;Yes

Opera;5%;Yes;Yes

[/table]

*Mozilla reports Navigator.getUserMedia as Deprecated and MediaDevices.getUserMedia as Experimental .
*IE does not support WebRTC at all but there are plans to introduce some support in Edge browser .

PC Browser market share shows WebRTC setup will not work for a lot of PC users due to browser support. Many of these users with default browsers are beginners or restricted by workplace policies from using a different browsers and are unlikely to change their browser.
On mobiles WebRTC support is even lower while RTMP is supported both on Android and iOS with apps.
RTMP streams can be published to iOS and Android browsers as HLS.

WebRTC vs RTMP

Currently, WebRTC is still in development discussion for its complete implementation whereas RTMP is already available for any Real Time Communication project’s deployments.

WebRTC could be a solution for the future and RTMP is a solution for the present that could be required for a while.

WebRTC could loose the current battle for its standardisation and interoperability, with many implementation proposals over the top web browsers or with a divergent market approach from Google, Microsoft, Apple.

RTMP is reliably implemented on all PC browsers with Flash plugin and as stand alone applications for mobile and desktop OS.

Relayed (RTMP Server) vs P2P (WebRTC or Flash RTMFP)

Depending on ISP and network setup an important share of users can’t connect and stream directly to each other at all. Some experience huge latency (several seconds) and massive frame loss over P2P.

Test your P2P network capabilities with this  RTMFP Connectivity checker .

Using a relay server is most reliable solution for video communications.

Some providers say only 8% of their users need RTMP but that could be biased considering they emphasise WebRTC / RTMFP sessions that don’t require streaming server costs.
Usually most home internet connections don’t go well with P2P unless users are in same or very close network. Server grade connections are usually required for reliable P2P on this technology.

Security Concerns with Using Browsers that Support WebRTC

In January 2015, TorrentFreak reported that browsers supporting WebRTC suffer from a serious security flaw that compromises the security of VPN-tunnels, by allowing the true IP address of the user to be read. The IP address read requests are not visible in the browsers developer console, and they are not blocked by common ad blocking/privacy plugins (enabling online tracking by advertisers and other entities despite precautions).

If your browser is WebRTC compliant test this IP detection tool.

End of Flash

Flash was planned to be discontinued a decade ago but alternatives took a long time and browsers continued support as that was the only reliable method to provide certain features as broadcasting webcam.

Currently browsers and developers plan to end support for Flash at the end of 2020.

Flash support will be discontinued by browsers when other technologies become available and reliable for features previously provided by Flash only (streaming live video from webcam).