How Gmail Video Chat Works ?

Recently 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

 

 

 

11 Comments , , , , , , , , , , , , ,

11 Responses to “How Gmail Video Chat Works ?”

  1. Alex November 18, 2008 at 7:23 pm #

    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.

  2. TheAnand November 19, 2008 at 4:49 am #

    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?

  3. Chetan November 30, 2008 at 4:50 pm #

    Google Video chat is still not fully developed system, it gives many errors while in use.

  4. web startups January 16, 2009 at 5:31 pm #

    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?

  5. ashlee March 7, 2009 at 8:21 am #

    this rocks

  6. Sachin May 7, 2009 at 7:21 pm #

    Really happy to see your site tops the search “google video chat protocol” in google. :) You guys have grown great in web space.

  7. kanwarjeet yadav June 18, 2010 at 5:54 pm #

    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

  8. abhinav October 9, 2010 at 1:35 pm #

    sir i want to develop video chat server using php/flash etc… can u please elobrate above process or can u send me a prototype code as i m still not been able to understand fully how the chat server works

  9. Bisal November 17, 2010 at 4:35 pm #

    Are gmail video chats saved on some server?

  10. ram August 23, 2011 at 11:09 pm #

    Hi -I need a clear information, someone please help me out.
    suppose X & Y are chatting using Gmail private video chat and
    Z knows X password and logs in parallel-lly from other system

    Questions :
    1) Can Z view the video chatting of X & y? If so
    2) How can Z view the video chat ?
    3) Will X or Y be notified that their video is being interrupted or someone is seeing them ?
    4) Any possibilities where i can view and hear X & Y video & Conversations

    Reason : I am badly getting cheated by my fiance . someone please help me before its too late to fall into a trap called marriage. I need a proof to bring out her hidden affairs. please someone help me.

  11. b November 23, 2011 at 3:32 pm #

    I downloaded http://dl.google.com/googletalk/googletalkplugin/GoogleVoiceAndVideoSetup.exe. But after completion of set up, it says “UNKNOWN INSTALLER ERROR”.

    How can I overcome this and install video chat ?

    Also when I try to install video chat from chat mode in gmail, error says – this.disabled% 3Dtrue;installApp(); in status bar of browser.

    Pl help.

Leave a Reply

More in webworld (15 of 63 articles)


Many people already blogged about this article. I made the same experiment. It works. If you want to find say ...