|
|
||
A Full-Featured Multimedia Slackware© Copyright Darrell Anderson. (Updated December 2009) DiscussionA significant number of people know that inserting a commercial DVD into a DVD appliance “just works.” When they insert the DVD into a computer and nothing works the result is a blank stare. The stock Slackware does not fully support the multimedia demands expected by many computer users. The stock Slackware can play many audio and video file formats but not all. One author called Slackware “DRM compliant.” The statement is factual and without emotion. Slackware is not the only operating system that is “DRM compliant.” Despite the fact that a DVD appliance is nothing more than a computer, nobody should blame the distro maintainers for wanting to avoid law-suit happy attorneys. (Note: I have yet to read an essay written by someone learned in legal theory convincing me as to why these software packages cannot be included in a stock distro. When a person buys media there is an expectation to enjoy the contents in any player. There are no licensing agreements about which players can be used to enjoy the media. Therefore I suspect much of the reasoning for excluding this software is based upon flawed presumptions.) The stock Slackware includes Xine, a popular multimedia tool that provides a good DVD remote control simulation, yet cannot play encrypted DVDs. Just about all commercial DVDs are encrypted. The missing package is a software library called libdvdcss. This library does not break the encryption but only enables playing encrypted DVD software, just like a DVD appliance. Building the libdvdcss package is a straightforward exercise for typical Slackers, but is not straightforward for new Slackers. The easiest approach for new Slackers is to download a prebuilt package. Yet new Slackers first need to know that the stock Slackware does not directly support encrypted DVDs. Otherwise there is a disconnect and blank stares. Installing libdvdcss is not the only multimedia stumper with the stock Slackware. With the stock Slackware the popular K3B tool does not support all advertised features. Ripping a video DVD is not possible with K3B in the stock Slackware. To rip DVDs K3B requires the following: transcode and dependencies These packages are not included in the stock Slackware. Yet these missing packages are only required for ripping DVDs. K3B supports other features requiring additional underlying software. For example, open K3B and select the Settings menu. Then select the Programs option. Notice the underlying support that is missing. Without installing those underlying support packages, K3B will not provide all the features well known among the free/libre software community. Further, K3B must be recompiled after those packages are installed to ensure K3B hooks into those apps because the version packaged with the stock Slackware is not compiled for those support packages. Also missing from the stock Slackware are various multimedia codecs. All of this does not mean end-users cannot improve the stock Slackware. Indeed, the underlying philosophy of Slackware is to provide a base operating system in which end-users build the type of system they want. There is nothing magical about this process. Build the packages or download the packages from trusted repositories. PackagesNote: Many of the packages can be installed quickly with a handy tool called the salix-codecs-installer. The tool is part of the Salix Operating System and is fully backwards compatible with the stock Slackware. The following list of software packages should solve these problems. Some packages are unnecessary, but most users should install all. The lists are in order of expected dependencies for those people building the packages. If building each package from source then be sure to install each package before building the next package. Otherwise install the packages in any order but as a group. For people who want to build the packages, visit www.slackbuilds.org or www.slacky.eu for Slackware build scripts. For people who want only to download packages, visit www.slacky.eu or www.linuxpackages.net. Note: There are slight differences in the way packages are built at the three different sites. Although there should not be any ensuing problems, a safe approach is to use build scripts or packages from the same location. Some people install only MPlayer or VLC. Do know that using MPlayer or VLC will resolve most playing issues with respect to codecs and encrypted files, but will not resolve ripping issues with K3B or other multimedia projects. Another quality multimedia tool is Kaffeine. Although not included in the stock Slackware, Kaffeine is at home in the KDE QT desktop and uses either the Xine or MPlayer engine to view content. Kaffeine requires the libdvdcss library to play encrypted files. A handy utility for backing up dual layer DVDs to single layer disks is K9Copy. This is a great way to pack a DVD for traveling or for young children who do not appreciate the fragility of DVDs. Digital cameras are popular and support improved in Slackware 12.2, but no graphical front-end tools are yet available in Slackware. Digikam and Gtkam are popular graphical front-ends. Understand that all of the graphical tools, including K3B, fundamentally are front-ends to low-level command line tools and libraries. Full-Featured K3B Support:Start with a full stock Slackware installation. If not using a full installation then review the list of required base packages, such as base QT and KDE libraries, cdrecord/mkisofs, dvd+rw-tools, cdrao, cdparanoia, etc. Build or install all packages from the following Basic Multimedia Support groups. Build or install eMoviX (a tiny Linux CD distribution containing all the software to boot from a CD and play every video file in the CD.) Remember to recompile K3B after installing these packages. Be sure to add the -enable-ffmpeg-all-codecs option when using the stock Slackware build script. Basic Multimedia Support, No Dependencies:mplayer-codecs-all (codecs for most of the popular audio and video file formats.) libdvdcss (a software library for transparent DVD device access with on-the-fly CSS decryption. The library does not break the encryption scheme but only enables playing encrypted DVDs.) libdvdread (a software library for reading DVD video disk file formats.) yasm (an assembly language tool, needed for building various packages.) libmp4v2 (a library to read, create, and modify mp4 files.) a52dec (a tool that includes the liba52 library for decoding various audio file formats.) xvidcore (an MPEG4 video codec. The “word” XVID is DIVX spelled backwards.) faad2 (an AAC audio decoder.) lame (An MP3 encoding library. Note: Several people have reported problems when compiling with versions later than 3.97. Others have used version 3.98-2 just fine.) libdv (a codec for DV video, the encoding format used by most digital camcorders, typically those supporting the IEEE 1394/FireWire interface.) libmpeg2/mpeg2dec (library for decoding mpeg-2 and mpeg-1 video streams.) vcdimager (a full-featured mastering suite for authoring, disassembling and analyzing Video CDs and Super Video CDs.) dvdauthor (a program that will generate a DVD movie from a valid mpeg2 stream. The movie should play when you placed into in a DVD player.) Basic Multimedia Support, Depends Upon Previous Group:faac (an advanced audio coder for MPEG2-AAC, MPEG4-AAC.) x264 (an h264/avc encoder.) ffmpeg (a command line tool to record, convert and stream audio and video. Complete in itself yet many graphical front-end tools use ffmpeg to convert file formats.) libdvdnav (a library supporting DVD navigation features such as DVD menus, multi-angle playback, and interactive DVD games.) libdvdplay (a library designed for DVD navigation.) vobcopy (extracts and copies vob files from a DVD to hard drives.) Basic Multimedia Support, Depends Upon Previous Group:libquicktime (a library for reading and writing QuickTime files.) transcode (a command line utility for decoding and encoding video streams.) K9Copy (Backup double layer DVDs to single layer disks and convert DVDs to MPEG4 files.) Optional Support (Do not depend upon other packages):Adobe Flash web browser plugin MPlayer (a graphical multimedia tool supporting many audio and video file formats. Includes mencoder, a command line tool to record, convert and stream audio and video. Included in Slackware 13.0) mplayer-plugin (building requires the Seamonkey web browser to be installed, which is included in the stock Slackware.) VLC (a graphical multimedia tool supporting many audio and video file formats.) mp3splt (a command line and GTK utility to split mp3 and ogg files using a beginning and ending time position without decoding.) libvisual-plugins (provides interesting visual patterns when playing music files. Included in Slackware 12.2.) Gwenview SupportGwenview is a full-featured KDE image viewer. The stock KDE provides two simple image viewers whereas Gwenview offers additional features such as file tree navigation, basic image editing and manipulation, and image browsing. Software required: exiv2 (a software library and a command line tool to read and write Exif and IPTC image metadata. Included in Slackware 13.0) libkipi (a library supporting a common plugin structure for various programs.) Gwenview Digikam Support:Digikam is a KDE photo management application for importing and organizing photos from digital cameras. Software required: libkdcraw (a software library used to decode RAW digital photo files.) libgphoto2 (a library used by other programs applications to access digital cameras. Included in Slackware 12.2) jasper (a collection of library and programs for coding and manipulating digital images.) exiv2 (a software library and a command line tool to read and write Exif and IPTC image metadata. Included in Slackware 13.0) libkexiv2 (a wrapper library around exiv2 to manipulate picture metadata. This library is used by kipi-plugins, Digikam and others kipi host programs.) libkipi (a library supporting a common plugin structure for various programs.) kipi-plugins (provides additional features and tools to KDE Images Management Host Programs such as Digikam and Gwenview.) sqlite (included in Slackware 12.2. Use the --without-included-sqlite3 option when building in 12.2) Digikam Gtkam Support:Gtkam is a GTK photo management application for importing and organizing photos from digital cameras. Software required: libexif-gtk libghoto2 (included in Slackware 12.2) Gtkam Over-The-Air Digital Television Support:dvb-utils (required to scan for over-the-air TV stations) Kaffeine (a KDE graphical multimedia tool supporting many audio and video file formats.) AcidRip Support:AcidRip is a GTK2/Perl application for ripping and encoding DVDs. The tool wraps around MPlayer and mencoder. Software required: MPlayer (included in Slackware 13.0) perl-extutils-pkgconfig perl-extutils-depends perl-glib perl-cairo perl-gtk2 lsdvd Acidrip Audacity Support:Audacity is a GTK tool for recording and editing audio files. Software required: wxPython or wxGTK libsndfile Audacity SummaryAfter installing these packages most users should find Slackware a more robust multimedia operating system. Installing these packages will not convert Slackware into a full-fledged audio-video editing workstation. The focus here is not for professionals, but the expectations of most computer users for viewing and manipulating most audio and video files. Additionally, this guide is derived from from my experiences and does not intend to cover all the many multimedia tools available. I welcome and request comments, improvements, and suggestions. Finis. |
||