Linux Multimedia Guide
Author: Jeff Tranter
Publisher: O'Reilly & Associates, Inc.
Price: $32.95 US
Reviewer: Michael J. Hammel
I picked up my copy of The Linux Multimedia Guide by Jeff Tranter back in December of last year, the same month it hit the shelves of my local computer book store. I wrote a fairly supportive review of the text in my “Graphics Muse” column in the Linux Gazette, right after having put to bed my multimedia chapter for the Unix Web Server Book. At the time I thought I understood multimedia fairly well, since the research for my book had been fairly thorough.
When Linux Journal contacted me about doing a review of this text, I jumped at the chance. I figured I could just spiff up my old review and pass it along. It took some time to get around to doing this “spiffing”, and in the intervening period, I realized that this wasn't fair. I needed to go back and re-evaluate the review and the text. Linux users deserve up-to-date information. Besides, I had learned quite a bit more about multimedia.
As it turns out, most of my initial inspection was right on the money. Jeff's book covers a wide range of material related to the creation and use of multimedia files with respect to the Linux operating system. The text is approximately 350 pages, including source code listings for a number of sample multimedia applications. As usual, O'Reilly provides copies of the source from their ftp site. Jeff's coverage of multimedia is thorough, although it lacks detail in a few areas and provides information on subjects that may not be necessary for most multimedia-application developers.
When I first discovered this book, I thought “Rats, Jeff beat me to it.” Much of what Jeff covers is listed in my own Linux Graphics mini-HOWTO (LGH); however, a number of items, such as audio, are not covered by the LGH. There is more detail about video formats and tools and detailed programming considerations for various hardware (CD-ROMs, joysticks and sound devices). All of these make the Linux Multimedia Guide a good addition to the O'Reilly family of Unix books. The text is decidedly aimed at developers and administrators. The actual use, from an end-user perspective, of the various applications is not covered in any serious detail by this text.
The Linux Multimedia Guide is divided into five sections:
Introduction to Multimedia
A Survey of Multimedia Applications
Multimedia Programmer's Guide
The first section introduces the reader to the various concepts involved with multimedia such as the CD-ROMs, image file formats and sound files. The chapters are generally brief, and the one on audio is quite informative. Jeff is the originator and maintainer of the Linux Sound HOWTO, and his experience shows in his coverage of audio issues. There is a discussion on audio file formats as well as a comparison of a few popular sound cards available for Linux.
Section two opens with a discussion on hardware requirements for doing multimedia on Linux systems. Most of this section centers on either the CD-ROM driver or the Linux sound driver, known at various times as Voxware, TASD and OSS Lite and now available commercially from 4Front Technologies (http://www.4front-tech.com/). There is also a short chapter on the joystick driver.
The third section is very similar to the LGH in that the chapters provide the program names and URLs associated with them (if any). The number of applications covered is less than in the LGH, but there are better descriptions of the applications in the book; plus Jeff covers games and audio applications that the LGH does not.
Chapter fourteen opens the fourth section, the “Multimedia Programmer's Guide”. This section is the longest in the book and covers all the devices discussed earlier. Other chapters in this section cover some of the available graphics and windowing toolkits available to multimedia developers. One chapter contains three sample applications.
I didn't say much about this section in my first review but I need to do so now. First, the chapter on programming sound devices is quite good and the sample programs easy to follow. If you're going to program sound for your applications, you definitely should read this chapter.
The chapters on programming the joystick and CD-ROM devices are out of date (the joystick chapter) or irrelevant (CD-ROM) for current multimedia applications. I say this because the future of multimedia on Linux is through X Windows, not SVGA. Joysticks and other pointing devices should be programmed through the X Input Extension (which XFree86 3.3 now supports and the commercial X Server vendors Metro-X and Xi Graphics are rumored to be adding soon) and not via direct management of the device. To be fair, Jeff's book did come out before this support was publicly released by XFree86, and it is only recently that developers have started to make wide use of this server extension.
A CD-ROM's association with multimedia applications is nothing more than another file system, accessed using the usual file system APIs. In general, multimedia-application developers do not need to know how to write drivers for the CD drives. Device driver information is not generally provided in texts on multimedia for other platforms (except for unusual devices). Again, to be fair, I'm not certain whether information on how to write drivers for new CD drives is provided in other texts. This chapter's appearance in the Linux Multimedia Guide is not a detriment to the text, but it is extraneous to multimedia-application developers.
Chapter 17's discussion on graphics and windowing toolkits provides some good reference material but not much detail. It would have been nice to see Jeff take a stance on which toolkits might be most beneficial for developers to start with or at least examine more closely. Also, Jeff missed any reference to OpenGL. Of all the toolkits he mentions, only Java is likely to be of greater interest than OpenGL to Linux multimedia developers. OpenGL and Java are widely accepted standards (real or de facto) whereas most of the other toolkits mentioned are, at best, simply multi-platform. OpenGL is available from both commercial X server vendors (Xi Graphics and Metro-X) using software acceleration only (with hardware acceleration planned) and is also available via Brian Paul's terrific Mesa/GL package.
In general, I find the Linux Multimedia Guide a good reference text with a moderate degree of developer tutorials. Unlike many of the books available for Linux, this text provides a detailed explanation of the various programming interfaces; it is a useful tool beyond the simple “what is this and where do I get it” that many of the HOWTOS provide. The main drawback that I see is that, like most other Linux texts, this text does not provide a user's perspective on any of the tools listed. If Linux is ever to go beyond a developers-only platform, there will need to be detailed user's guides for well-known applications. Still, Jeff does a good job covering the extent of a large topic. Although not likely to be of much interest to experienced developers, I have no problem recommending this book for the beginner or the intermediate user or developer.
Practical Task Scheduling Deployment
July 20, 2016 12:00 pm CDT
One of the best things about the UNIX environment (aside from being stable and efficient) is the vast array of software tools available to help you do your job. Traditionally, a UNIX tool does only one thing, but does that one thing very well. For example, grep is very easy to use and can search vast amounts of data quickly. The find tool can find a particular file or files based on all kinds of criteria. It's pretty easy to string these tools together to build even more powerful tools, such as a tool that finds all of the .log files in the /home directory and searches each one for a particular entry. This erector-set mentality allows UNIX system administrators to seem to always have the right tool for the job.
Cron traditionally has been considered another such a tool for job scheduling, but is it enough? This webinar considers that very question. The first part builds on a previous Geek Guide, Beyond Cron, and briefly describes how to know when it might be time to consider upgrading your job scheduling infrastructure. The second part presents an actual planning and implementation framework.
Join Linux Journal's Mike Diehl and Pat Cameron of Help Systems.
Free to Linux Journal readers.Register Now!
- SUSE LLC's SUSE Manager
- My +1 Sword of Productivity
- Managing Linux Using Puppet
- Murat Yener and Onur Dundar's Expert Android Studio (Wrox)
- Non-Linux FOSS: Caffeine!
- Doing for User Space What We Did for Kernel Space
- Google's SwiftShader Released
- SuperTuxKart 0.9.2 Released
- Parsing an RSS News Feed with a Bash Script
- LiveCode Ltd.'s LiveCode
With all the industry talk about the benefits of Linux on Power and all the performance advantages offered by its open architecture, you may be considering a move in that direction. If you are thinking about analytics, big data and cloud computing, you would be right to evaluate Power. The idea of using commodity x86 hardware and replacing it every three years is an outdated cost model. It doesn’t consider the total cost of ownership, and it doesn’t consider the advantage of real processing power, high-availability and multithreading like a demon.
This ebook takes a look at some of the practical applications of the Linux on Power platform and ways you might bring all the performance power of this open architecture to bear for your organization. There are no smoke and mirrors here—just hard, cold, empirical evidence provided by independent sources. I also consider some innovative ways Linux on Power will be used in the future.Get the Guide