Skip to content

An ultra basic Flex RTMFP video chat client that uses Adobe Cirrus as a rendezvous point. Could be pointed at Adobe Media Server just as easily

License

Notifications You must be signed in to change notification settings

maxwells/flex-rtmfp-video-chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ultra Basic Flex RTMFP Video Chat

Purpose

To serve as a working reference or starting point for anyone interested in creating a multiuser RTMFP audio/video client based on the Cirrus rendezvous service. Could be easily repurposed to work with Adobe Media Server.

Example

Here

Basic Explanation

Leverages RTMFP NetGroups to publish a stream and listen to when a new stream has been published by another user.

Assume: Users A, B, and C are connected to the Cirrus service with the same developer key and group id.

  • When User A publishes a stream, Users B and C subscribe to that stream automatically.
  • When User A stops publishing, the event triggers Users B and C to drop the corresponding NetStream instance
Real Implementation
  • Should be backed up with RTMP(E)(T) failover solution, because the implicit UDP Hole Punching cannot deal with all firewall and networking issues. Any production system would require both an RTMFP rendezvous service as well as an RTMP(E)(T) failback, as well as some means of alerting all clients that the failback should take place. It's easy enough with the Adobe Media Server, which provides both. More thought would have to go into a joint OpenRTMFP & Red5/Wowza solution. Good description in "Failover in case of firewall blocking" section
  • May require implemention of access control with NetStream.onPeerConnect() or AMS-side restriction
  • Should implement a real workflow (eg. requiring users to be connected before trying to publish, providing a disconnect or unpublish function)
  • Should prevent users from publishing same stream names (for this example, verification of uniqueness of username)
  • Should spend some time tweaking the NetStream multicastWindowDuration as well as microphone and camera bitrates to achieve optimal latency/quality balance.
Building

a) Flash Builder

-- or --

b) Ant

NB: Be sure to point FLEX_HOME in build.properties at your Flex SDK

$ ant
License

This project rocks and uses MIT-LICENSE. Copyright 2013 - Max Lahey

About

An ultra basic Flex RTMFP video chat client that uses Adobe Cirrus as a rendezvous point. Could be pointed at Adobe Media Server just as easily

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published