hugo/content/development/voice-and-video/_index.md

Fri, 30 Aug 2024 19:33:36 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Fri, 30 Aug 2024 19:33:36 -0500
changeset 543
4ab2b8637540
parent 453
153d57959204
permissions
-rw-r--r--

Update the plugins page for the new process

This includes defining the process and providing a template for a new issue to
add new plugins. I did go through and audit `No IRC /WHO` so we had at least
one validated entry.

Testing Done:
Ran `npm run hugo:server` locally and verified the page worked and checked the new links.

Bugs closed: NEST-53

Reviewed at https://reviews.imfreedom.org/r/3450/

---
title: Voice and Video
date: 2019-03-17T23:11:17.000Z
replaces:
  - developer.pidgin.im/wiki/vv
lastmod: 2019-08-23T02:53:18.000Z
---

## Voice and Video

Voice and video in libPurple is being worked on using
[​Farstream](https://www.freedesktop.org/wiki/Software/Farstream/) (formerly
Farsight). 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 Farstream plugins.

Farstream 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 "default" development branch.
XMPP/GTalk/Gmail is working, but not complete. None of the other protocols have
had much work done.

### Protocol Specific Information

#### 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
Farstream transmitter plugin.

Voice and video support for XMPP/GTalk was worked on for a
[Summer of Code project]({{< ref "development/gsoc/#previous-years" >}})
in the year 2008.

#### Sametime

Sametime seems to support at least voice chat according to
[​this IBM document](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)

### Building with Voice and Video

Please be familiar with compiling and installing code from source. Please also
submit any bugs you find to our issue tracking platform, checkout our
[Contributing page]({{< ref
"development/contributing#how-to-submit-a-bug-report" >}}) for more details.

Make sure you are using the latest release of 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. gst-plugins-base is also
required for the gstreamer-interfaces-0.10 interface. Some distros call it
libgstreamer-plugins-base0.10-dev. If everything in order, the configure script
should output this line:

> Build with voice and video.... yes

For help with building, see
[Building Pidgin]({{< ref "development/building" >}}). 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](https://www.freedesktop.org/software/farstream/apidoc/farstream/farstream-libs-FsCodec.html#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

- [​http://www.freedesktop.org/wiki/Software/Farstream/](http://www.freedesktop.org/wiki/Software/Farstream/)
- [​http://code.google.com/apis/talk/libjingle/index.html](http://code.google.com/apis/talk/libjingle/index.html)
- [​http://trac.adium.im/wiki/VoiceAndVideo](http://trac.adium.im/wiki/VoiceAndVideo)
- [​http://trac.adium.im/wiki/PidginVV](http://trac.adium.im/wiki/PidginVV)

mercurial