onStream – The Broadcasting Machine

onStream – The Broadcasting Machine is the name of my latest flash project. Slogan says: “Broadcast LIVE video to your friends or the whole world from a computer or mobile. Watch other people broadcasting their webcamera, conferences, shows or movies.” With this flash application you can broadcast your webcamera, tv card, desktop or movies (read the section “What can be broadcasted?”). With different broadcasting settings you can broadcast to unlimited number of viewers as well as make private videochats. Based on your connection speed, choose appropriate quality for your broadcasts from 320×160 px webcamera resolution with 11kHz sound sampling up to high definition broadcasts.

The application is located on http://onstream.yoz.sk and there also exist a facebook application http://apps.facebook.com/onstream/. You can also publish and run the application from facebook newsfeed stream.

Read the rest of this entry »

Quick tip: Ports Required For RTMFP

In order to be able to use P2P communication within flash apps, you need to have opened UDP ports in range 1024..65535. First, to connect stratus server, you need UDP ports 1935 and 10000..10100, then the communication between peers (Flash Players and AIR) goes through random UDP port in range 1024..65535. In detail:

UDP port 1935 and ports 10000+ are used by the Stratus servers. the UDP ports used on client computers could be any port from 1024..65535.

in order to just connect to the Stratus servers, you must be able to send and receive UDP packets with any UDP port on your client computer (source port for outgoing, destination port for incoming) and port 1935 and ports 10000+ on the Stratus server computers (destination port for outgoing, source port for incoming).

*just* connecting to Stratus isn’t useful, though, since all it can do is help you to connect directly to other clients running Flash Player or AIR. other client computers, just like your client computer, will be using a random UDP port in the range 1024..65535. therefore, in order to communicate P2P with other client computers using RTMFP, you must do one of the two following things:

1) allow all UDP with a source or destination port from 1024..65535.

2) have a “stateful firewall” that allows bidirectional UDP connections to and from any UDP ports in the range 1024 through 65535 inclusive as long as a first packet is sent outbound through the firewall. this is commonly called “allowing outbound UDP”. sending the first packet outbound through your firewall to allow return packets is commonly called “UDP hole punching”. searching on these terms should give you more information.

in general, a firewall that blocks UDP will block RTMFP communication.

Read more about PORT NUMBER of RTMFP.

P2P Multicast in Flash Player 10!

P2PMulticast communication flow

P2PMulticast communication flow

P2P multicast in Flash Player 10, yeap… ready? This method creates n:n model of p2p communicators. So broadcasting data goes from broadcaster directly to all receivers. All users are broadcasters and receivers. There is no multilevel logic in it, so keep in mind the upload bandwidth of broadcaster. Feel free to use it in your flash applications, just hit me when you decide.

Core classes and files:

Read the rest of this entry »

P2P Multicast in new Flash Player 10.1

p2p multicast

p2p multicast

Flash Player 10.1 announced important addition to the RTMFP protocol. Finally! Just imagine all these online p2p tv-s, flash “torrents” etc… Ubercool 🙂 More info about flash player 10.1 here.

Groups and Multicast. Groups rapidly simplify the process of connecting peers together. You just define which group you want to join and don’t have to maintain particular connections between other peers. This is making your code so clean by using classes GroupSpecifier (define group), NetGroup (management and statistics) + new features in NetStream (multicast streaming). With end-to-end connections in FP 10.0 before you had to connect to each peer separately, which was quite difficult mechanism to maintain more than 2 peer communication. (Tom Krcha)

If you are looking for P2P Multicast in Flash Player 10, see here.