Tuesday 18th November 2008
by Sajith M.RRecently Gmail Introduced Video Chat. For a platform, to support the video chat you need to install the flash activex plugin.
You can get the plugin from http://mail.google.com/videochat
But when you click on Install voice and video chat button, Some of you see the page which shows
“The installer should complete in seconds.
If you are having trouble with the download, click here. “
But some other see a auto installer page which downloads the Setup.exe file and automatically start installation and prompts you to restart the browser.
Who did this installation without any security problem or violation and we saw a different window which shows the progress bar of the installation. This happens only when , if you have google tool bar installed on your browser , or google desktop, or google gears. For those browsers if the above three is not present, the previous message gets result , and which provide the direct link of the GoogleVoiceAndVideoSetup.exe
It is http://dl.google.com/googletalk/googletalkplugin/GoogleVoiceAndVideoSetup.exe
My Chrome browser does not support automatic installation. Because it is a new guest for my OS and the google additional plugin installation happend before its arrival. So Only Download and manual installation works in that case.
Then what the script exectued behind is
window.google.update.oneclick.install (install via click)
and
location.href = http://dl.google.com/googletalk/googletalkplugin/GoogleVoiceAndVideoSetup.exe (install manually )
Note the first bit of script window.google , A new object for google, which is created as the result of any one of the above mentioned google services. My Chrome Browser (Since he is a new member) does not know about the window.google (he knows the default methods like window.location, window.document)
Thats allabout the installation part.
Now About the Video Chat. Obviously it is a flash based video chat mechanism , but the difference is it uses rtcp and udp protocol for video /audio chatting. Did you check the speed of your video chat ? Amaze rite ?
Then lets check about the video chat request.
When you request someone for a video chat, google ajax posts the following data
req4_jid c2143377409
req4_json ["jc","xyz@gmail.com","c2143377409",[["192.168.1.100","3801","video_rtp","dgE9SG8VMVdQFrYo","gyB0pRw5dkoEtq21","1","udp","0","local","0"]]]
req4_type j
req5_jid c2143377409
req5_json ["jc","xyz@gmail.com","c2143377409",[["116.68.66.85","3784","rtcp","iqV9/3HhhqkjQ4kp","wMSi7BsiOVNtnbJR","0.9","udp","0","stun","0"]]]
req5_type j
Here xyz@gmail.com is the person , to whom you are going to chat. It sends the video_rtp protocol parameters. To know more about rtcp and udp go to: http://www.javvin.com/protocolRTCP.html
Here 192.168.1.100 is my local area ip (LAN) and 116.68.66.85 is my internet IP address and the numbers starts in 3000 are the port number for the protocol
In addition to this, google also sends its usual parameters like mouse movement detector (To know the state of a chatter, idle or busy / normal )
It also sends the cpu speed info to google server to know about the video processing time. And your bandwidth and speed of internet is already there in google’s hand (See my post on Gmail Architecture to know about the 1pix speed calculation method of gmail)
count 3
req0_evtype mousemove
req0_time 263866
req0_type i
req1_focused 1
req1_type cf
req2_jid
req2_json ["mf","mf1.0","1.0.2.0",2,{"caps":7,"cpuSpeed":1664,"cpus":2}]
req2_type j
Gmail sends request for every 3 seconds, and if your counterpart accepts the video chat invitation, your chat iframe loads with a flash object tag .
<embed id=”flash_yj_c_player2″ wmode=”window” pluginspage=”http://www.macromedia.com/go/getflashplayer” type=”application/x-shockwave-flash” seamlesstabbing=”false” allowfullscreen=”true” allowscriptaccess=”sameDomain” bgcolor=”#000000″ flashvars=”dbg=true&ap=player&nm=yj_c_player2&cb=Recv_yj_c_player2&os=windows&plugin=true&” src=”im/media-player.swf?ver=1.1.6″ style=”width: 100%; height: 100%;” name=”yj_c_player2″ quality=”high”/>
And this flash application does the later works. This flash application communicate with google media server with Real Time Protocol and your video chat happens that way. The flash activex plugin support helps in accessing your webcam and mic. Good day , have a nice chat …
Mail Me for more information
Thanks and Regards
Sajith
Tags: architecture, behind, chat, desktop, featured, flash, gear, gmail, google, rtp, toolbar, udp, video, work



hello sir,
i am developing voice and video chat server using asp.net(silverlight).tell me how can i send streaming to a perticualer client whitout using databse.
as according to your blog after getting ip address than what the process after it and how can i get the ip address of client if firewall is on.please tell me whole process,its urgent
Really happy to see your site tops the search “google video chat protocol” in google.
You guys have grown great in web space.
this rocks
I had a lot of problems with this chat, I hope the new version will work better. Google is making a lot of new software now, google chrome, new OS. Whats next?
Google Video chat is still not fully developed system, it gives many errors while in use.
A lot of people are seeing errors with google video chat….is there any other software which has to be installed for this to work? like flash player or something?
Wow, interresting analysis you have done!
I’m trying to run GoogleVoiceAndVideoSetup on linux, using wine. It fails because of missing implementation for Background Intelligent Transfer.
Do you think it is possible to manually install the browser plugin? (I’m running Firefox 3 under wine).
Thanks.