I would like to use Flash's RTMFP peer protocol but I am wondering if its worth developing for a mainstream audience? From what I understand it uses UDP and unless firewalls/routers of the users are configured correctly it becomes useless.
Is there a solution to this problem?
I actually was about to post a question on this matter, it being if someone managed to get it working. Recently I started experimenting with flash P2P and so far it only seems to be working locally, connecting 2 browser flash clients on the same pc. As soon as the data has to travel over the internet (and thus has to deal with firewalls) connections will always fail, though both clients are able to fetch a Stratus peer ID.
For what I have been reading, apps that use P2P/RTMFP also implement a fallback to RTMP, losing the P2P benefits like not having server bandwidth and UDP speed.
Decompiling the chatroulette client, I also found it uses the RTMP fallback which makes me wonder how many sessions on chatroulette are actual P2P sessions.
So apparently yes, it seems like a useless protocol..
Really curious if someone managed to proof that otherwise.
There is this: https://github.com/OpenRTMFP/Cumulus
Not sure if you guys have seen it.
I have spoken with the developer and apparently its 95% complete.
I do not know about the failback to RTMP. Which strikes me as the whole thing being useless.
Can anyone investigate and comment further?
I'll also add this into the mix:
http://jasmeetsingh.wordpress.com/2009/01/29/my-first-attempt-to-learn-stratus-rtmfp/
The older RTMP operates over TCP port
1935 and falls back to tunneling over
443 and/or 80.
The newer RTMFP uses UDP and requires
the ability to make outbound
connections to 1935 and also higher
port numbers in order to establish a
server connection.
Running over port 443 and 80 UDP
wouldn’t help, the firewall is likely
configured to open up TCP 443 (HTTPS)
and TCP 80 (HTTP) while still blocking
UDP (Outbound UDP to be enabled).
The Flash Player can also be
configured manually to use a TURN
proxy, if you’re able to have the
customer’s IT department install one
to get past the firewall. In Flash
Player 10.0, draft-ietf-behave-turn-08
is supported.
Another edit:
Now looking at this: https://labs.ericsson.com/developer-community/blog/beyond-html5-peer-peer-conversational-video
They were able to do RTP/UDP and in circumstances where both clients were behind NAT.
Most networks use some type of NAT
(Network Address Translation), which
complicates peer-to-peer connections
like this. The ICE (Interactive
Connectivity Establishment; RFC 5245)
procedure allows for establishing
connectivity even in the presence of
NATs, using STUN/TURN servers.
Could this mean that using ICE means RTMFP could be a worthwhile stopgap until it becomes embedded within the browser?
In addition to the Ericsson link, they now have released an adaptation of the Chrome (webkit) browser which inlcudes an experimental version of webRTC and P2P video chat:
https://labs.ericsson.com/apis/web-real-time-communication/
Not really ready for release, but yet quite exciting.
For more information see: http://sites.google.com/site/webrtc/
You will need a central server to manage the handshake required to get a rtmfp udp connection started. without this server, it will always fail if a firewall is in place. This is actually the whole strength of the rtmfp protocol - the ability to traverse firewalls, even if both ends are behind a NAT.
If the openrtmfp /cumulus server is up and running now, it could be a free solution to get you running.
well this is the issue of your network, internet service provider.
when i am using my office WiFi or LAN internet the RTMFP server is not connecting when in same laptop i am using my GSM internet from my cellphone all the servers are connecting, then what i am doing is when i connect the website and all the servers are getting connect from my cellphone internet then i am disconnecting the internet from the cellphone and connecting it to WiFi or LAN internet of my office, ( without refreshing the browser) then all the servers connecting properly and works with no issue.