This is vcd-info.info, produced by makeinfo version 4.8 from vcd-info.texi. This file documents GNU VCD Info Program (`vcd-info') Copyright (C) Rocky Bernstein <> Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being "Free Software" and "Free Software Needs Free Documentation", with the Front-Cover Texts being "A GNU Manual," and with the Back-Cover Texts as in (a) below. (a) The Free Software Foundation's Back-Cover Text is: "You have freedom to copy and modify this GNU Manual, like GNU software. Copies published by the Free Software Foundation raise funds for GNU development." INFO-DIR-SECTION Video CD Tools START-INFO-DIR-ENTRY * vcd-info: (vcd-info). Video CD Information tool END-INFO-DIR-ENTRY  File: vcd-info.info, Node: Top, Next: Introduction, Prev: (dir), Up: (dir) The GNU Video CD Information Tool (`vcd-info') ********************************************** This file documents GNU Video CD Information Tool. Copyright (C) 2003, 2004, 2005 Rocky Bernstein * Menu: * Introduction:: What is the program and why would I use it? * Command Options:: How do I get this to do anything? * Output Sections:: How do interpret the output? * Some Examples:: Okay, enough talk. How about some simple examples? * History and Thanks:: History and Acknowledgments Indexes * General Index:: Overall index * Option Index:: Index for options * Sub-Option Index:: Index for sub-options --- The Detailed Node Listing --- Command Options * Where Options:: Options controlling where to read from * What Options:: Options controlling what do you want shown * All Options:: A complete list of options Options controlling where to read from * CD Images:: Reading from a file containing a CD disk image * CD-ROM Device:: Reading from a CD-ROM device * Intelligent Input:: Reading from wherever Output Sections * PVD:: Primary Volume Descriptor (PVD) Section * Filesystem:: ISO 9660 Information * Entries:: Entries Section * Info:: Disc Information * LOT:: LID Offset Table (LOT) Section * PSD:: Program Segment Descriptors (PSD) Section * Tracks:: Tracks  File: vcd-info.info, Node: Introduction, Next: Command Options, Prev: Top, Up: Top 1 Introduction ************** Note in the guide, we use the term Video CD to mean some sort of Video Compact Disc. There are various formats of Video Compact Discs, the oldest format of which is called "VCD" and is followed by a version number: 1.0, 1.1 or 2.0. Hopefully it should also be clear by context whether we are referring to a class of Video Compact Discs or the specific older format called VCD _version-number_. `vcd-info''s mission in life is to display the contents of a Video CD or CD image. Well, that's not actually true--if given an audio CD (CD-DA) or some other kind of CD, `vcd-info' will try to display some information about that, perhaps just a list of the tracks, with varying degrees of success; However Video CDs are what `vcd-info' understands best and it will you the most detail about. The disk "image" does not have to reside on a physical Compact Disc; `vcd-info' understand the BIN/CUE disk-image format used by a popular DOS/Window mastering tool. You might use the information from `vcd-info' as a diagnostic or analytical tool. It may help you understand a particular Video CD that you have. Or it might be useful in conjunction with or in debugging a Video CD you are creating ("authoring"). But debugging is probably best left for another tool; `vcd-info' will only let you display information, you can't modify anything with this tool and it is not interactive. Although I imagine most of the time this is how you will use `vcd-info', there are some subsidiary uses. `vcd-info' shows information about a Video CD and as such the information shown reflects, sort of, the way the information is stored. So in a sense `vcd-info' can teach you a little bit about how a Video CD is laid out. In writing an Video CD input plugin for a media player, I wanted to get bits of information about the Video CD to display in the media player, such as the Video CD format used and the volume name. Before writing a C library for such purposes, a lower-tech, and more loosely-coupled way to do this was used. The program ran `vcd-info' with the specific information request and parsed the text output. For example, to get just the format that the Video CD on the"default" CD-ROM device is in you might run: vcd-info --no-banner --show-format To get the album information you might run: vcd-info --no-banner --show-info album After doing this for a while and seeing this was useful, I then wrote a Video CD "info" library. A library is much faster and furthermore much of the information is saved away in memory reducing the amount of disk I/O. Later it turned out that I could completely remove the CD-reading routines from the VCD module and get this from another library, but that's a different story. What's relevant is that after creating this library, I then modified `vcd-info' to use this library `libvcdinfo'. The `vcd-info' code then got shorter as some of it getting moved inside the library. And this program served as a test bed for the `libvcdinfo'. So the last thing that `vcd-info' may be of useful for is if you want to see how to use the `libvcdinfo' library; you can consult the source program and see how `vcd-info' gets its information.  File: vcd-info.info, Node: Command Options, Next: Output Sections, Prev: Introduction, Up: Top 2 Command Options ***************** There are a number of miscellaneous options, but there are two broad categories of options. There is a set of options for specifying what to dump, these all start `--show-' and another set of options which specify where the CD-ROM or CD-ROM disk-image is. * Menu: * Where Options:: Options controlling where to read from * What Options:: Options controlling what do you want shown * All Options:: A complete list of options  File: vcd-info.info, Node: Where Options, Next: What Options, Prev: Command Options, Up: Command Options 2.1 Options controlling where to read from ========================================== If you don't specify any place to read from `vcd-info' will try to read from the default device that may be appropriate for your OS. There are two broad categories of input, reading from a device that contains a Compact Disc, and reading from a file on the filesystem that contains an image that could be burned into a Compact Disc. The option for the former category, reading a physical CD, is `--cdrom-device' (`-C'); options for the latter category, reading a file containing a CD disk image, are `--bin-file' (`-b'), `--cue-file' (`-c'), `--toc-file', and `--nrg-file' (`-N'). There is one other option `--input' (`-i') which blurs the distinction--it tries to figure out based on the name whether you are reading from a device containing a CD or not and do the appropriate thing. Of course, since it only makes sense to read from one place, these options are mutually exclusive; use only one option from this set. * Menu: * CD Images:: Reading from a file containing a CD disk image * CD-ROM Device:: Reading from a CD-ROM device * Intelligent Input:: Reading from wherever  File: vcd-info.info, Node: CD Images, Next: CD-ROM Device, Prev: Where Options, Up: Where Options 2.1.1 Reading from a file containing a CD disk image ---------------------------------------------------- The option `--bin-file', `--cue-file' or `--toc-file' (the short forms for the first two are these are `-b' and `-c' respectively) indicate to read from a file containing an image what might be burned onto Compact Disc. The format is expected to be in the BIN/CUE format is is accepted by many CD mastering tools. If you use the `--bin-file' option, the file read is expected to be the ".BIN" part--this is the bulk of the data. If you use `--cue-file' the file read is a "cue sheet" a funny sort of CD mastering file. The corresponding BIN file (which again contains the bulk of the data) is not taken from the FILE statement inside the CUE file, but it is constructed from the CUE file name by replacing ".cue" by ".bin". The CUE file must have exactly one FILE statement. If you do not specify a file name after `--bin-file', a default name is used "videocd.bin" is probably used; likewise if you do not specify a filename after -cue-file a default name is used, probably "videocd.cue." These names I believe are the default output file names used when you use `vcdimager' or `vcdxbuild'. If you use the `--toc-file' option, the file read is expected to be a CD-ROM disk image using for the format `cdrdao' uses. If you use the `--nrg-file' option (short form `-N'), the file read is expected to be a CD-ROM disk image using a proprietary and unpublished format used by the Nero burning software. Because this is proprietary and not published, this code has been reverse engineered and we really can't do as good a job as we can with a cue-sheet file. It's better not to work with such things when possible.  File: vcd-info.info, Node: CD-ROM Device, Next: Intelligent Input, Prev: CD Images, Up: Where Options 2.1.2 Reading from CD-ROM Device -------------------------------- The option `--cdrom-device' or the short form `-C' is used when you want to read from a Compact Disc. The name given would be the device name. If you don't specify a device, a default will be selected based on the Operating System or information that can be gleaned from the OS. For example on GNU/Linux, the default device may be `/dev/cdrom', while on Solaris it might be `/vol/dev/aliases/cdrom0'.  File: vcd-info.info, Node: Intelligent Input, Prev: CD-ROM Device, Up: Where Options 2.1.3 Reading from wherever --------------------------- The option `--input' or the short form of this `-i' tries to be intelligent by trying to figure out whether the thing you are referring to is a device or a bin/cue disk image of a CD. Currently the algorithm it uses the one that the provided by from the underlying library: `libcdio'. It is pretty simple: if the thing referred to is what in Unix is called a "block" or "character" device (and there is such a notion in your OS), then it assumes a device name. When you do "long listing" ("ls -l") of the name and track down possible symbolic links you will see a "b" or "c" in the first column if the file is a block or character devices. If the thing referred to in an `--input' option is a "regular" file then it is assumed you have a file image of a CD. If the filename ends (i.e. the extension is) ".bin" or ".BIN" then we assume a "BIN file" if the filename ends ".nrg or ".NRG we assume a Nero NRG disk image, and if the filename ends ".toc" or ".TOC" then we assume a `cdrdao' CD image. Although this algorithm is subject to change and there may be more sophisticated or alternative methods, in practice I think this does pretty much what's expected.  File: vcd-info.info, Node: What Options, Next: All Options, Prev: Where Options, Up: Command Options 2.2 Options controlling what do you want shown ============================================== `vcd-info' is pretty flexible about the information it can show you. By default `vcd-info' will show just about everything it can about a Video CD image. There is additional information you can get using the option `--debug', but this is of a debugging nature. However if you specify something in particular to dump, for example to dump track information via command option `--show-tracks', `vcd-info' switches behavior and shows you almost nothing except what you asked for. I wrote "almost nothing except" rather than "nothing except" because by default there still is a little bit of extra information that is shown: delimiters between requested sections and a banner. However there are options to turn these off too. You don't have to ask for just one section or one item of a section at a time, you can list many individual items or sections together. Most of the individual items that can be shown are part of a larger group listed in *Note Output Sections: Output Sections. For example to show the volume id of the Video CD image which resides in the PVD sections of output you would use the option `--show-pvd vol'. To show everything in one of these large sections you give the section name followed by "-all." So to see the entire PVD section you would use the command option `--show-pvd-all'. To see a list of the suboptions available use the sub-option "help"; for example to see the sub-options available for the PVD section, you would use the command option `--show-pvd help'.  File: vcd-info.info, Node: All Options, Prev: What Options, Up: Command Options 2.3 A complete list of options ============================== First some general-purpose options. These you might find on other programs. `--help' This option give a list of options type `--help'. `-?' is an abbreviation however you will probably have to "escape" the question mark so that the shell doesn't interpret this; i.e. you may have to type `-\?'. `--usage' This option shows an abbreviated usage message `--debug DEBUG LEVEL' `-d DEBUG LEVEL' This option gives more verbose, debugging output. The higher the number given, the more the output. A value of 3 or greater includes library informative messages and a value of 4 or greater includes library debugging messages. `--terse' `-t' This option is the same as giving the combined options `--no-header --no-banner --no-delimiter'. This option can be useful if this program is getting called for information from another program and you don't want to have filter this information out. `--quiet' `-q' Show only critical messages `--version' `-V' Display version and copyright information (the stuff that is suppressed by `--no-banner' and exit after displaying this information. Sometimes, you just wanna know what version you got. Next we have some miscellaneous options that don't fall into another particular category. `--access-mode' This option probably makes sense only if you are reading from a CD-ROM. This overrides the default way that we read from the CD-ROM. The possible values allowed depend on the CD-ROM driver. Some values which work on some drivers are "IOCTL", "READ_10," and "READ_CD." `--no-banner' `-B' Do not show program banner header and CVS Id line. This would be useful in a regression test program where you want to check the output but know that the version information is going to change over time. `--no-delimiter' `-D' Do not show delimiter lines around various the sections of *Note Output Sections: Output Sections. `--sector-2336' This option only makes sense if you are reading from a BIN CD disk image. This indicates to `vcd-info' to assume a 2336-byte sector mode for image file. _Note: This option is slated to disappear._ Use at most one option in an invocation from the following list. These options are described in general in *Note Options controlling where to read from: Where Options. `--bin-file [FILENAME]' `-b [FILENAME]' Specifies a BIN CD-ROM disk image to read from. See *Note Reading from a file containing a CD disk image: CD Images. `--cdrom-device [DEVICE-NAME]' `-C [DEVICE-NAME]' Specifies a CD-ROM device to read from. See *Note Reading from CD-ROM Device: CD-ROM Device. `--cue-file [FILENAME]' `-c [FILENAME]' Specifies a CUE file to read from. Preferred over a BIN file if available. See *Note Reading from a file containing a CD disk image: CD Images. `--nrg-file [FILENAME]' `-N [FILENAME]' Specifies a Nero NRG-format CD-ROM disk image to read from. See *Note Reading from a file containing a CD disc image: CD Images. `--input [FILE OR DEVICE NAME]' `-i [FILE OR DEVICE NAME]' This option is insensitive to whether the thing reading from is a CD-ROM device or a file. See *Note Reading from wherever: Intelligent Input. The options below control how much output you get and described in general in *Note Output Sections: Output Sections. `--no-ext-psd' If the Video CD is in format VCD 2.0, there can be an optional "extended" PSD which contains information in the PSD and area highlighting and selection information. To suppress reading and printing this information use this option. The option is only meaningful if the VCD format is 2.0. `--show-entries-all' `-E' List everything in the Entries section. See *Note Entries Section: Entries. `--show-entries SUB-OPTION' Sub-options are: "count", "data", "id", "prof", or "vers". `count' The number of entries. A number. See line 5 of the example in *Note Entries Section: Entries. `data' A complete list of the entries. See lines 6-9. of the example in *Note Entries Section: Entries. `id' An 8 characters name, probably "ENTRYVCD". The name may also be "ENTRYSVD" but this is deprecated. Some DVD players may require one or the other to play SVCDs. See line 2 of the example in *Note Entries Section: Entries. The XML tag for this is