Pidgin with Video finally for Windows

I just did another long desired feature: Video conferences support for Windows. There already were attempts to do it, but they were not finished nor even published – this one is already in Pidgin’s tree, so it’s a matter of time to get them released (just wait for 3.0.0). If you don’t want to wait, you can always grab a development build.

Video conference with Pidgin on Windows

I did a lot of tweaks both in Pidgin and its dependencies (GStreamer and related), but finally everything looks working and stable. The hard part, unlike in the previous Eion’s attempt, was the camera capture plugins for GStreamer – DirectShow and WinKS. The first one is not buildable in newer gst-plugins-bad releases (at least, for mingw), the second is buggy. I’ve chosen to work with WinKS: the main problem was, it had broken support for different capture resolutions (I guess, old cameras had no support for it, so they were not affected). Many hours of debugging resulted in a simple patch, that makes the resolution fixed. The other one existed in Pidgin itself: there were no possibility to select camera, because winks used different method of device enumeration, than Pidgin supported.

On the occasion of testing VV on Windows, I’ve came up with a simple idea: some users may do not want to show their faces in video conferences, but they could want to see others. So, I implemented a new, virtual device (both for Linux and Windows): Disabled. Depending on user’s choice, it displays black screen or random noise, like on TV. Simple, but useful.

Disabled camera preview

Testing on Windows platform showed some bugs, that were hardly noticeable before: hangs on video testing, displaying a video output in a separate window. Beyond them, I also fixed some memleaks and did other tiny fixes.

The source code is available directly from the hg repository and openSUSE Build Service project (for dependencies). If you just want to test the VV feature on Windows, you can just grab the offline installer.

As always, I’m waiting for any feedback, bug reports and comments.

15 thoughts on “Pidgin with Video finally for Windows

  1. This is great, thank you very much. I installed this version on windows 7, it installed successfully however the pidgin program itself wouldn’t run. I can see it running in the Task Manager but I don’t see the interface. I know I probably should wait for the new release, but I thought it wouldn’t hurt to tell.
    I am currently using Jitsi on windows.
    Thanks again.

  2. on my computer there are two audio devices. Audigy 2 and Realtek HD. It is a XP X64 SP2. Using Realtek audio Pidgin crash as soon as some sound is played. That doesnt happends with Audigy 2. If i receive audio call form Gtalk program, i can clearly hear the audio but the others cant hear me. If the others use this special pidgin version, we only obtain hard noise. Some time we can hear the voice into the noise, but nothing more.

    Please help.

  3. The package is missing libssp-01.dll. I grabbed the package from the current stable pidgin and the program runs for me.

  4. Love the fact that you are working on this.

    I’ll echo what another tester reported. My buddy and me installed your build on Win 7 x64 laptops. He has built in audio/video in the Lenovo T430s. I also have an external Logitiech C920 web cam. Video works great, but the sound quality is very poor. We hear “PSSHHHH” SILENCE “PSSSSSHHH”. In that noise, we can hear each other, but it is difficult.

    Is there any type of debug logging you need from us to t-shoot this?

    Thanks

    Craig

    • I’m aware of this bug. I think it might help switching to gstreamer 1.0, but it requires completing many tasks. In fact, I’m in the middle of doing it, but I stuck on win32 webkitgtk 2.x build (it’s a requirement for gst1.0).

      Recently, someone has fixed bugs I was stuck with, so I could bring it back to my desk. Then, I might release the long-awaited testing build.

  5. Wonderful to see that someone’s seriously grasping the multiplatform V/V nettle – at long last!

    Any plans to look at V/V over SIP? ( https://developer.pidgin.im/ticket/9754 ) I’m certain a coherent, transparent convergence of multi-IM and soft-phone messaging systems would be a huge leap forward in utility for a great many people.

    Also, the “Disabled” setting you’ve created sounds useful… but a blank black screen seems rather uncouth… and feeding your companions static sounds even worse! Impersonal AND a bandwidth hog to boot! Perhaps a purpose made SVG static “avatar”, upsampled IM “avatar” or previous camera capture could be designated to the task?

  6. Question: how is “disable video on windows” actually implemented in application source code, for both 2.x and 3.x? Did you make it natural like “if the build system did not detect video support then disable video” or artificial like “if Windows then disable video”?

    The former case would allow for a better environment providing and enabling video, for example MSYS2 includes gstreamer 1.0 and farstream 0.2. In fact, I was able to build vanilla pidgin 2.x with MSYS2 without need for –disable-vv, even though the feature seems not enabled at all.

    Aren’t voice/video libraries platform-agnostic enough for you not having need to write customized code for Windows over the time? How much of video code is such specific “video-on-windows” code? I did not test the pidgin 3.x package included in MSYS2 but I wonder “how much work” would be required for actually enabling the feature in 2.x.

Leave a Reply

Your email address will not be published. Required fields are marked *