VideoWhisper Software Requirements
This type of premium web based functionality (live video streaming) involves special software and hardware requirements compared to regular site functionality.
This advanced software requires 2 types of hosting (compulsory):
- a HTTP Web Server hosting plan for the regular website features and
- a RTMP Flash Media Server hosting plan (usually on a different special server) for video streaming and other instant communication required between chat clients
Resources and development on a streaming server are more expensive and that's a reason why the software was designed to use a standard web server for the rest of the features (like file sharing, user login, session monitoring, text chat logs) making it more affordable to run and easier to integrate with most sites already built.
This architecture makes it 100% web based and very easy to run for your website users, without software downloads and installations, no matter what type of computer they are using. Read here more details about the platform benefits.
- Same / Different Physical Server
Solutions that don't involve script access to recordings / videos on rtmp server can be hosted on different physical web and rtmp servers. This works in most situations for Live Streaming, Video Conference.
When website scripts / integration requires access to video recordings/archives for management, conversion to HTML5 formats, both web and rtmp parts must be hosted on same physical server so web scripts have access to videos saved by rtmp. This is available with our managed plans.
- Turnkey Managed Hosting
We provide managed plans and dedicated servers that include everything required to run this software (web + rtmp) with full functionality and at optimum performance. Our staff can also assist with transferring existing sites from other providers.
Server Software (Hosting Requirements)
- HTTP Web Hosting
Recommended: CPanel based web hosting with suPHP enabled.
- PHP (The PHP implementation is simple so it can be migrated to other scripting languages like ASP or JSP).
Provided php sample scripts require these default php settings:
- error_reporting E_ALL ^ E_NOTICE
- short_open_tag On
- safe mode Off (if using older php, as fuction is deprecated in PHP 5.3 and removed in PHP 5.4)
- open_basedir restrictions should allow accessing CMS configuration and libraries (depending on integration)
- scripts require write permissions on certain files and folders (to store snapshots, chat logs, sessions) depending on edition
- MySQL (not required for the php only stand alone simple integration, strict mode must be disabled)
- FFMPEG (required only for video conversions and transcoding, with Flash and HTML5 codecs including H264, NellyMoser, Speex, FAAC). FFMPEG2THEORA is also required on some integrations.
- RTMP Flash Media Server Hosting
VideoWhisper rtmp application is developed and supported for these types servers:
- Flash Media Interactive Server
- Red5 - Open Source Server
- Wowza Media Server
- RTMFP hosting (optional, for enabling P2P connectivity)
Get a free rtmfp address by registering with Adobe Cirrus .
- Clean Domain Nameservers
If you use a name server optimiser (ex. CloudFlare) certain protocols, ports and services may not work by default, including RTMP. You can use rtmp addresses based on IP to fix this.
Additionally, such optimisers may alter output or force cache for scripts that communicate with flash applications, which can break parameters and functionality.
For most integrations that involve video recording and archiving, HTTP and RTMP must be hosted on same physical server so web scripts have access to the video files saved by rtmp server for management and conversion.
The hardware configuration depends very much on the number of website members and visitors and also on website settings and target, so we cannot give you exact requirements.
The most important feature for video streaming is rtmp server connectivity.
We recommend servers with dedicated 100Mbps or 1000Mbps ports in well connected data centers (that have gigabyte connections with several providers).
A dedicated 100Mbps connection can host in theory a maximum of 200 streams at 512kbps each.
For good performance and reliability average use should be maintained under 35-60% of maximum capacity.
Number of users depends on communication logic.
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 under 512kbps simultaneously, servers with 1000Mbps connection and 4-8 Gb RAM are required. It's important to have the server in a reputable data center with many connections so all your users can connect to the server at good speed, from their different networks and providers.
For transcoding, video conversion CPU is also important. A video card with good GPU can greatly increase video processing power.
VPS vs Dedicated Server
A VPS can be used for live video streaming project development and testing but are 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.
No Budget Hosting
Budget hosting usually means hundreds of sites or dozens of VPS hosted on same server. That's how budget shared plans start from few dollars when a server costs hundreds.
All accounts on a server share same physical resources (disk, memory, cpu, connection) and often when others use the server there is latency or huge slow down because of resource bottle necks.
On regular http requests it's not an issue if host does not respond for 1-3s but for rtmp live streaming it's a big issue because of dropped frames and live latency.
Live video streaming and interactions it's a premium feature that usually requires a dedicated server.
Regular budget hosting does not provide rtmp because of high resource demands and also VPS often have performance issues (latency, frame loss) because of other clients locking the physical resources and causing stalls.
That's why we recommend plans designed for such use or dedicated hosting on 1000Mbps connected servers (so 10x more users can be connected at same time compared to regular providers).
Due to high connection and processing allocation demanded for such shared plans, server costs are divided among much fewer clients and prices are higher based on this ratio.
Also such service requires increased costs related to rtmp servers (administration and special licensing for certain rtmp server types).
Considering these, costs for live streaming hosting can be 10x higher than for budget hosting.
RTMP Flash Media Server Options
RTMP hosting uses servers intensely so regular providers will not allow this with shared web hosting plans. You can usually host rtmp with your regular host if you have a VPS or Dedicated Server. Otherwise you'll need a special rtmp hosting plan in addition to your regular web hosting.
VideoWhisper RTMP side applications are developed and supported in versions for these flash media servers:
- Flash Media Interactive Server
This is the native server developed by Adobe for use with flash. You can buy the Flash Media Interactive Server software from Adobe and install it on your web server, or you can buy FMIS hosting from a company specialized on this platform. Unless your business is very big and you have your own servers and server staff, we recommend ordering a FMIS hosting plan from a FMIS hosting provider.
- Red5 Open Source Server
Red5 is an open source Flash RTMP server written in Java. It is the free solution to host RTMP if you have your own dedicated/semi-dedicated server or VPS.
Latest version is recommended. VideoWhisper was tested with Red5 versions 0.7, 0.8, 0.9 and 1.0+. See Red5 installation services and managed premium red5 hosting. These services include setup and management of the rtmp application.
Latest Red5 can be downloaded for free from http://code.google.com/p/red5/ . It includes binary auto installers and also java source. There are various online tutorials for setting up red5 on multiple linux flavors like for Centos , Ubuntu .
Red5 versions we tested are not recommended for recordings (create broken flv files in some situations).
- Wowza Streaming Engine / Media Server
High-performance, extensible and a fully interactive Flash® media server. Buy Wowza Streaming Engine / Media Server or download the free developer edition limited to 10 connections by registering on their website.
See Wowza Media Server hosting plans required for intense streaming sites.
Disclaimer: RTMP servers are not developed, supported or documented by VideoWhisper.com . Documentation is available from their official websites listed above. VideoWhisper staff can assist with installation of rtmp servers (on request, for additional fees), limited to existing experience with these.
For production sites with intense streaming where service stability is a priority or recording/archiving/transcoding is needed, we recommend Wowza Media Server hosting. Managed turnkey dedicated servers are also available.
If you just need live streaming bandwidth, with no recording/archiving or transcoding, we recommend Red5 Hosting.
Server on VPS / Dedicated Server / Localhost development server
Red5 is an open source flash media server being continuously developed.
The procedure for installing and configuring this server varies depending operating system and flavor. There are multiple tutorials and topics online about Red5 installation but most of these are outdated and reference old versions.
VideoWhisper provides this service: Latest Red5 installation on VPS & Dedicated Servers (Linux / Windows).
When installing yourself you should check latest version available on http://code.google.com/p/red5/ . Installers are already available for some OS versions including Windows and Red5 final versions / release candidates.There are some requirements for installing Red5 like latest JDK.
To install latest
you need to download and compile latest java build.
Red5 Centos Linux Installation
Unbuntu Linux Installation
Basically, before running these solutions with Red5 on a server, you need to:
- install latest JDK from http://java.sun.com/javase/downloads/index.jsp
- install latest stable Red5 from http://code.google.com/p/red5/
- install latest VideoWhisper RTMP application as explained on http://www.videowhisper.com/?p=RTMP+Applications
Client Software (User Requirements)
- Web browser with latest flash plugin . To get latest flash player plugin version, download latest flash player from http://get.adobe.com/flashplayer/ . For developers and site owners we recommend flash player debugger versions.
Most mobile devices don't allow such plugins and direct access to camera from browser, so special mobile video solutions are required.
- Decent internet connection (for streaming bandwidth requirements). Because a regular video stream uses 50kb/s (400kbps) or more at least a stable 1Mbps symmetric connection would be required to participate in a 2 way video chat session (upload a stream and download a stream). For ADSL a very good connection is required to stream video due to upload restrictions - read more about ADSL broadcasting issues.
- Firewall settings (if a firewall is enabled): Clients need to be able to make connections over these ports:
- 1935 TCP = RTMP/E : Flash Player and AIR clients make RTMP connections to Flash Media Server over port 1935 over TCP.
- 1935 UDP = RTMFP : Flash Player and AIR clients make RTMFP connections to Flash Media Server over port 1935 over UDP.
- 19350-65535 UDP = RTMFP
: Clients connect to the server over 1935 and the server redirects the client to a port between 19350 and 65535. Allow inbound UDP traffic on 1935 and outbound traffic on ports 19350 - 65535.