Services “Practical open source design and delivery.”

Video conferencing is seen as a basic feature of a rapidly growing range of consumer electronics. Collabora provides Farstream as our solution to enable rapid development and deployment of audio and video conferencing in your product.

What is Farstream

Collabora is the creators and maintainers of Farstream (formerly Farsight), an audio and video conferencing framework. Combined with our messaging solution Telepathy, Farstream provides a comprehensive solution for doing audio and video conferencing. With Farstream, product developers can easily create multi-platform, multi-user audio/video conference solutions that supports a wide range of codecs and protocols. Simply put, Farstream is an advanced VoIP/video streaming engine capable of dealing with all known audio/video conferencing protocols. Farstream is built on top of the marketing leading GStreamer framework which ensures that you can hardware enable one integrated media framework for your device and all your multimedia needs will be addressed in one go.

Farstream uses GStreamer for all its media streaming and processing needs, making it easy to integrate Farstream in your existing GStreamer applications, because Farstream plugins are GStreamer plugins. Farstream's generic API have made it possible to write plugins for a wide range of different streaming protocols and more can easily be added.

How can Farstream advance your product?

Not a day goes by without a new product being announced which features support for audio and video conferencing. Yet it is a hard technology to get right, with challenges such as firewalls, wide range of protocols and codecs and hardware enablement to overcome. Farstream greatly reduce the challenge, with a well tested and widely deployed solution. Integrated with best of breed open source technologies like Telepathy for messaging, GStreamer for low level media processing and libnice for firewall and NAT travesal, Farsight will quickly get you results. Being a library it has already been integrated with a wide range of user interfaces, including ones based on GTK+, Qt and HTML5.

How can Collabora help you with Farstream?

Our experienced engineers can quickly help you incorporate Farstream into your product. Being the main developers behind Farstream and its underlaying technologies like GStreamer and libnice, combined with a very long track record of embedded development and hardware codecs, we are uniquely positioned to help enable Farstream on your device.

Development history

Collabora co-founder Philippe Kalaf began the Farstream project in 2005. He was aiming to create a simple-to-use framework that implemented multiple audio/video streaming protocols.

Most of the initial work on Farstream focused on the protocol agnostic API and the RTP plugin. Over the years, the RTP plugin has matured into a very complete RTP stack included support for all advanced features such as multi-user conferencing, RTCP enabled lip-sync, on-the-fly codec switching and many others. The Farstream team then started working on integrating libnice's ICE stack which provides for near 95% NAT traversal capabilities. Alternatively, Farstream's RTP plugin can use raw UDP or multicast UDP as well as the Google and MSN flavors of ICE that are currently deployed.

Linux desktop chat clients such as Empathy, aMSN, and Pidgin integrate Farstream for peer-to-peer audio and video conferencing, ensuring widespread testing and deployment.

More information

Farstream's design is explained in much more technical detail on the wiki. Whoever wants to get involved can, at http://farsight.freedesktop.org/wiki/Farsight2Design.

Developer biography

Olivier Crête

Olivier Crête

Olivier Crête has degrees in software engineering, including one from École Polytechnique de Montréal. He lives in Montréal, Canada, and is the lead developer and designer for the Farstream audio/video conferencing framework. In his work for Collabora, he concentrates mainly on Farstream.