What do I need to host Chatroulette Clone?
Here is what you need:
- A standard web server that supports PHP and MySQL.
That’s all. Chatroulette Clone does not require any proprietary server technology.
What exactly do I get?
The Chatroulette Clone solution comprises the following components:
- The frontend, an Adobe Flash application hosted on your own web server. Every standard web server will do. No special requirements. You will get a pre-compiled version which you can simply upload to your web server for a Quick Start installation.
- You get our sample implementation of lightweight backend PHP scripts that provide the handling of users and their current status. We deliver the set of PHP scripts that get you started out of the box. If you prefer Ruby on Rails or any other service side technology, it should be easy for you to port our scripts.
- You will get the full source code (no libraries, no binaries, the complete and full source code!) for the Chatroulette Clone – including the full source code to implement your own licensing mechanism – along with a few helper classes that allow you to customize the UI to your needs or even replace ours with a completely new one.
- We deliver the sources as a ready-to-import Flash Builder 4 project and as plain source files.
- You will get a sample, abstract ActionScript 3 class which you can use to implement your own user manager.
Chatroulette Clone works with every standard web server, that supports PHP and MySQL. There are no additional requirements. No special server software is required. In essence, Chatroulette Clone works with every web hosting service out there, as PHP and MySQL pretty much are a standard stack these days.
You do not need Adobe’s Flash Media Server.
Does the license grant me to resell an entire website or my business?
Our license is extremely fair. With the exception of reselling our source code, you can do whatever you want with the package.
You are building an extremely popular site and plan to sell the entire web site including the Chatroulette part to somebody else? Feel free to do so.
You want to sell your entire company to somebody else? The only think we kindly ask for is to let us know the name and email address of the new license owner. We will then transfer the license to its new owner at no additional cost.
How can I localize Chatroulette Clone or change the dialog messages?
All textual elements of the user interface (from button labels to messages displayed in the console) are configurable in a single XML file and can be changed at runtime. All you need is a text editor. Make your changes, upload the language file to your web server. Chatroulette Clone will pick up all changes at runtime.
The file is located inside the locales folder and named en.xml in the default settings.
There is no need to recompile the Flash application for these UI changes.
Can I get rid of the “Get this script” ad at the bottom?
Sure. It’s a single runtime setting in the en.xml text file. You can either completely hide the ad, or change the text and hyperlink to anything you want.
I don’t want the copyright dialog to pop up on launch?
The copyright dialog is only displayed, when there is a problem with the license you are using. Please check your license configuration. If everything is configured according to the documentation, you should never see the copyright note.
Do I need special tools to build the application?
The package we ship contains a pre-compiled version (in technology parlance, an Adobe Flash movie, or an SWF file).
All settings and UI texts are contained within external XML files and can be changed without any need for a recompile. You can quick start with a text editor and an FTP client within minutes! It is simply, easy and straightforward.
Our license grants you the right to entirely modify the user interface. You could come up with a completely different look that goes way beyond modifying text messages and button labels. We give you the full user interface source code!
If you plan these sort of advanced customization, we highly recommend getting Adobe Flash Builder 4. While you can also compile new Chatroulette Clone versions with the free command line tools available from Adobe, we do not officially support this. Entirely replacing the user interface with your own requires to recompile the Flash application.
How about the bandwidth?
Chatroulette Clone leverages the latest Flash peer-to-peer technology.
The audio and video data, which makes for the major part of the data exchanged, is transmitted directly between the two Flash Player instances involved in a chat session.
The data is not routed through either your servers, nor through Adobe’s servers. It is a straight, direct connection between the two chat partners. Consequently, it does not consume any of your servers uplink/downlink bandwidth.
Only the Flash application itself and the lightweight PHP scripts are served from your own web server. As the Flash application is a one-time download that gets cached by your users’ browsers, it does not consume any of your bandwidth while it is running and on subsequent loads.
What exactly is the “lightweight PHP backend”?
In order to find other users waiting for a chat session, the application does a series of database operations. This logic has been implemented with PHP and MySQL.
It is perfectly fine if you chose to switch to your own PHP scripts, integrate with any existing solution you might have, or redo the functionality with Ruby on Rails or any other server side technology which fits your needs.
Our implementation is meant to be a sample implementation for you to start with. Though it works perfectly fine even for large installations, you might want to fine tune it to your needs. For example, we’ve only done basic stuff to prevent SQL injection and other possible attacks.
If you’re planning a large, commercial scale web site with Chatroulette Clone you might want to have a PHP expert look into the scripts and tune them.
What is Adobe Stratus?
Real-Time Media Flow Protocol (RTMFP) is a new communications protocol introduced in Flash Player 10. One of its major differentiators from Real-Time Messaging Protocol (RTMP), which is based on the Transmission Control Protocol (TCP) and exclusively used in previous versions of Flash Player, is that RTMFP is built on User Datagram Protocol (UDP). While TCP provides reliable data delivery (well applicable for file transfer, e-mail, etc.), it does not provide any end-to-end delay guarantees.
Reliable data transmission in TCP is achieved by re-transmission of lost data, which introduces latency. Because minimizing end-to-end delay is one of the most important goals in real-time communications (a few hundred milliseconds’ delay may render a conversation unusable), TCP is not well suited for this purpose. Transmission error resilience and recovery form an integral part of most advanced audio and video compression techniques—such as Speex audio and H.264 video codec, both available in Flash Player 10. Reliable delivery provided by TCP is therefore not needed.
As a result, UDP, which provides an efficient and rapid data delivery, is popularly used in real-time collaboration applications where minimizing end-to-end delay is of paramount importance. Another advantage of UDP over TCP that it enables end-to-end peering—that is, direct data transmission between two clients located behind network address translators (NATs). When compared to RTMP, RTMFP provides the following advantages for real-time communications:
- Low latency: Since RTMFP is built on top of UDP, it provides minimal latency for real-time communications. It is important to note that RTMFP provides both reliable and unreliable service. When sending data between two Flash Player instances (for example, using the NetStream.send() method), reliable data transmission is used. When sending Speex audio between two Flash Player instances, unreliable delivery is used, providing the smallest possible latency.
- End-to-end media delivery: Media is sent directly between two Flash Player instances without routing through a central relay server. When compared to RTMP, where all data is sent through Flash Media Server, RTMFP not only further reduces end-to-end delay, but also eliminates costs associated with a central data relay, thus lending itself to extremely scalable deployments.
- Data prioritization: Audio is transmitted with higher priority than video and non-time critical data (such as instant message, etc.). This can significantly enhance user experience over a bandwidth constrained communications channel. All of these features represent tremendous benefits for real-time communications, providing a significantly greater user experience than is achievable with earlier versions of Flash Player.
Every Flash Player instance involved into a CamCarousel session holds a connection to Adobe’s Stratus service. The service is free. All you need is to get a free API key and paste it into the CamCarousel.mxml file.
What do HTTP Security #2048 errors mean?
Flash Player is subject to a security model, which does not allow the player to access scripts hosted under a different domain, than the one the Flash application has been loaded from.
If the backend PHP scripts are not hosted under the same domain as the Flash application itself, you will see a security exception.
Flash Player is extremely strict as to this policy. If, for example, your Chatroulette Clone is available at http://www.yourdomain.com, and the URL for the PHP scripts is http://yourdomain.com/path/script.php (without the “www“), you will get an exception.
For Flash Player www.yourdomain.com is not equal to yourdomain.com.
There are ways to work around these cross-domain policies. This Adobe knowledge base article explains how you can allow Flash Player to request scripts from other domains. Our package contains a ready-to-go cross-domain policy file which you can upload to the server where the backend scripts are hosted.
If the Chatroulette Clone Flash application and the PHP scripts are hosted under the same domain, no restrictions apply.
The package includes a crossdomain policy file that you readily drop into your web servers root, to eliminate all possible cross domain related issues.
Do my scripts work?
For Chatroulette Clone to work, it is essential that the PHP backend (or your own code replacing ours) works fine.
We’ve seen customers where the scripts where uploaded correctly, but the MySQL database connection was not set up. Others forgot to create the “users” table as outlined in the documentation.
A quick check to make sure that the database connection is working is to manually call the test script with your browser. Chatroulette Clone will tell you whether your database connection works and the required table has been created correctly.
To run the test script, open:
http://www.yourdomain.com/<path to scripts>/checkScripts.php
with your browser.
Can you install Chatroulette Clone for me?
If you’ve purchased the remote installation option, we will contact you shortly to discuss the details. We do need your account credentials and the URL to log into your web service providers control panel on your behalf. We also do need FTP access. Finally you need to sign up for a free Adobe Stratus API Key and forward it to us.
Please give us up to 24 hours as we are currently experiencing an extremely high demand.
Can you help me customize the solution? Do you offer Professional Services?
Yes. We are absolutely open for Professional Services inquiries. Feel free to contact us at any time.
Recent Comments