Contributed by Marc Fonvieille.
With inputs from Andy Polyakov.
Compared to the CD, the DVD is the next generation of optical media storage
technology. The DVD can hold more data than any CD and is nowadays the standard for video
publishing.
Five physical recordable formats can be defined for what we will call a recordable
DVD:
-
DVD-R: This was the first DVD recordable format available. The DVD-R standard is
defined by the DVD Forum.
This format is write once.
-
DVD-RW: This is the rewritable version of the DVD-R standard. A DVD-RW can be
rewritten about 1000 times.
-
DVD-RAM: This is also a rewritable format supported by the DVD Forum. A DVD-RAM can be
seen as a removable hard drive. However, this media is not compatible with most DVD-ROM
drives and DVD-Video players; only a few DVD writers support the DVD-RAM format. Read the
Section 18.7.9 for more information on
DVD-RAM use.
-
DVD+RW: This is a rewritable format defined by the DVD+RW Alliance. A DVD+RW can be rewritten about 1000 times.
-
DVD+R: This format is the write once variation of the DVD+RW format.
A single layer recordable DVD can hold up to 4,700,000,000 bytes which is
actually 4.38 GB or 4485 MB (1 kilobyte is 1024 bytes).
Note: A distinction must be made between the physical media and the
application. For example, a DVD-Video is a specific file layout that can be written on
any recordable DVD physical media: DVD-R, DVD+R, DVD-RW etc. Before choosing the type of
media, you must be sure that both the burner and the DVD-Video player (a standalone
player or a DVD-ROM drive on a computer) are compatible with the media under
consideration.
The program
growisofs(1)
will be used to perform DVD recording. This command is part of the dvd+rw-tools utilities (sysutils/dvd+rw-tools). The dvd+rw-tools support all DVD media types.
These tools use the SCSI subsystem to access to the devices, therefore the ATAPI/CAM support must be added to your kernel. If
your burner uses the USB interface this addition is useless, and you should read the Section 18.5 for more details on USB devices configuration.
You also have to enable DMA access for ATAPI devices, this can be done in adding the
following line to the /boot/loader.conf file:
hw.ata.atapi_dma="1"
Before attempting to use the dvd+rw-tools you should
consult the dvd+rw-tools' hardware compatibility notes for any information related
to your DVD burner.
Note: If you want a graphical user interface, you should have a look to K3b (sysutils/k3b) which provides a user friendly interface to
growisofs(1) and
many other burning tools.
The
growisofs(1)
command is a frontend to mkisofs, it will invoke
mkisofs(8) to
create the file system layout and will perform the write on the DVD. This means you do
not need to create an image of the data before the burning process.
To burn onto a DVD+R or a DVD-R the data from the /path/to/data directory, use the following command:
# growisofs -dvd-compat -Z /dev/cd0 -J -R /path/to/data
The options -J -R
are passed to
mkisofs(8) for
the file system creation (in this case: an ISO 9660 file system with Joliet and Rock
Ridge extensions), consult the
mkisofs(8)
manual page for more details.
The option -Z
is used for the initial session recording in
any case: multiple sessions or not. The DVD device, /dev/cd0, must be changed according to your
configuration. The -dvd-compat
parameter will close the disk,
the recording will be unappendable. In return this should provide better media
compatibility with DVD-ROM drives.
It is also possible to burn a pre-mastered image, for example to burn the image imagefile.iso, we will run:
# growisofs -dvd-compat -Z /dev/cd0=imagefile.iso
The write speed should be detected and automatically set according to the media and
the drive being used. If you want to force the write speed, use the -speed=
parameter. For more information, read the
growisofs(1)
manual page.
A DVD-Video is a specific file layout based on ISO 9660 and the micro-UDF (M-UDF)
specifications. The DVD-Video also presents a specific data structure hierarchy, it is
the reason why you need a particular program such as multimedia/dvdauthor to author the DVD.
If you already have an image of the DVD-Video file system, just burn it in the same
way as for any image, see the previous section for an example. If you have made the DVD
authoring and the result is in, for example, the directory /path/to/video, the following command should be used to burn the
DVD-Video:
# growisofs -Z /dev/cd0 -dvd-video /path/to/video
The -dvd-video
option will be passed down to
mkisofs(8) and
will instruct it to create a DVD-Video file system layout. Beside this, the -dvd-video
option implies -dvd-compat
growisofs(1)
option.
Unlike CD-RW, a virgin DVD+RW needs to be formatted before first use. The
growisofs(1)
program will take care of it automatically whenever appropriate, which is the recommended way. However you can use the
dvd+rw-format command to format the DVD+RW:
# dvd+rw-format /dev/cd0
You need to perform this operation just once, keep in mind that only virgin DVD+RW
medias need to be formatted. Then you can burn the DVD+RW in the way seen in previous
sections.
If you want to burn new data (burn a totally new file system not append some data)
onto a DVD+RW, you do not need to blank it, you just have to write over the previous
recording (in performing a new initial session), like this:
# growisofs -Z /dev/cd0 -J -R /path/to/newdata
DVD+RW format offers the possibility to easily append data to a previous recording.
The operation consists in merging a new session to the existing one, it is not
multisession writing,
growisofs(1)
will grow the ISO 9660 file system
present on the media.
For example, if we want to append data to our previous DVD+RW, we have to use the
following:
# growisofs -M /dev/cd0 -J -R /path/to/nextdata
The same
mkisofs(8)
options we used to burn the initial session should be used during next writes.
Note: You may want to use the -dvd-compat
option if
you want better media compatibility with DVD-ROM drives. In the DVD+RW case, this will
not prevent you from adding data.
If for any reason you really want to blank the media, do the following:
# growisofs -Z /dev/cd0=/dev/zero
A DVD-RW accepts two disc formats: the incremental sequential one and the restricted
overwrite. By default DVD-RW discs are in sequential format.
A virgin DVD-RW can be directly written without the need of a formatting operation,
however a non-virgin DVD-RW in sequential format needs to be blanked before to be able to
write a new initial session.
To blank a DVD-RW in sequential mode, run:
# dvd+rw-format -blank=full /dev/cd0
Note: A full blanking (-blank=full
) will take about
one hour on a 1x media. A fast blanking can be performed using the -blank
option if the DVD-RW will be recorded in Disk-At-Once (DAO)
mode. To burn the DVD-RW in DAO mode, use the command:
# growisofs -use-the-force-luke=dao -Z /dev/cd0=imagefile.iso
The -use-the-force-luke=dao
option should not be required
since
growisofs(1)
attempts to detect minimally (fast blanked) media and engage DAO write.
In fact one should use restricted overwrite mode with any DVD-RW, this format is more
flexible than the default incremental sequential one.
To write data on a sequential DVD-RW, use the same instructions as for the other DVD
formats:
# growisofs -Z /dev/cd0 -J -R /path/to/data
If you want to append some data to your previous recording, you will have to use the
growisofs(1)
-M
option. However, if you perform data addition on a DVD-RW
in incremental sequential mode, a new session will be created on the disc and the result
will be a multi-session disc.
A DVD-RW in restricted overwrite format does not need to be blanked before a new
initial session, you just have to overwrite the disc with the -Z
option, this is similar to the DVD+RW case. It is also possible
to grow an existing ISO 9660 file system written on the disc in a same way as for a
DVD+RW with the -M
option. The result will be a one-session
DVD.
To put a DVD-RW in the restricted overwrite format, the following command must be
used:
# dvd+rw-format /dev/cd0
To change back to the sequential format use:
# dvd+rw-format -blank=full /dev/cd0
Very few DVD-ROM drives support multisession DVDs, they will most of time, hopefully,
only read the first session. DVD+R, DVD-R and DVD-RW in sequential format can accept
multiple sessions, the notion of multiple sessions does not exist for the DVD+RW and the
DVD-RW restricted overwrite formats.
Using the following command after an initial (non-closed) session on a DVD+R, DVD-R,
or DVD-RW in sequential format, will add a new session to the disc:
# growisofs -M /dev/cd0 -J -R /path/to/nextdata
Using this command line with a DVD+RW or a DVD-RW in restricted overwrite mode, will
append data in merging the new session to the existing one. The result will be a
single-session disc. This is the way used to add data after an initial write on these
medias.
Note: Some space on the media is used between each session for end and start of
sessions. Therefore, one should add sessions with large amount of data to optimize media
space. The number of sessions is limited to 154 for a DVD+R, about 2000 for a DVD-R, and
127 for a DVD+R Double Layer.
To obtain more information about a DVD, the dvd+rw-mediainfo /dev/cd0 command can be ran with the disc in the
drive.
More information about the dvd+rw-tools can be found in the
growisofs(1)
manual page, on the dvd+rw-tools web site and in the cdwrite mailing list
archives.
Note: The dvd+rw-mediainfo output of the resulting
recording or the media with issues is mandatory for any problem report. Without this
output, it will be quite impossible to help you.
DVD-RAM writers come with either SCSI or ATAPI interface. DMA access for ATAPI devices
has to be enabled, this can be done by adding the following line to the /boot/loader.conf file:
hw.ata.atapi_dma="1"
As previously mentioned in the chapter introduction, a DVD-RAM can be seen as a
removable hard drive. As any other hard drive the DVD-RAM must be “prepared”
before the first use. In the example, the whole disk space will be used with a standard
UFS2 file system:
# dd if=/dev/zero of=/dev/acd0 bs=2k count=1
# bsdlabel -Bw acd0
# newfs /dev/acd0
The DVD device, acd0, must be changed according to the
configuration.
Once the previous operations have been performed on the DVD-RAM, it can be mounted as
a normal hard drive:
# mount /dev/acd0 /mnt
After this the DVD-RAM will be both readable and writeable.