When it comes to streaming live video and audio in the browser, Adobe’s Real Time Media Protocol (RTMP) is usually how it’s done. RTMP is a TCP-based (slower but packet transmission is guaranteed) protocol that allows communication between a client and a server. So in a video conferencing application, a user publishes their camera and microphone streams to the server and then the server broadcasts those streams back out to the other connected users. Unfortunately, there are more cons than pros using this method for transmitting live video and audio.
First of all, it’s expensive! The server must manage a total of n^2 incoming and outgoing streams, where n is the number of users in the conference publishing and streaming audio/video. A typical combined video and audio stream rate is between 24kb/s and 48kb/s and Amazon’s EC2 charges about a dime per GB transferred. It really starts to add up.
Secondly, there is usually quite a bit of audio and video delay depending on your location. Let’s say you’re video conferencing with your next door neighbor in Seattle but you’re using a server in New York. Even though you live next door to each other, you’ll notice a significant delay when talking because you have to wait an entire round trip across the United States for an update.
This is where Adobe’s new Real Time Media Flow Protocol (RTMFP) saves the day. RTMFP is a UDP-based (faster but packet transmission is NOT guaranteed) protocol that enables direct peer to peer communication between Flash clients without having to travel through a server. This solves both of the problems above! The server no longer has to send or receive streams and because clients send audio/video directly to each other, there is minimal delay. In addition, you can send higher quality video and audio to each other because you don’t have to worry about overloading the server. It’s a HUGE win.
You must be wondering, “what’s the catch?” The catch is, you and your conference mates must have Flash 10 installed. Do it! It’s definitely worth it.
We integrated RTMFP into Meetcast last week and it’s such a big difference: Less delay and higher quality audio and video. If you’re still using Flash 9 and don’t want to upgrade, that’s fine because we still support RTMP as a fallback. Flash 10 clients will additionally publish an RTMP stream if there are Flash 9 clients in the conference.
Hopefully you guys will notice a big improvement with RTMFP and please let us know if you have any problems or concerns.
(Images created by Brian Lesser)

9 Comments
Never fear, RTMFP is here! | Meetcast Blog
May 27. 2009
[...] posted here: Never fear, RTMFP is here! | Meetca­… Share and [...]
Bill Bartmann
Sep 02. 2009
Cool site, love the info.
C++ RTMP Server
Oct 21. 2009
Take a look here
http://www.rtmpd.com/wiki/rtmfp
hosterzru
Nov 27. 2009
Очень давно искал подобный материал и вот наконец нащёл. Особая благодарность автору
linuxgid
Dec 01. 2009
Давно искал подобный материал, перерыл весь инет, а тут на тебе. Благодарю автора
ladysman
Dec 02. 2009
Another great list. I’m meeting more friendly and helpful bloggers each week. Great Idea
cauna
Dec 03. 2009
Прочитал всё это и задумался над смыслом жизни. Неужели так бывает?
devchushka
Dec 23. 2009
Да уж. Как говорится в устоявшемся выражении:
Мы придумали тонировать машины, чтобы спокойно ковыряться в носу.
Deriksims
Jan 04. 2010
Да уж. По поводу коментариев - навеяла на меня где-то услышанная фраза:
Именно мы производим пакеты для мусора, которые рвутся еще в коридорах.
Leave a reply