Trac is being migrated to new services! Issues can be found in our new YouTrack instance and WIKI pages can be found on our website.

Version 18 (modified by Robby, 14 years ago) (diff)

adium.im

Voice and Video

Voice and video in libPurple is being worked on using Farsight2. There are a few parts to this implementation. Firstly, basic API support needs to be added to libPurple. Then Pidgin and Finch need to be able to initiate, participate in, and terminate the voice and video sessions. After these two requirements are met, each protocol will require both the signaling to be implemented (such as SIP or Jingle) and the proper Farsight2 plugins.

Farsight2 has rawudp, iceudp, and multicast transmitter plugins and an MSN webcam plugin. Basic voice and video support for libPurple, Pidgin, and Finch (voice support only) have been added to the im.pidgin.pidgin development branch. XMPP/GTalk/Gmail is working, but not complete. None of the other protocols have had much work done.

Protocol Specific Information

MSN:

MSN has several different voice and video types:

  • MSN Audio Conference (WLM 2009)
  • MSN Video Conference (WLM 2009. Includes audio. Allows the h263 codec)
  • MSN Audio Conference (pre-WLM 2009. Sometimes works with WLM2009)
  • MSN Video Conference (pre-WLM 2009. Sometimes works with WLM2009. Includes audio. Only uses the wmv3 codec for which there is no open source encoder/GStreamer element)
  • MSN Webcam

A Farsight2 plugin for MSN Webcam has been released.

http://imfreedom.org/wiki/index.php/MSN:AV has more information about the protocol.

Oscar (AIM, iChat, ICQ):

All Oscar protocols use RTP and SIP.

XMPP/GTalk:

XMPP, GTalk, and Gmail use RTP. XMPP uses Jingle. GTalk and Gmail use their own flavor of Jingle. XMPP uses rawudp and XMPP, GTalk, and Gmail use the libnice Farsight2 transmitter plugin.

Voice and video support for XMPP/GTalk was worked on for a Summer of Code project

Yahoo:

Yahoo voice uses straight SIP. It binds to the SIP server upon login and sends INVITEs as necessary.

Yahoo webcam uses the JPEG2000 codec with proprietary transport and signalling. The old Farsight Yahoo plugin will need to be ported to the new Farsight2 API.

Tencent QQ:

This is a placeholder for information regarding QQ voice and video. Recently, Tencent opened an English version of their homepage http://www.imqq.com/ For developers who need to read in English, a more English version of QQ is the South African version http://www.qq.co.za/ This version also supports voice chat and webcam.

Sametime

Sametime seems to support at least voice chat http://publib.boulder.ibm.com/infocenter/sametime/v8r0/index.jsp?topic=/com.ibm.help.sametime.standard.doc/st_adm_avserv_aboutvoicechat_r.html

Gadu-gadu

This is a placeholder for information regarding GG voice An announcement that might be of interest: http://www.finanznachrichten.de/nachrichten-2008-10/12104971-global-ip-solutions-ab-gadu-gadu-launches-new-version-of-instant-messenger-with-excellent-voice-powered-by-gips-004.htm

Tips for Testers:

Please be familiar with compiling and installing code from source. Please also submit any bugs you find to Trac (TipsForBugReports).

Make sure you are using the latest revision of im.pidgin.pidgin.vv before asking questions and submitting bug reports. It might be a good idea to review UsingPidginMonotone. You'll want to use "im.pidgin.pidgin.vv" instead of "im.pidgin.pidgin".

Farsight 2 0.0.9 and libNice 0.0.7 are the minimum versions required, but the newest versions you can get are best. Make sure to check Farsight2's README and make sure you have all of the dependencies for it. If everything in order, the configure script should output this line:

Build with voice and video.... yes

For help with building, see Installing Pidgin. Please carefully read through that section and any extra information for the distribution you're using.

Codec Configuration

If a certain codec isn't working for you, you need to create an "fs-codec.conf" file in your purple config directory. See this for the specification: fs-codec-list-from-keyfile

So, for example, if you want to disable the MPV codec you'd put this in the fs-codec.conf file:

[video/mpv]
id=-1

Links:

All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!