Videocalls via web

  • 215 views
Uploaded on

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.

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.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
215
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
2
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Videocalls via web@pavolko@bonetics
  • 2. Goal
  • 3. Stack:• Ruby on rails• JS• Flash– capturing video and streaming to Red5• Red5– open source media server• publishing, playing, recording streams
  • 4. Architecture overviewRed5PersistentconnFlashRoRJavaScript FlashRoRJavaScriptUser AUser B... Persistentconn
  • 5. JS - Flash
  • 6. Flash – Red5Red5Flashred5-web.xmlgetConnection().call("signalisation.someMethod",args...);ServiceUtils.invokeOnConnection(conn,"callSomething",new Object[] { "value"});
  • 7. Red5• extend MultiThreadedApplicationAdapter• provides all you need from scratch– connect– publish stream– play stream– disconnect
  • 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
  • 12. Rooms concept• red5url.com/room1– share resources within room1– acts as standalone Red5 instanceR1uuuuR2u uuu
  • 13. Thanks• we are hiring hq@bonetics.com