Search code examples
flashaudiorandomchatroulette-wheel-selection

Architecture of chatroulette


Could somebody explain to me the architecture behind chatroulette? I was thinking about a similar project that would only implement Audio support (for starters). Is the best way to set this up a flash server? If so, how should I go about getting into flash, will I need flex 4? I have some beginner experience with c++, c# and java but I have never developed anything for the web.

I was also wondering how the randomizer matches up the participants. How would you code something like this.

Im obviously pretty clueless here and I'd greatly appreciate some advice regarding this problem -- I don't expect copy and paste solutions. It would just be nice to hear how you guys would tackle this problem.

Thank you very much


Solution

  • AFAIK ChatRoulette uses a new set of API's in Flash Player 10.1 codenamed Stratus, which allows for peer-to-peer connections between Flash Player instances.

    So instead of the video and audio streams being pushed up to a special streaming server, like FMS or Red5 unique ID's are shared and peers connect directly to each other.

    This has great possibilities to reduce server load for live streaming of events where 1 connection to a server stream can be shared between near neighbours.

    Can you imagine the hosting bills for something like ChatRoulette if Stratus wasn't pushing the streams directly between the peers?!

    If you're interested in knowing more check out Stratus' section on Adobe lads: http://labs.adobe.com/technologies/stratus/