Compiling libjingle on OSX 10.8 was a pain. This repo contains all the changes from the official build that make compiling on Mac a breeze.
Voice (and video) chat is a feature we’ve wanted in Psi for a long time. However, implementing voice/video chat is not straightforward, and this is partly due to all of the new concepts that have to be introduced into the application in order to make it happen. Cameras, microphones, codecs, and RTP are all just very foreign to Psi.
The code necessary to handle a multimedia “stack” could easily exceed the amount of code in our own IM stack! Fortunately, there are libraries out there to handle the task. In 2004, we considered RealNetworks’.
For receiving content, we found this framework to be quite mature. However, for transmitting content, it was clearly not designed for end-user desktop applications and was even GPL-incompatible in that scenario. Quite some work went into the Psi+Helix effort, but ultimately it was abandoned.
Libjingle For Mac Pro
In 2005, we considered Google’s. We managed to get voice chat working with it, but the code never went beyond the experimental stage. This was due to the limited platform support at the time (Linux audio only at first, though Remko managed to add in Mac audio support) and libjingle’s lack of maintenance. Libjingle works as a black box, handling not only multimedia but also the Jingle protocol. Unfortunately, this meant that as the Jingle protocol changed, libjingle fell out of spec.
We also felt it was a tad intrusive for libjingle to be handling XMPP stuff. In 2006, we investigated. This framework has proved to be the most interesting thus far, for a number of reasons.
Unlike the limited libjingle black-box, GStreamer is a comprehensive and flexible multimedia framework, similar in nature to Helix. It goes further than Helix though, by offering a better API for transmitting, by being GPL-compatible throughout, and by being easier to extend. I feel confident we can accomplish everything we need with GStreamer. Today there is, however it lacks input and transmission facilities at this time. We will keep an eye on it for the future.
There is also, which integrates with GStreamer. We may make use of Farsight, depending on our needs.
In any case, I’ve started a new “wrapper” project called PsiMedia. The goal of PsiMedia is to offer an API designed for the purpose of adding voice and video chat to Psi or a Psi-like client. All of the details the client does not care about will be hidden behind PsiMedia.
It solves only the multimedia aspects, and not Jingle/XMPP, as I consider these two problems to be orthogonal. Currently PsiMedia wraps GStreamer, but the requirements are abstract enough that the client should not care what is actually wrapped. PsiMedia can be considered the successor of the old “Media” module I started in 2004, to wrap Helix. Below are the requirements of the system. What PsiMedia does:. Tell you what audio and video devices are available. Tell you what audio/video modes are possible (codecs, sample rates, video resolutions, etc).
Libjingle For Macbook Pro
Allow you to specify your desired modes, and the modes of the remote party, to arrive at a list if common modes. Capture audio/video and encode as RTP into a series of QByteArrays. Accept QByteArrays containing RTP, and playback any audio/video contained within. Play back video in a QWidget.
Libjingle For Mac Download
Allow displaying video currently being captured (preview of yourself). Volume controls. Ability to separate the backend into a plugin, so that no new compile-time dependencies are introduced to Psi.
(RTP, by the way, is a standard packet format for transporting multimedia data in real-time. It is used by SIP, Jingle, and, well, everybody.) What PsiMedia does not do:. Use the network. Implement Jingle or anything XMPP. Expose anything more than very basic multimedia details.
There are no filters, no pipelines, etc. In short, PsiMedia should make implementing voice/video chat in Psi straightforward. Tag malwarebytes for mac.
I've been following all the buzz over the weekend in the blogosphere about the release. You can check it out for yourself using.
I'm very pleased with all the excitement about what this technology can enable. However, when I read I realized that many of our users may not be clear on exactly what this means in terms of new capabilities and scenarios being enabled for Google Talk. So, here are just a few of the possible scenarios that we hope will be enabled as a result of the release of Libjingle. I'm sure the developer community will come up with other innovations that we have not even considered. Voice calls between other PC IM/VOIP clients such as Gaim, Adium, Psi, etc. And Google Talk.
Since we launched the beta of Google Talk in August, many users (especially those using Linux and Mac) have been connecting to the service using one of many. However, up to now, these clients have only been able to send and receive IMs, but not make voice calls. With the release of Libjingle, the makers of these clients will be able to add the ability to make and receive calls between their clients and Google Talk. In fact, they'll be able to support calls between their clients and ANY OTHER clients that support Libjingle.
Voice calls between mobile devices and Google Talk! More and more WiFi-enabled mobile devices (including WiFi-enabled mobile phones) are coming on the market. Imagine being away from your PC and still being able to have the same free high-quality calling experience you have today between PCs using Google Talk. I expect to see a lot of innovation here in 2006. Peer-to-peer applications. Did you know that nearly all calls made between Google Talk users happen directly between their two computers and don't go through servers? This type of peer-to-peer scenario is best whenever large amounts of data are being transferred in real-time between users (such as voice calls, video conferencing, file sharing, etc.).
Libjingle includes the components necessary for developers to easily build a variety of peer-to-peer communication, collaboration, and sharing applications. We can't wait to see what the community builds.
There are many other uses for Libjingle as well, and hopefully this will shed some light on what users can expect to see as a result of this release. Mike Jazayeri Product Manager.