MSN Messenger in Linux with webcam support

Images of the Empire


Many Webcam owners use MSN Messenger by Microsoft for video messaging. Linux users can run Amsn to connect eye to eye.

By Kristian Kißling

www.sxc.hu

You probably have a few friends who own webcams and use MSN Messenger. Keen supporters of Linux will definitely want to avoid opening an account with their friendly neighborhood empire - but if the worst comes to the worst, there may be no alternative.

Microsoft's new policy of openness towards other operating systems is characterized by the fact that the MSN developers regularly introduce changes to the proprietary Messenger protocol, leaving Kopete and Gaim users standing out in the rain.

The Amsn tool reacts to these changes in a flexible way, keeping the doors to the MSN network firmly open. But the really interesting thing about this tool is that, in contrast to Kopete and Gaim, it can even use the MSN Messenger webcam function. This said, the website does not exactly push this feature: the most recent update occurred some time in the spring of 2004. However, if you use the CVS version, which has been under continuous development, you can leverage the webcam functionality. Note that this version is not fully mature; if it were, it would probably have made its way into the official release by now.

You can download Amsn from the project webpage at SourceForge [1]. To build the tool, you need the usual C and C ++ compilers, along with the tcl-devel, tk-devel, and xorg-x11-devel packages. (Note that your distribution might use slightly different names for these packages.) If you download the bleeding edge version from the CVS, make sure that the download completes - in our testing, the download was interrupted a few times, and we had to restart.

Installing Amsn

You can install Amsn from source code using the typical three-part ./configure, make, make install approach.

First Encounter

After completing the install, the files will be in the /usr/share/amsn directory. To test your webcam, change the directory to /usr/share/amsn/utils/linux/capture and run ./test.tcl to test your webcam.

This should give you a window with three controls. Select Choose device to identify your camera correctly. You will find a list of webcam devices supported by Amsn on the left of the window, and this list includes some TV cards. Select a device in the list to display the device on the right-hand side of the screen below Channel (this is the channel the webcam uses to send images). After selecting the desired channel, click OK to finish. If everything works out, you should now see a picture with the three controls (Figure 1).

Figure 1: After correctly identifying your webcam, the window should show the live image. The next step involves some fine-tuning to improve image quality.

Image Quality

As the image quality produced by low-budget webcams often leaves much to be desired, you can now fine tune the image. The Camera Settings button gives you four options that help you improve the image: Brightness, Contrast, Hue, and Colour (Figure 2). If your Internet connection is not very fast, you might prefer to reduce the image size via Switch Resolution; this should boost performance. Amsn does not seem to support full-screen mode. When you are satisfied with the results, close the window, press [Alt+F2] to pop-up a command line, and type amsn to launch the Messenger.

Figure 2: "Camera Settings" lets you fine tune the image produced by your camera. Of course, you can always overdo the color and contrast settings.

Welcome to the Machine

If you want to use Amsn, there really is no alternative to registering with MSN. Use your email account and password to log on to Amsn - an additional TLS file downloads automatically at this juncture. You can then decide whether to log on manually each time you use the service, or if you prefer to store your credentials permanently Create new profile. This removes the need to supply your credentials each time you start MSN; just clicking the link to the profile is all it takes. The login handshake takes awhile to complete. After it has, the main Amsn window appears (Figure 3), showing your contacts; of course, this assumes you already have some contacts. As contacts are stored centrally on the MSN server, there is no danger of you losing them if you uninstall Amsn and reinstall on a different machine.

Figure 3: The Amsn contacts list and chat window.

Contacts

If you do not have any contacts, you will need to tell MSN who you want to chat with; that is, you need to create a new contact. To do so, select Add contact in the Tools menu, and type an email address for the contact in the dialog that appears. If your contact is in the MSN database, and happens to be online right now, he or she will be prompted to accept your invitation to chat, and required to confirm before the communication channel is opened. The contact then appears in the main Amsn window. Double clicking on the entry opens the Chat window. As is typical of most Instant Messengers, the window is divided into two panes. Use the lower pane to type your messages, which are displayed in the top pane when you dispatch them. You may see an image of the person you are chatting with bottom right.

Other Settings

The icons give you a few more options. The two icons on the left let you change the font for Amsn, and the icons on the right let you type smileys.

The Actions menu has a few more interactive items. You can send your chat buddy an email or a file, or invite someone else to join in with the fun. If you decide to send a file, make sure that it is not overly large, as Instant Messengers are not designed for exchanging enormous lumps of data.

The two menu entries below this refer to the webcam. You can either invite your chat buddy to view the image from your webcam, or you can ask him or her to let you access their webcam. Your chat buddy just needs to click to reply to your offer or request, and the image starts pouring in after just a few seconds.

Recording and Audio

Theoretically, you should be able to record the complete webcam session, but this recording option did not work in our lab. Amsn also provides a method for establishing an audio connection to your chat buddy based on the Linphone telephony tool. The Amsn website provides some tips on Linphone audio [2], although they make it clear that this method is not supported and warn that, if you try this technique, you'd better not "spam your frustrations onto the forums." You might prefer to use Skype or Kphone instead.

Skins and Plugins

The Amsn community of Linux and Mac users has designed a number of skins and plugins for the Messenger; again, these resources are available on the website. For example, to install the anti-msn skin, first download the anti-msn skin zip file, and unpack by giving the unzip anti-msn.zip command. Then become root, and copy the complete directory to the matching Amsn directory:

cp -r anti-msn/ /usr/share/amsn/skins

Installing a plugin follows the same approach, but this time the target directory will be plugins rather than skins.

To set up a new skin, go back to the main Amsn window, and click on Select skin in the Tools menu; then click OK to confirm your selection. You can use the same menu to set up plugins; again you need to select and load plugins individually. Most of the plugins and features we tested had a few minor issues. The anti-msn skin restored the original icons when we dragged the mouse over them, and the Music plugin completely failed to display track names.

D.I.Y.

The Amsn client settings mainly govern the appearance and contact management. Let's look at a few of these client settings now. Most people add images to their accounts, but the default images are not particularly thrilling. To add your own image, select My Status and then Change image display in the aMSN. The Browse button lets you explore the filesystem tree and look for a more suitable image.

To configure more Amsn client settings, go to the Amsn configuration menu (Tools | Preferences). Add the name of the program that you want to use to handle incoming information in the Other tab. For example, if you want to be able to open a link someone sends you, you can use this to specify a browser in which to open the link. In the line next to Browser, add firefox $url to tell Firefox to automatically open any links you are sent.

While you are in there, you could specify Konqueror as your file manager, for example, and specify your favorite email client.

Future

The CVS version of Amsn may not be mature, but the Amsn messenger client is still one of the best tools for webcam support on the Linux market. Besides this, Amsn is still under continual development. New features appear regularly - an implementation of an audio feature might be a useful addition. Although Amsn has a headstart over other messenger applications with regard to webcam support, Gaim, Kopete, and Kphone are already working hard on their own solutions. Ir remains to be seen if they will support communication with MSN users. But on the other hand, it might not be a bad idea for MSN users to move to more open solutions some time in the future.

Firewall Issues

Amsn offers no protection against typical firewall issues. Whereas in-house communications worked fine in our lab, external connections could receive but not transmit images. The Amsn website [3] advises users to forward TCP and UDP ports 6890-6900 in this case; but this does assume that you have access to the router. Check your router manual for more information on port forwarding (this typically involves changing some settings in a web-based administrative interface). If you need Amsn support at the office, you may need to ask your network administrator. Alternatively, select a port that your firewall does not block via the Tools Preferences menu, Advanced tab. You can try to use port 80 (HTTP), if your web server runs on port 80, or use a Socks5 proxy to establish the connection.

INFO
[1] Amsn website:http://amsn.sourceforge.net/
[2] Using Linphone with Amsn:http://amsn.sourceforge.net/wiki/tiki-index.php?page=Installing+Plugins+and+Skins#linphone
[3] Firewall issues:http://amsn.sourceforge.net/wiki/tiki-index.php?page=Webcam+In+aMSN