This presentation talks about our experience with implementing Videocalling functionality via your web browser in a Ruby on Rails, JavaScript, Flash and Red5 web stack.
3. Stack:
• Ruby on rails
• JS
• Flash
– capturing video and streaming to Red5
• Red5
– open source media server
• publishing, playing, recording streams
8. Let’s stream
• publish to Red5:
– ns = new NetStream(getConnection());
– ns.attachCamera(getCamera());
– ns.attachAudio(getMicrophone());
– ns.publish(name); #string of your desire
• play from Red5:
– ns.play(name); #string
– video.attachNetStream(ns);
• google knows details
9. fail: Complicated stack
• they say think twice
• well you better think a lot
– chances are you must change code in JS,F,Red5
10. fail: Corporate environment
• I am an admin and my job is to block ports
– HTTP Tunneling out-of-box support
• connect 1935 port (default)
• connect 80 if it fails
• timeout problem if port blocked
– shotgun method
11. fail: Persistence
• Non-persistent approach
• Flash:
– is anybody calling me?
– is anybody calling me?
– is anybody calling me? yup
• is he still calling?
• is he still calling?
• wrong