[Adium-devl] Fwd: Adium Voice & Video Work
Alan Humpherys
alangh at adiumx.com
Fri Apr 20 05:03:23 UTC 2007
So sorry I missed the meeting tonight! Brain cramp - I forgot the
meeting and went to see "Meet the Robinsons" with the wife and
kids... Made me laugh out loud, I recommend it....
Here is a brief update of where we are at with the Voice and Video
work...
We have had 2 additional people join the working group (Welcome to
Sam and Justin) and are in the process of dividing the workload among
the participants. Over the course of the next week, we will be
meeting (via voice chat of course) to discuss the overall
architecture of how this will go together and then getting the work
assignments made to get this started.
I have attached an excerpt of the latest update I sent to the
development team. And if you are interested in participating, please
let me know.
Alan
______
Alan Humpherys
Adium Development Team
alangh at adiumx.com
http://www.adiumx.com
Begin forwarded message:
> VV Team,
>
> Thanks again for all of your willingness to participate in this
> Voice and Video Effort.
>
> As I have been studying this arena over the past few years, I
> believe that there are several key areas that we need to assign and
> start developing.
>
> The Goal
> My goal over this summer is to come up with a design that
> implements working Voice and Video over two different types of
> services. By making this work over two services, the hope is that
> we will be able to create a design which is expandable to other
> service types.
>
> Design Areas
> Data Capture - The intent is to use QuickTime for the Voice and
> Video data capture mechanism, which will allow us to leverage the
> existing hardware drivers built by apple and other third parties
> (like macam)
>
> Data Display - A QuickTime based User interface which will display
> the Video traffic as well as a voice speaker level graphical
> display of received data together with controls for
> - Start
> - Stop (Pause/Mute)
> - Picture in Picture (to see own camera)
> - Full Screen Display
>
> Data Encoding - Assembly of a suite of CODECs which will be used
> within QuickTime for encoding and decoding the data stream as it
> enters and leaves the transport. The intent is to leverage the
> work done by the Perian team to deliver QuickTime compatible
> CODECS. In addition to the existing CODECs there, we need to make
> sure that the commonly used CODECs are available, this includes:
>
> G.711a
> G.711u
> GSM
> SPEEX
>
> The effort here will include:
>
> - Definition of which CODECs are needed (and not already in
> QuickTime)
> - Obtaining Open Source libraries for the CODECs
> - Porting the CODECs to MacOS X and providing a QuickTime
> compatible interface.
>
> (See http://www.voip-info.org/wiki-codecs for an overview)
>
> Preferences - Ability to control preferences for voice and video
> functions. This includes such elements as:
> - Enable/Disable
> - Camera Selection
> - Microphone Selection
> - Speaker Selection
> - Test Mode
> - Camera Settings (Brightness, Contrast)
> - Microphone Volume
> - Ring Mode (Which speakers "Ring")
> - Privacy Settings
>
> Data Transport - The intent is to follow the lead of the libpurple
> team and use the GStreamer library as the mechanism for data
> transport. This includes it's support for SIP and RTP. Besides
> the work to port this to MacOS X, there is also the interesting
> challenge of developing an interface between GStreamer and
> QuickTime for data capture, encoding, and display. (Since those
> are all functions handled by GStreamer on Linux, but will use
> QuickTime in Adium.)
>
> Audio Sound Quality - Focus upon creation of optimal audio quality
> with the following goals:
>
> - Echo Cancellation
> - Comfort Noise (low levels of white noise to let the user know a
> connection is there)
> - Automatic Gain Control (to handle varying voice levels on either
> end of the conversation)
>
> While not required for the initial deployment, this is the type of
> feature which can make or break an audio application. Most of the
> competition (GTalk, Skype, GizmoProject) uses GlobalIP Sound
> libraries for this (http://www.globalipsound.com/solutions/
> solutions_Speech.php) but our budget does not allow for this.
>
> There is some hope that we can use the SPEEX echo cancellation
> library (http://www.speex.org) but there may be other open source
> implementations which would be equally good to include)
>
> NAT Traversal - While this arena is very service specific (since it
> requires both ends of the conversation to cooperate), it would be
> very useful to have libraries which are usable by the service
> implementations to be able to easily use some of the common
> mechanisms for successful NAT traversal. This includes
> implementations of:
>
> - SNATMAP
> - STUN
> - ICE
> - UPnP Gateway
>
> Or at least elements of those features which can be used by a
> service implementation.
>
> Service Implementation
> Support two very different service implementations to ensure that
> the system works with varied requirements.
>
> iChat (AIM) Voice Video Service - at the libpurple layer. (Alan
> will own this)
>
> IAX (Asterisk) Voice Soft Phone Service - VoIP protocol for soft
> phones (Justin will own this)
>
> Session Establishment & Status User Interface
> Work to enable the display of voice/video capabilities and status
> within the buddy list, as well as a mechanism for establishing the
> communication (That could be as simple as a "ringing" dialog with
> an "allow/deny" set of controls, up to a full soft-phone dialer for
> IAX)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://adium.im/pipermail/devel_adium.im/attachments/20070419/1ab80fa9/attachment-0001.html>
More information about the devel
mailing list