RTMP spec available. What does it mean?
June 23rd, 2009
The backbone protocol for realtime Flash applications - Adobe RTMP (Real-time messaging protocol) has been finally published.
There has been lot of articles about RTMP Specification in last week. Still I wanted to write down this thoughts, which might be for someone obvious, but for others good inspiration.
Personally - I think - this is huge step in realtime/streaming/collaboration world of Flash.
Disclaimer: This is my personal opinion based on my previous work experience during last 5 years (IPTV, online streaming business). This is not Adobe statement.
My ideas:
1. Connect 3rd party software with Flash Media Server
- having RTMP open means, that you can build your own connector that delivers stream to FMS and these streams are then redistributed by FMS to Flash Player
List of available RTMP servers
June 22nd, 2009
Adobe:
- Flash Media Server http://www.adobe.com/products/flashmediaserver/
- LiveCycle DS http://www.adobe.com/products/livecycle/dataservices/
Non-Adobe:
- Red5 http://osflash.org/red5 (Java)
- Wowza http://www.wowzamedia.com/ (Java)
- WebOrb http://www.themidnightcoders.com/products.html (.NET, Java)
- ErlyVideo http://erlyvideo.org/ (Erlang)
- RubyIzumi http://code.google.com/p/rubyizumi/ (Ruby)
- RTMPD http://www.rtmpd.com/ (C++)
- Cygnal http://wiki.gnashdev.org/Cygnal (C++)
- RTMPy http://rtmpy.org/wiki/RTMP (Python)
- RTMPlite http://code.google.com/p/rtmplite/ (Python)
- MammothServer (OpenFMS) http://mammothserver.org/ (C++)
(Disclaimer: Unfortunately I can’t write, which non-Adobe servers I have tried, stress-tested, load-tested, etc. But be very careful - some of these servers are still under heavy development and make sure the performance and stability is enough for you. Stress test every server, before you run your project. Again hopefully, with official RTMP specification, this will get better and I am big fan of it!)
Custom Messaging with AFCS (CollectionNode)
June 22nd, 2009
This videotutorial explains how to use Custom Messaging using CollectionNode with Adobe Flash Collaboration Service. This is basically one of the most important realtime messaging features in AFCS.
Demo application: http://flashrealtime.com/tuts/custom-messaging-afcs/demo
Videotutorial:http://flashrealtime.com/tuts/custom-messaging-afcs.html
Source: http://flashrealtime.com/tuts/custom-messaging-afcs/source.zip
Private messaging tip:
See recipientID of MessageItem Class. You can get all recipientIDs from session.userManager.userCollection.
P2P with Adobe Flash Collaboration Service
June 3rd, 2009
Maybe you are asking, what is the main difference between core Flash P2P done by yourself and P2P implementation in AFCS.
Note:
- RMTPS refers to TCP hub-and-spoke only centralized communication via FMS CDN of AFCS
- RTMFP refers to UDP P2P (peer-to-peer) connections between N clients (not only 2), but is also suitable for hub-and-spoke
FAQ:
1. How can I setup AFCS to use P2P?
First you need to use afcs.swc library from Player10 folder and then you need to change protocol of AdobeHSAuthenticator -> auth.protocol=”rtmfp”; (instead of default auth.protocol=”rtmps”;) AFCS will try to establish connection using rtmfp. If connection cannot be established using RTMFP, it falls back to RTMPS.