Below is a table showing a quick rundown of my home computer, which runs Linux 99% of the time. I've managed to set it up to handle all kinds of work, especially in the area of software, Internet and graphics development. The system features a good deal of snazzy multimedia products that work amazingly well with Linux, so I wanted to illustrate a good mix of hardware and software that you can use yourself.
Dual Pentium 166MHz
|Kernel compiled for SMP - a good amount of power||2.0.34 & 2.1.125 (SMP)|
|196MB EDO 60NS RAM||Lots of RAM for running everything||n/a|
|5GB Total HD||3GB SCSI, 2GB IDE - provides lots of elbow room||n/a|
|An inexpensive and very compatible CD-R to burn/copy anything||xcdroast|
1GB Jaz (Int. SCSI)
|A Jaz drives provides convenient transport of large material and endless storage||jazip, jaztools|
Imagine 128 Series I 4MB PCI
|One fast PCI 2D graphics card||Accelerated-X v4.1|
2GB 8mm (Int. SCSI)
|Not the fastest, but a high-end tape drive to back everything up||Arkeia, taper|
|TV, composite and SVHS input, radio and frame-grabbing (still frame & video MPEGs)||bttv, bttvgrab, xawtv, kwintv, cRadio, ktuner|
|Fast modem, setup to handle voice mail and faxing||mgetty, mgetty+sendfax, mgetty+voice, kvoice, ksendfax, speaker(spk)|
|Full featured sound card - better than AWE64 - mixes all mutlimedia nicely||playmidi-awe, wmmixer|
|A decent Low resolution, 30-bit scanner for Web work||xvscan, tkscan|
|An awesome printer for printing GIMP work, video frames, etc.||ghostscript v5.10, GIMP v1.1, gv|
Sound is all based around the SoundBlaster. The CD player, an IDE device (because of it's low demand of the system) runs through the modem which in turns runs to the sound card. The modem inserts itself into the chain so that rather than use it's internal speaker the audio pipes into the sound card. This makes using the modem's own microphone with the system speakers great as a speakerphone, especially with speaker (spk) to handle the GUI control of it. Voice mail, answering machine and facsimile functions are handled nicely with the highly compatible modem and when used in conjunction with kvoice, mgetty+sendfax+voice and ksendfax you have quite a seamless solution.
How's this for the ultimate in geekware; my home Linux box answers my phone! I can download my messages over the Internet or Email them to someone. I can have my box send Email or a page to my cellular phone or work number. I can setup voice mailboxes (e.g. "press 3 to speak to Tang"). Lots of fun filled hacking awaits you and your imagination. Hook up an X-10 module and controller and you can have your lights blink for the hearing impaired (although I don't know how you'd listen to the message).
The nice part about the mgetty+sendfax+voice combination is that you can set up an order for your machine to answer your phone. Right now, I have mine setup for voice->fax->data, although I have the data part commented out right now - it allows your machine to setup a ppp connection, or just a "dumb interface" akin to the old BBS days so you can lookup or run stuff at home. You could probably transfer files with zmodem or such, but I'm not going to try it. You can run your machine as an old-fashioned BBS at anytime with a separate package just for that purpose though, which is a much better idea if you don't want to setup ppp service. Forget about FTP/WWW service though - but I think there's even a way around that with a package that encapsulates TCP/IP or something over "normal" phone line connections. Someday I'll look into it and update this. No, really...
A fast video card is always a good investment, especially for multimedia and graphics work. Do not settle for a cheap card, it's not worth it. Good lower-end video cards are the Millenium II 4MB PCI/AGP from Matrox Multimedia. Number Nine also makes great video cards. I have an Imagine 128 video card that runs X very quickly but offers only 2D acceleration. Whichever card you choose, make sure that XFree86 or Accelerated-X supports it!
Don't get me wrong. I'm not saying that these cards are "low-end" or shoddy. They fly. I recommend them even - I have a Millenium II AGP 4MB card in my work machine and it screams. What I mean by "lower-end" is that they don't have 3D acceleration for OpenGL or games, nor do they go above 4-8MB of RAM or have specialized graphics processors. You'll want something along the lines of special OpenGL cards or Voodoo2/TNT chipsets once Xi Graphics or XFree86 support hardware acceleration (Xi Graphics is working on just such a product right now, while there is a special beta XFree86 server for the TNT chipset - one seriously hot chipset just coming out now (October 1998). One card that uses it and which I'll probably get for the new computer I'm building is the STB Velocity 4400 AGP. This card should be simply animal! It's been said that "...2D acceleration has reached maximum now." This chipset also supports all the cool stuff that's been missing in current Voodoo based cards like trifiltering and more atmospherics. Seriously sick stuff. QuakeGL must be insane on this bad boy.
One word of warning. There has been rumors that the timings on TNT based video cards has been cut back slightly due to problems with RAM keeping up or something. I'll get details on this and update this. If you're in a rush, go to Tom's Hardware Guide and take a look there - lots of info and comparisons on the new crop of hardware, including video cards (and these in particular). Don't think that these cards should not be bought - far from it! Just that they're not running at the initially announced psycho speeds - they're still the hottest ticket out there - there's nothing wrong with them! It's merely like saying a 12 cylinder Ferrari is only using 11 cylinders...
Accelerated-X is a commercial X server, not unlike XFree86 that uses your video card to display all these wonderful applications. The appeal of Accelerated-X is support for a vast array of video cards and it's ultra-high speed. It also supports some advanced features such as hardware gamma correction, overlays (useful for WABI) and power management.
The WinTV/PCI card is also incredibly compatible with Linux and is fully supported through software such as xawtv/kwintv, bttvgrab/kgrab using the bttv & video4linux drivers. For 2.0.x kernels you'll need to get the source seperately, but is included in the source to 2.1.x kernels. You can compile the driver into the 2.1.x kernel or use it as a kernel module on either.
What you see above is a screenshot of the cRadio program, which incidentally is the same as kradio for the KDE project - same source. It's a great little program. Not much to say about it really, but it has everything a good radio needs. The beauty of it is it's preset support. You can program all your favorite stations in and get to them with one click. It also features alarm and sleep functions and you can compress the interface to just the "digital face." Very nice.
Right now, I have my Sony CamCorder hooked up to the composite input, cable TV coming in on the coaxial and still have an open SVHS connector for my VCR - or more likely, I'm going to go out and purchase a Hi-8mm deck, to use for my 3D animation as well.
I urge you to visit my article entitled Using a Scanner Under Linux for more details on using a scanner with Linux - how to set it up, some programs you can use, etc.
With the scanner hooked up to the SCSI chain, you can scan traditional media into your machine for further manipulation with the GIMP. Perfect for getting those images for your Website project. To get the images in, make sure your kernel has the generic SCSI support compiled in or as a module. Then, get yourself some scanning software like xvscan or tkscan. This combination makes scanning very simple.
With a video camera, it's easy to get video into your computer for creating MPEG video, still frames or laying the groundwork for a Webcam. Hook it up to the WinTV/PCI card's composite input and you can seamlessly select your inputs through the various video applications mentioned above.
I'm considering making MPEG videos of my Linux machine and walk you, the reader through various things - sort of like video-based training. Email if you're interested in this kind of thing - note that it will require juicy bandwidth on your part!
The system runs the AfterStep window manager and all graphic libraries/toolkits have been given the NeXTstep look through the TkStep & GTKstep packages. Where possible, software that tries to emulate the NeXTstep look has been used as well, such as postilion for Email. Many applications just inherit the look from the tweaked libraries, and AfterStep does the rest, completing the illusion.
They say "it's all in the details" and it is. Wherever you have external cables and audio or video is concerned, make sure that you use gold-plated and shielded products. They will help video more than audio, but definately improve quality by providing non-oxidizing contacts, low resistance shielding to protect from RMF/RFI interference and noise. Do not loop A/C cords and twist tie them. This makes them into little anntenaes. Also try to keep these A/C cords away from the AV cables as much as possible. Keep flourescent lights away from the computer at a distance of at least six feet (2m). Lastly, use a good line conditioner or even a UPS to filter your power. This will all ensure that you have good, clean signals throughout. It's worth it - do it.
So there you have it. A run-down of multimedia on Linux. Not bad, huh? Looking at Linux as "just a hackers OS" is definately ill-conceived these days.
There are still some limitations with Linux in this area, and they're software based problems. The hardware is there, and most of it is supported, so that's not the issue. What Linux is missing right now is a killer app like Adobe Premiere/After Effects or Stratus MediaPaint. There is one application being coded right now, quite beta, called Moxy that does some basic video editing and even does transitions. I'm going to look into it and get back to you.