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 rewriteable version of the DVD-R standard. A DVD-RW can be
rewritten about 1000 times.
-
DVD-RAM: This is also a rewriteable 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 few DVD writers will support the DVD-RAM.
-
DVD+RW: This is a rewriteable 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 difference must be done 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 just
must be sure the burner and the DVD-Video player (a standalone player or a DVD-ROM drive
on a computer) are compatible with the media.
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.
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.
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 sysutils/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 and DVD-Video players 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 and about 2000 for a
DVD-R.
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.