Back to article
Conducting Virtual Meetings With Linux, Part II
Setting Up Your Audio Streaming System With Integrated Chat
June 10, 2002
In Part 1 of "Conducting Virtual Meetings with Linux", I showed how you can join a Linux User Group meeting as a "virtual" guest by way of streaming audio and an IRC session. This article discusses how the host or server side of a meeting is handled. The technology might be applicable if you want to present on-line seminars, offer distance learning, host corporate meetings or as an added audience-focused dimension to your Internet radio talk shows.
Streaming audio and chat/IRC are a great middle ground alternative to the hassle of attending a distant meeting in-person and the high cost of current video conferencing solutions. The IRC portion promotes interaction between the online participants and can be a great way to exchange ideas. The host and client sides are fairly easy to implement, although there are a lot of steps needed to make it work. Once you've tried it out, you'll wonder why you didn't use the technology sooner.
My prototype system ran on my home network behind an SMC Barricade router. You can run your entire broadcast/chat operation from one machine if you want! The whole streaming/IRC system was light enough to run on my old 300 Mhz PII laptop, although my daughters thought the 18 second delay on the audio was pretty funny. The audio encoder showed almost 40% cpu usage under Top but it didn't crash the machine, which says a lot about how robust Linux really is. The setup could work fine for a small traveling road show operation, where you might set up behind a firewall and notify the participants of the local IP (such as 192.168.2.15 address) of your machine. For a production web attached system, you should consider a different setup.
A production audio streaming/IRC operation would probably split up the tasks, doing the audio encoding and host chatting on your local machine(s) with the audio broadcast streaming and IRC servers running on a separate web/DNS connected machine. The server machine would have the static IPs and URLs needed for people to find your web site, audio stream and chat session. A production server machine could also start and stop the required daemons via cron jobs and would definitely have system admin practices and appropriate security measures in place. Don't forget to integrate the streaming and IRC URLs into your web site. To host a meeting, you would simply plug in your laptop (to the network) then stream and chat through the production server machine(s).
My audio streaming/chat system consisted of a PII 300 MHz clone laptop with 128 MB of memory, 4 GB drive, CD and 14.1 inch XGA screen. An ESS 1968 audio chip took care of the sound input and Trident 9397 video chip with 4 MB video memory handled the graphics. Network duties were controlled by a 3Com PCMCIA 10/100 ethernet card. The only other hardware I really needed was a router and a client machine.
The laptop had SuSE Linux 7.3 Professional (2.4.10 Kernel) running in a 2.1 GB partition. There was about 100 MB of swap and two other partitions of 1.2 GB and 600 MB. I used FVWM2 for my window manager.
For listening and chatting with myself (demo and testing), I recruited the old 486-66 with 16 Mb of RAM, Opti sound card, NE2000 ISA Ethernet card and 800x600 Viewsonic 5e monitor. Now you have a use for all those old machines collecting dust in the back room. Set up 3 or 4 clients all at once and let me know how the audio delay sounds across the machines.