March 9, 2007

K3b enters new era with approaching 1.0 release

Author: Nathan Sanders

One of free software's premier applications, KDE's CD and DVD burning suite K3b, is about to hit the big 1-0. This milestone touts rewritten DVD video ripping and a refocused interface design. The new release represents a level of feature-completeness and stability that surpasses all previous K3b releases and, perhaps, all free software competitors.

For the 1.0 release, K3b founder and maintainer Sebastian Trueg rewrote K3b's DVD ripping front end. It still does not offer the breadth of features that competitor dvd::rip does, but it should prove easier to use for most purposes. Configuration is essentially constrained to video and audio track selection, video rescaling, and bitrate and codec specification. K3b tries to provide sensible defaults so that users need not worry about even these technicalities. Dependencies for K3b DVD ripping include libdvdcss, libdvdread, transcode, and a video encoder such as Xvid.

Trueg refers to K3b 1.0's reworked interface as "media-centric." In past K3b releases, users were presented with a "device-centric" interface, where tasks were executed in terms of devices such as CD-RW or DVD-R drives. For instance, to copy an audio CD, a user might have had to specify a source device as obscure as "NEC DVD_RW ND-3540A" (the optical drive with the source CD) and something equally cryptic as the output device. With the new interface, K3b attempts to present these options to users in a more understandable fashion, so that the source medium is "Audio CD" and the burn medium is "Empty CD-R medium." The media-centric interface is a benefit of K3b's new MediaCache, a feature which keeps track of the media in each optical drive.

A new standard

K3b 1.0 should not look unfamiliar to users of past versions. Click to enlarge.

Though K3b 1.0 is not a revolutionary release, it represents the formal maturation of an already excellent application. Users will notice and appreciate improvements to the interface and video DVD ripping features. Competitors such as NeroLinux and GnomeBaker have yet to abandon device-centric interfaces. Nonetheless, their interfaces are very similar to K3b's, as a three-pane layout is nearly universal among burning applications (exceptions include Graveman and Arson). Unfortunately, optical disc image formats are not nearly as standardized. K3b users will not be able to import NRG image files created in NeroLinux. K3b supports only ISO, CUE, Cdrdao TOC, and Cdrecord Clone images. K3b 1.0, even in its release candidate phase, is quite stable; while testing K3b 1.0 RC6, I encountered only one crash, which was not reproducible.

K3b audio capabilities

Video has stolen the spotlight in K3b 1.0, following improvements to the video DVD ripping feature, but K3b remains just as adept at ripping and burning audio.

Audio CD Ripping: When you select an audio CD from the media sidebar, K3b will automatically download metadata for the disc and display a track list in the right-hand file browser pane. To rip audio tracks, make sure you have cdparanoia installed, then click the "Start Ripping" button. You will be presented with a dialog where you can select and configure the output filetype. Using the External Audio Encoder plugin, you can output to nearly any format. You can even drag unripped audio tracks directly into a CD-burning project.

Audio File Renaming: If you are making a MP3 data CD from a large number of audio tracks, use K3b's file renaming feature to make future browsing easier. With a data disc project full of audio tracks, click the "Rename Audio Files" toolbar button. In the resulting dialog, click "Scan" to establish a list of files to be renamed. You can rename these tracks based on metadata such as artist or album name. Set a renaming pattern and click "Scan" again to rename the files. Click "Start" to commit your changes.

Audio Track Editing: K3b has a variety of features for editing tracks in audio CD projects. From the right-click context menu you can merge tracks, split them apart, shave off portions from the beginning or end, or add silence before or after.

Advanced Burning Features: With K3b you can normalize the volume on tracks in an audio CD project (this requires the Normalize package) or "overburn" discs past their prescribed storage limit. (Overburning is risky, and your success rate will depend upon the media you use.) From the "Advanced" tab of the CD burning dialog, you can even hide the first audio track on a disc so that listeners must seek backwards to hear it.

Many small interface features help to set K3b apart from other Linux burning applications. K3b automatically detects available disc drives and includes tools to automatically help users identify and correct system privilege and dependency issues. There are undoubtedly hardware and software scenarios for which K3b will not adjust automatically, but I did not encounter them in my testing.

K3b's desktop integration is excellent. From Konqueror, users can select folders or files and choose to burn them to audio or data discs in K3b through an option in the right-click context menu. Audio tracks and files can be dragged and dropped onto a burning project from any application, from the file manager to Amarok. A pleasant-looking, compact, on-screen display keeps users aware of progress during burns. You can save settings for disc burning and audio CD and video DVD ripping and recall them later. You can also set filesystem bookmarks within K3b to ease browsing while you're compiling audio and data CDs.

Perhaps the most useful nicety of K3b's interface is its extensive What's This? help. Ideally, What's This? help should be available for every interface item in KDE applications by right-clicking on them, but many applications do not implement it. In K3b, nearly all configuration options have What's This? help to succinctly explain the significance of the option to users. Through What's This? help, K3b manages to present a bevy of advanced options such as DAO, TAO, and RAW writing modes and Joilet and Rock Ridge filesystem extensions without baffling users.

Clicking "Start" here is enough to fully transform a video DVD into a file suitable for playback on computers or portable devices, but there are plenty of features for advanced users. Click to enlarge.

One feature whose absence some users will notice is DVD "shrinking," whereby a video DVD written to a dual-layer disc is resized for a single-layer DVD-R while retaining DVD menus and extras. Trueg says he contacted the author of K9Copy, a Linux DVD shrinking application, to discuss integrating DVD shrinking functionality in K3b, but according to Trueg, this contact "somehow broke." Trueg says he hopes to pursue integration again after the 1.0 release.

Users may rarely need many of the advanced or obscure options that populate menus and toolbars, such as mixed mode and multisession burning, bootable CD burning, and audio CD and video DVD ripping. Yet despite its breadth of features, K3b remains a lightweight program; it started in just a couple of seconds on my PC.

After using the new version, I felt the media-centric interface could be taken further. Its purpose is to make media as easily identifiable to the user as possible, yet in some ways it fails to do this. K3b refers to audio CDs, for instance, as "Audio CD" rather than by the album title. DVDs are referred to by their titles, but even though K3b downloads CDDB information for audio CDs, it does not use this data when referring to the discs. Furthermore, device model names still play a prominent part in the K3b media sidebar, while the media title is merely an underheading. Though devices with similar media in them would not be differentiable with device model names, it might be wise to have the model name as the underheading to the media title.

The rewritten 1.0 DVD ripping system makes use of a specially designed KIO-slave. KIO is a KDE filesystem technology that allows remote or otherwise obstructed files, as well as local files, to be accessed by KDE applications through a single API. KIO-slaves add support for individual file protocols -- some as easily recognizable as HTTP or FTP and others more specialized. For example, K3b's videodvd:// KIO-slave, Trueg says, "allows [one] to copy the VOB files from Video DVDs with transparent decryption (if you happen to live in a country that allows libdvdcss)." Video DVDs are usually protected with Content Scramble System DRM, which must be decrypted before the video can be played back or copied. There may be legal issues surrounding this decryption in some locales. Once a VOB file for a video track is ripped from a DVD using videodvd://, transcode and a video encoder are automatically used to convert the file into a small, portable format. In past K3b releases, the DVD ripping system demanded that the user rip and encode the VOB files from a DVD in separate steps.

K3b's interface intelligently handles sophisticated functions such as track merging. Click to enlarge.

K3b's plans for KDE 4 consist mostly of changes to the underpinnings of K3b. Trueg hopes to separate the libraries powering K3b from the interface so that individual applications such as Konqueror and Amarok can implement their own CD burning interfaces using K3b as a back end. The current K3b application will also continue to grow and mature.

Click Here!