Difference between revisions of "Optical disc drive"

From ArchWiki
Jump to: navigation, search
(Overview)
m (See also: add link to lubburnia project)
(42 intermediate revisions by 4 users not shown)
Line 2: Line 2:
 
[[Category:Audio/Video]]
 
[[Category:Audio/Video]]
 
[[it:Optical Disc Drive]]
 
[[it:Optical Disc Drive]]
 +
[[zh-CN:Optical Disc Drive]]
 
{{Article summary start}}
 
{{Article summary start}}
 
{{Article summary text|This document outlines various methods of burning, playing and ripping CD/DVDs.}}
 
{{Article summary text|This document outlines various methods of burning, playing and ripping CD/DVDs.}}
Line 12: Line 13:
 
{{Article summary wiki|ScriptForDvdBackup}}
 
{{Article summary wiki|ScriptForDvdBackup}}
 
{{Article summary end}}
 
{{Article summary end}}
 +
{{Accuracy|This page is marked for possible improvement of content|Talk:Optical_Disc_Drive#How_to_contribute_as_upstream_developer_.3F}}
 
From [[wikipedia:Optical disc drive|wikipedia]]
 
From [[wikipedia:Optical disc drive|wikipedia]]
  
 
:''In computing, an optical disc drive (ODD) is a disk drive that uses laser light or electromagnetic waves within or near the visible light spectrum as part of the process of reading or writing data to or from optical discs. Some drives can only read from discs, but recent drives are commonly both readers and recorders, also called burners or writers. Compact discs, DVDs, and Blu-ray discs are common types of optical media which can be read and recorded by such drives. Optical drive is the generic name; drives are usually described as "CD" "DVD", or "Blu-ray", followed by "drive", "writer", etc.''
 
:''In computing, an optical disc drive (ODD) is a disk drive that uses laser light or electromagnetic waves within or near the visible light spectrum as part of the process of reading or writing data to or from optical discs. Some drives can only read from discs, but recent drives are commonly both readers and recorders, also called burners or writers. Compact discs, DVDs, and Blu-ray discs are common types of optical media which can be read and recorded by such drives. Optical drive is the generic name; drives are usually described as "CD" "DVD", or "Blu-ray", followed by "drive", "writer", etc.''
  
== CD burning ==
+
== Burning ==
+
 
=== Install CD-burning utilities ===
+
The burning process of optical disc drives consists of creating or obtaining an image and writing it to an optical medium. The image may in principle be any data file. If you want to mount the resulting medium, then it is usually an ISO 9660 filesystem image file. Audio and multi-media CDs are often burned from a BIN file, under control of a TOC file or a CUE file which tell the desired track layout.
 +
 
 +
=== Install burning utilities ===
 +
 
 +
If you want to use programs with graphical user interface, then follow [[#Burning_CD.2FDVD.2FBD_with_a_GUI|this link to the list of GUI programs]].
 +
 
 +
The programs listed here are the back ends which are used by most free GUI programs for CD, DVD, and BD. They are command line oriented. GUI users might get to them when it comes to troubleshooting or to scripting of burn activities.
 +
 
 +
You need at least one program for creation of filesystem images and one program that is able to burn data onto your desired media type.
 +
 
 +
Available programs for ISO 9660 image creation are:
 +
 
 +
* {{ic|genisoimage}} from package {{Pkg|cdrkit}}
 +
* {{ic|mkisofs}} from package {{Pkg|cdrtools}}
 +
* {{ic|xorriso}} and {{ic|xorrisofs}} from package {{Pkg|libisoburn}}
 +
 
 +
The traditional choice is {{ic|genisoimage}}.
 +
 
 +
Available programs for burning to media are:
 +
 
 +
* {{ic|cdrdao}} from package {{Pkg|cdrdao}} (CD only, TOC/CUE/BIN only)
 +
* {{ic|cdrecord}} from package {{Pkg|cdrtools}}
 +
* {{ic|cdrskin}} from package {{Pkg|libburn}}
 +
* {{ic|growisofs}} from package {{Pkg|dvd+rw-tools}} (DVD and BD only)
 +
* {{ic|wodim}} from package {{Pkg|cdrkit}} (CD only, DVD deprecated)
 +
* {{ic|xorriso}} and {{ic|xorrecord}} from package {{Pkg|libisoburn}}
  
From http://www.cdrkit.org/:
+
The traditional choices are {{ic|wodim}} for CD and {{ic|growisofs}} for DVD and Blu-ray Disk. For growisofs and BD-R see the bug workaround below.
 +
For writing TOC/CUE/BIN files to CD, install {{ic|cdrdao}}.
  
:''{{ic|cdrkit}} is a suite of programs for recording CDs and DVDs, blanking CD-RW media, creating ISO-9660 filesystem images, extracting audio CD data, and more. The programs included in the {{ic|cdrkit}} package were originally derived from several sources, most notably {{ic|mkisofs}} by Eric Youngdale and others, {{ic|cdda2wav}} by Heiko Eissfeldt, and {{ic|cdrecord}} by Jörg Schilling. However, {{ic|cdrkit}} is not affiliated with any of these authors; it is now an independent project.
+
The free GUI programs for CD, DVD, and BD burning depend on at least one of the above packages.
  
The {{Pkg|cdrkit}} package is available in the [[official repositories]].
+
The programs {{ic|genisoimage}}, {{ic|mkisofs}}, and {{ic|xorrisofs}} all three support the genisoimage options which are shown in this document.
  
For writing {{ic|cue}}/{{ic|bin}} files to CD, install the {{Pkg|cdrdao}} package.
+
The programs {{ic|cdrecord}}, {{ic|cdrskin}}, and {{ic|wodim}} all three support the shown wodim options. Program {{ic|xorrecord}} supports those which do not deal with audio CD.
  
 
{{Note|
 
{{Note|
* If you face any issues with {{ic|cdrkit}}, it is recommended to install {{Pkg|cdrtools}} from the community repository ({{ic|cdrkit}} is a fork of {{ic|cdrtools}}). {{ic|cdrtools}} is being actively developed and supports CD, DVD and Blu-ray burning along with complete CDRWIN {{ic|cue}}/{{ic|bin}} support. {{ic|cdrtools}} does not depend on {{ic|cdrdao}}. For more information, see [http://cdrecord.berlios.de/private/linux-dist.html this page] from the cdrtools site
+
* The installed files of packages {{Pkg|cdrkit}} and {{Pkg|cdrtools}} are in conflict. Install only one of them.
* Make sure that you build a package using [[makepkg]] and install with pacman. Pacman wrappers may resolve to cdrkit instead
+
* If you want to install cdrtools, make sure that you build a package using [[makepkg]] and install with [[pacman]]. Pacman wrappers may resolve to cdrkit instead.
 
}}
 
}}
  
=== Modifying the CD-RW ===
+
=== Making an ISO image from existing files on hard disk ===
  
For the remainder of this section the name of your recording device is assumed to be {{ic|/dev/cdrw}}. If that is not the case, modify the commands accordingly. In order to write to the CD it needs to be unmounted. If it is not, {{ic|wodim}} will give you an error message.
+
The most simple way to create an ISO image by help of ''genisoimage'' is to copy the needed files to one folder {{ic|./for_iso}} and to do:
  
If ''wodim'' gives you an error message similar to {{ic|Cannot open SCSI driver!}}, use the following command:
+
$ genisoimage -V "ARCHIVE_2013_07_27" -J -r -o isoimage.iso ./for_iso
  
$ modprobe sr_mod
+
The meaning of the options is:
 +
;-V: Gives the filesystem a name which will probably show up as mount point if the medium is mounted automatically. The ISO specs allow only "A" to "Z", "0" to "9", and "_". 32 characters at most.
 +
;-J: Prepares names of up to 64 UTF-16 characters for MS-Windows readers. Aka "Joliet".
 +
;-joliet-long: Would allow 103 UTF-16 characters for MS-Windows readers. Not conformant to Joliet specs.
 +
;-r: Prepares names of up to 255 characters for Unix readers and gives read permission for everybody. Aka "Rock Ridge".
 +
;-o: Sets the file path for the resulting ISO image.
  
You can try to let ''wodim'' locate your burning device with this command:
+
You can let genisoimage collect files and directories from various paths
  
  $ wodim -checkdrive
+
  $ genisoimage -V "BACKUP_2013_07_27" -J -r -o backup_2013_07_27.iso \
 +
  -graft-points \
 +
  /photos=/home/user/photos \
 +
  /mail=/home/user/mail \
 +
  /photos/holidays=/home/user/holidays/photos
  
=== Erasing CD-RW ===
+
;-graft-points: Enables the recognition of ''pathspecs'' which consist of a target address in the ISO filesystem (e.g. ''/photos'') and a source address on hard disk (e.g. ''/home/user/photos''). Both are separated by a {{ic|1= =}} character.
  
CD-RW media usually need to be erased before you can write new data on it. To blank CD-RW medium use this command:
+
So this example puts the disk directory {{ic|/home/user/photos}}, {{ic|/home/user/mail}} and {{ic|/home/user/holidays/photos}}, respectively in the ISO image as {{ic|/photos}}, {{ic|/mail}} and {{ic|/photos/holidays}}.
  
$ wodim -v dev=/dev/cdrw -blank=fast
+
Programs {{ic|mkisofs}} and {{ic|xorrisofs}} accept the same options. For secure backups consider to use {{ic|xorrisofs}} with option {{ic|--for_backup}}, which records eventual ACLs and stores an MD5 checksum for each data file.
  
As you might have guessed, this blanks your medium really fast, but you can also use some other options, just replace the word ''fast'' with one of the following:
+
See the manuals of the ISO 9660 programs for more info about their options:
 +
[http://linux.die.net/man/1/genisoimage genisoimage]
 +
[http://cdrecord.berlios.de/private/man/cdrecord/mkisofs.8.html mkisofs]
 +
[http://www.gnu.org/software/xorriso/man_1_xorrisofs.html xorrisofs]
  
;all: blank the entire disk
+
=== Mounting an ISO image ===
;disc: blank the entire disk
+
;disk: blank the entire disk
+
;fast: minimally blank the entire disk (PMA, TOC, pregap)
+
;minimal: minimally blank the entire disk (PMA, TOC, pregap)
+
;track: blank a track
+
;unreserve: unreserve a track
+
;trtail: blank a track tail
+
;unclose: unclose last session
+
;session: blank last session
+
  
=== Burning an ISO image ===
+
To test if the ISO image is proper, you can mount it (as root):
  
To burn an ISO image run:
+
# mount -t iso9660 -o ro,loop=/dev/loop0 cd_image /cdrom
  
$ cdrecord -v dev=/dev/sr0 isoimage.iso
+
You have to first load the loop module:
  
=== Verify the burnt ISO image ===
+
# modprobe loop
  
You can verify the integrity of the burnt CD to make sure it contains no errors. Always eject the CD and reinsert it before verifying.
+
Do not forget to unmount the image when your inspection of the image is done:
  
First calculate the md5sum of the original ISO image:
+
# umount /cdrom
  
{{hc|$ md5sum isoimage.iso|
+
See also [[Mounting images as user]] for mounting without root privileges.
e5643e18e05f5646046bb2e4236986d8 isoimage.iso
+
}}
+
  
If the CD was burnt in DAO (Disc At Once) mode by passing the -dao option to cdrecord you can calculate the md5sum of the burnt CD as follows:
+
=== Converting img/ccd to an ISO image ===
  
{{hc|$ md5sum /dev/sr0|
+
To convert an {{ic|img}}/{{ic|ccd}} image, you can use {{Pkg|ccd2iso}}:
e5643e18e05f5646046bb2e4236986d8 /dev/sr0
+
}}
+
  
If the CD was burnt in TAO (Track At Once) mode it can be verified with dd and md5sum. You need to know the number of sectors to check. You can calculate this by dividing the size of the ISO file by 2048, but for your convenience this is included in the output of cdrecord:
+
$ ccd2iso ~/image.img ~/image.iso
  
Track 01: Total bytes read/written: 90095616/90095616 (43992 sectors).
+
=== Learning the name of your optical drive ===
  
Then check if this matches the md5sum of the burnt image, replacing "count" with the number of sectors:
+
For the remainder of this section the name of your recording device is assumed to be {{ic|/dev/cdrw}}.
  
{{hc|<nowiki>$ dd if=/dev/sr0 bs=2048 count=43992 | md5sum</nowiki>|
+
Check this by
43992+0 records in
+
 
  43992+0 records out
+
$ wodim dev=/dev/cdrw -checkdrive
90095616 bytes (90 MB) copied, 0.359539 s, 251 MB/s
+
 
e5643e18e05f5646046bb2e4236986d8  -
+
which should report "Vendor_info" and "Identification" of the drive.
 +
The next guess could be {{ic|/dev/sr0}}.
 +
 
 +
If no drive is found, check whether any {{ic|/dev/sr*}} exist and whether they offer read/write permission ({{ic|wr-}}) to you or your group.
 +
If no {{ic|/dev/sr*}} exists then try
 +
 
 +
  # modprobe sr_mod
 +
 
 +
=== Reading an ISO image from a CD, DVD, or BD ===
 +
 
 +
You should determine the size of the ISO filesystem before copying it to hard disk. Most media types deliver more data than was written to them with the most recent burn run.
 +
 
 +
Use program {{ic|isosize}} out of package {{Pkg|util-linux}} to obtain the image size
 +
 
 +
  $ blocks=$(expr $(isosize /dev/cdrw) / 2048)
 +
 
 +
Have a look whether the obtained number of blocks is plausible
 +
 
 +
{{hc|$ echo "That would be $(expr $blocks / 512) MB"|
 +
That would be 589 MB
 
}}
 
}}
  
=== Burning an audio CD ===
+
Then copy the determined amount of data from medium to hard disk :
  
Create your audio tracks and store them as uncompressed, 16-bit stereo WAV files. To convert MP3 to WAV, ensure {{Pkg|lame}} is installed, {{ic|cd}} to the directoy with your MP3 files, and run:
+
  $ dd if=/dev/cdrw of=isoimage.iso bs=2048 count=$blocks
  
$ for i in *.mp3; do lame --decode "$i" "$(basename "$i" .mp3)".wav; done
+
Omit {{ic|1= count=$blocks}} if you did not determine the size. You will probably get more data than needed. The resulting file will nevertheless be mountable. It should still fit onto a medium of the same type as the medium from which the image was copied.
  
In case you get an error when trying to burn WAV files converted with lame try decoding with {{Pkg|mpg123}}:
+
If the original medium was bootable, then the copy will be a bootable image. You may use it as pseudo CD for a virtual machine or burn it onto optical media which should then become bootable.
  
$ for i in *.mp3; do mpg123 --rate 44100 --stereo --buffer 3072 --resync -w $(basename $i .mp3).wav $i; done
+
=== Erasing CD-RW and DVD-RW ===
  
Name the audio files in a manner that will cause them to be listed in the desired track order when listed alphabetically, such as {{ic|01.wav}}, {{ic|02.wav}}, {{ic|03.wav}}, etc.
+
Used CD-RW media need to be erased before you can write over the previously recorded data. This is done by
Use the following command to simulate burning the wav files as an audio CD:
+
  
$ wodim -dummy -v -pad speed=1 dev=/dev/cdrw -dao -swab *.wav
+
  $ wodim -v dev=/dev/cdrw blank=fast
  
In case you detect errors or empty tracks like:
+
Unformatted DVD-RW media need the same treatment before re-use. But fast blanking deprives them of the capability for multi-session and recording of streams of unpredicted length. So one should apply
  
Track 01: audio    0 MB (00:00.00) no preemp pad
+
  $ dvd+rw-format -blank=full /dev/cdrw
  
try another decoder (e.g. mpg123) or try using cdrecord from the {{Pkg|cdrtools}} package.
+
{{ic|1= dvd+rw-format}} is part of package {{Pkg|dvd+rw-tools}}. Alternative commands are
 +
  $ cdrecord -v dev=/dev/cdrw blank=all
 +
  $ cdrskin -v dev=/dev/cdrw blank=all
 +
  $ xorriso -outdev /dev/cdrw -blank as_needed
  
Note that {{Pkg|cdrkit}} also contains a cdrecord command but it is just a softlink to ''wodim''.
+
Formatted DVD-RW media can be overwritten without such erasure. So consider to apply once in their life time
If anything worked you can remove the dummy flag to really burn the CD
+
  
To test the new audio CD, use [[MPlayer]]:
+
  $ dvd+rw-format -force /dev/cdrw
  
$ mplayer cdda://
+
Alternative commands are
 +
  $ cdrskin -v dev=/dev/cdrw blank=format_overwrite
 +
  $ xorriso -outdev /dev/cdrw -format as_needed
  
=== Burning a bin/cue ===
+
All other media are either write-once (CD-R, DVD-R, DVD+R, BD-R) or are overwritable without the need for erasing (DVD-RAM, DVD+RW, BD-RE).
  
To burn a bin/cue image run:
+
=== Burning an ISO image to CD, DVD, or BD ===
  
$ cdrdao write --device /dev/cdrw image.cue
+
To burn a readily prepared ISO image file {{ic|isoimage.iso}} onto an optical medium, run for CD:
  
=== Making an ISO image from an existing CD ===
+
$ wodim -v -sao dev=/dev/cdrw isoimage.iso
  
To copy an existing CD just type:
+
and for DVD or BD:
  
  $ readom -v dev=/dev/cdrw f=isoimage.iso
+
  $ growisofs -dvd-compat -Z /dev/cdrw=isoimage.iso
  
{{Note|If you get "Error trying to open /dev/cdrw exclusively (Device or resource busy)...", unmount the CD with
+
The programs {{ic|cdrecord}}, {{ic|cdrskin}}, and {{ic|xorrecord}} may be used on all kinds of media with the options shown with {{ic|wodim}}.
 +
 
 +
{{Note|
 +
* Make sure that the medium is not mounted when you begin to write to it. Mounting may happen automatically if the medium contains a readable filesystem. In best case it will prevent the burn programs from using the burner device. In worst case there will be misburns because read operations disturbed the drive.
 +
So if in doubt, do:
 
  # umount /dev/cdrw
 
  # umount /dev/cdrw
Replace /dev/cdrw with /dev/cdrom if it's a CDRom.}}
+
* {{ic|growisofs}} has a small bug with blank BD-R media. It issues an error message after the burning is complete. Programs like {{ic|k3b}} then believe the whole burn run failed.
 +
To prevent this, either
 +
** format the blank BD-R by {{ic|dvd+rw-format /dev/cdrw}} before submitting it to growisofs
 +
** or use growisofs option {{ic|1= -use-the-force-luke=spare:none}}
 +
}}
  
You do not want to use dd or cat as they provide no error checking, but for reference here are those commands:
+
=== Verifying the burnt ISO image ===
  
$ dd if=/dev/cdrw of=/home/user/isoimage.iso
+
You can verify the integrity of the burnt medium to make sure it contains no errors. Always eject the medium and reinsert it before verifying. The kernel will learn about the new content only by that reinsertion.
  
or with cat:
+
First calculate the md5sum of the original ISO image:
  
$ cat /dev/cdrw > isoimage.iso
+
{{hc|$ md5sum isoimage.iso|
 +
e5643e18e05f5646046bb2e4236986d8 isoimage.iso
 +
}}
  
Or use the {{ic|readcd}} program (which is now a symlink to readom), also in the {{ic|cdrkit}} package:
+
Next calculate the md5sum of the ISO filesystem on the medium.
 +
Although some media types deliver exactly the same amount of data as have been submitted to the burn program, many others append trailing garbage when being read. So you should restrict reading to the size of the ISO image file.
 +
 +
$ blocks=$(expr $(ls -l isoimage.iso | awk '{print $5}') / 2048)
  
$ readcd -v dev=/dev/cdrw -f isoimage.iso
+
{{hc|<nowiki>$ dd if=/dev/cdrw bs=2048 count=$blocks | md5sum</nowiki>|
 +
43992+0 records in
 +
43992+0 records out
 +
90095616 bytes (90 MB) copied, 0.359539 s, 251 MB/s
 +
e5643e18e05f5646046bb2e4236986d8  -
 +
}}
  
If the original CD was bootable it will be a bootable image.
+
Both runs should yield the same MD5 sum (here: {{ic|e5643e18e05f5646046bb2e4236986d8}}). If they do not, you will propbably also get an i/o error message from the {{ic|dd}} run. {{ic|dmesg}} might then tell about SCSI errors and block numbers, if you are interested.
  
==== TOC/CUE/BIN for mixed-mode disks ====
+
=== ISO 9660 and Burning On-The-Fly ===
  
ISO images only store a single data track. If you want to create an image of a mixed-mode disk (data track with multiple audio tracks) then you need to make a TOC/BIN pair:
+
It is not necessary to store an emerging ISO filesystem on hard disk before writing it to optical media. Only very old CD drives at very old computers could suffer misburns due to empty drive buffer.
  
$ cdrdao read-cd --read-raw --datafile IMAGE.bin --driver generic-mmc:0x20000 --device /dev/cdrom IMAGE.toc
+
If you omit option {{ic|-o}} from {{ic|genisoimage}} then it writes the ISO image to standard output. This can be piped into the standard input of burn programs.
  
Some software only likes CUE/BIN pair, you can make a CUE sheet with {{ic|toc2cue}} (part of {{ic|cdrdao}}):
+
$ genisoimage -V "ARCHIVE_2013_07_27" -J -r ./for_iso | \
 +
  wodim -v dev=/dev/cdrw -waiti -
  
$ toc2cue IMAGE.toc IMAGE.cue
+
Option {{ic|-waiti}} is not really needed here. It prevents {{ic|wodim}} from writing to the medium before {{ic|genisoimage}} starts its output. This would allow {{ic|genisoimage}} to read the medium without disturbing an already started burn run. See next section about multi-session.
  
=== Making an ISO image from existing files on hard disk ===
+
On DVD and BD you may let{{ic|growisofs}} operate {{ic|genisoimage}} for you and burn its output on-the-fly
  
To make an iso image just copy the needed files to one folder, then do:
+
$ export MKISOFS="genisoimage"
 +
$ growisofs -Z /dev/cdrw -V "ARCHIVE_2013_07_27" -r -J ./for_iso
  
$ mkisofs -V volume_name -J -r -o isoimage.iso ~/folder
+
=== Multi-session ===
  
=== Mounting an ISO image ===
+
ISO 9660 multi-session means that a medium with readable filesystem is still writable at its first unused block address, and that a new ISO directory tree gets written to this unused part.
 +
The new tree is accompanied by the content blocks of newly added or overwritten data files. The blocks of data files, which shall stay as in the old ISO tree, will not be written again.
 +
 +
Linux and many other operating systems will mount the directory tree in the last session on the medium. This youngest tree will normally show the files of the older sessions, too.
  
To test if the ISO image is proper, you can mount it (as root):
+
==== Multi-session by wodim ====
  
# mount -t iso9660 -o ro,loop=/dev/loop0 cd_image /cdrom
+
CD-R and CD-RW stay writable (aka "appendable") if wodim option {{ic|-multi}} was used
  
You have to first load the loop module:
+
$ wodim -v -multi dev=/dev/cdrw isoimage.iso
  
# modprobe loop
+
Then the medium can be inquired for the parameters of the next session
  
See also [[Mounting images as user]] for doing this without root privileges.
+
$ m=$(wodim dev=/dev/cdrw -msinfo)
  
=== Converting to an ISO image ===
+
By help of these parameters and of the readable medium in the drive you can produce the add-on ISO session
  
To convert an {{ic|img}}/{{ic|ccd}} image, you can use {{Pkg|ccd2iso}}:
+
$ genisoimage -M /dev/cdrw -C "$m" \
 +
    -V "ARCHIVE_2013_07_28" -J -r -o session2.iso ./more_for_iso
  
$ ccd2iso ~/image.img ~/image.iso
+
Finally append the session to the medium and keep it appendable again
  
== DVD burning ==
+
$ wodim -v -multi dev=/dev/cdrw session2.iso
  
Writing (or "burning") DVDs requires a different approach than burning CDs. DVDs offer much higher capacities, and the standard CD writing tools will not suffice.
+
Programs {{ic|cdrskin}} and {{ic|xorrecord}} do this too with DVD-R, DVD+R, BD-R and unformatted DVD-RW. Program {{ic|cdrecord}} does multi-session with at least DVD-R and DVD-RW. They all do with CD-R and CD-RW, of course.
  
This guide covers a narrow scope for now: writing data onto DVDs using the command line.
+
Most re-usable media types do not record a session history that would be recognizable for a mounting kernel. But with ISO 9660 it is possible to achieve the multi-session effect even on those media.
  
=== Required packages ===
+
{{ic|growisofs}} and {{ic|xorriso}} can do this and hide most of the complexity.
  
# You still need the standard CD writing tools known as {{Pkg|cdrtools}} (which can be replaced by {{Pkg|cdrkit}}, if desired).
+
==== Multi-session by growisofs ====
# You also need the new DVD writing tools known as {{Pkg|dvd+rw-tools}} found in the [[Official Repositories|official repositories]].
+
  
{{Note|1= <br>
+
{{ic|growisofs}} forwards most of its program arguments to a program that is compatible to {{ic|mkisofs}}. See above examples of {{ic|genisoimage}}.
* Do not install the package known as {{Pkg|dvdrtools}}. It conflicts with {{Pkg|cdrtools}}, and {{Pkg|dvd+rw-tools}} is the superior DVD writing package.
+
It bans option {{ic|-o}} and deprecates option {{ic|-C}}.
* {{Pkg|cdrtools}} provides all the functionality of {{Pkg|dvd+rw-tools}}, as growisofs depends on mkisofs. Also the development of {{ic|dvd+rw-tools}} seems to be stalled for the past 5 years (the last release was in [http://fy.chalmers.se/~appro/linux/DVD+RW/tools/?M=D 2008])}}
+
By default it uses the installed program named "mkisofs". You may let it choose one of the others by setting environment variable {{ic|MKISOFS}}
  
{{Tip|If you wish to use a graphical front-end, install {{Pkg|k3b}} or {{Pkg|brasero}}, and you need to read no further.}}
+
$ export MKISOFS="genisoimage"
 +
$ export MKISOFS="xorrisofs"
  
=== Procedure ===
+
The wish to begin with a new ISO filesystem on the optical medium is expressed by option {{ic|-Z}}
  
This guide will use the command {{ic|growisofs}} from the {{Pkg|dvd+rw-tools}} package. If you have ever written CDs from the command line before, you will know the process of first creating an iso9660 file ({{ic|mkisofs}}), and then burning it to CD ({{ic|cdrecord}}). {{ic|growisofs}} merges these steps, so you do not need extra storage space for the ISO file anymore. Another advantage is that multisession writing has been simplified.
+
$ growisofs -Z /dev/cdrw -V "ARCHIVE_2013_07_27" -r -J ./for_iso
  
==== Overview ====
+
The wish to append more files as new session to an existing ISO filesystem is expressed by option {{ic|-M}}
  
Essentially, writing a '''new''' DVD follows this procedure:
+
$ growisofs -M /dev/cdrw -V "ARCHIVE_2013_07_28" -r -J ./more_for_iso
  
$ growisofs -Z /dev/sr0 -r -J ''/path/to/files''
+
For details see the [http://linux.die.net/man/1/growisofs growisofs manual] and the manuals of {{ic|genisoimage}}, {{ic|mkisofs}}, {{ic|xorrisofs}}.
  
where {{ic|/dev/sr0}} is your DVD writer device.
+
==== Multi-session by xorriso ====
  
To '''continue''' a DVD (write an additional session), you use:
+
{{ic|xorriso}} learns the wish to begin with a new ISO filesystem from the blank state of the medium. So it is appropriate to blank it if it contains data. The command {{ic|-blank as_needed}} applies to all kinds of re-usable media and even to ISO images in data files on hard disk. It does not cause error if applied to a blank write-once medium.
  
  $ growisofs -M /dev/sr0 -r -J ''/path/to/files''
+
  $ xorriso -outdev /dev/cdrw -blank as_needed \
 +
          -volid "ARCHIVE_2013_07_27" -joliet on -add ./for_iso --
  
To burn an ISO '''image''' to disc, use:
+
On non-blank writable media xorriso appends the newly given disk files if command {{ic|-dev}} is used rather than {{ic|-outdev}}. Of course, no command {{ic|-blank}} should be given here
  
  $ growisofs -dvd-compat -Z /dev/sr0=''/path/to/iso''
+
  $ xorriso -dev /dev/cdrw \
 +
          -volid "ARCHIVE_2013_07_28" -joliet on -add ./more_for_iso --
  
To create a video DVD, use the following:
+
For details see the [http://www.gnu.org/software/xorriso/man_1_xorriso.html manual page] and especially its [http://www.gnu.org/software/xorriso/man_1_xorriso.html#EXAMPLES examples]
  
$ growisofs -Z /dev/sr0 -dvd-video ''/path/to/video''
+
=== BD Defect Management ===
  
; {{ic|-Z}}: start at the beginning of the DVD using the following device
+
BD-RE and formatted BD-R media are normally written with enabled Defect Management. This feature reads the written blocks while they are still stored in the drive buffer. In case of poor read quality the blocks get written again or redirected to the ''Spare Area'' where the data get stored in replacement blocks.
; {{ic|-M}}: start after the last session on the disc using the following device
+
; {{ic|-r}}: [[Wikipedia:Rock Ridge|Rock Ridge]] support with sane permission settings (recommended, extended Unix info)
+
; {{ic|-J}}: [[Wikipedia:Joliet (file system)|Joliet]] support (recommended, extended info for Windows NT and Windows 95)
+
  
{{Note|{{ic|-r}} will choose different permissions than the real ones; to use the exact permissions use {{ic|-R}} instead. See the man page of {{ic|mkisofs}} for more information.}}
+
This checkreading reduces write speed to at most half of the nominal speed of drive and BD medium. Sometimes it is even worse. Heavy use of the Spare Area causes long delays during read operations. So Defect Management is not always desirable.
  
{{Note|
+
{{ic|cdrecord}} does not format BD-R. It has no means to prevent Defect Management on BD-RE media, though.
{{ic|growisofs}} has a small bug with blank BD-R media. It issues an error message after the burning is complete. Programs like {{ic|k3b}} then believe the whole burn run failed.
+
To prevent this, either
+
* format the blank BD-R by {{ic|dvd+rw-format /dev/cdrw}} before submitting it to growisofs
+
* or use growisofs option {{ic|1= -use-the-force-luke=spare:none}}
+
}}
+
  
{{Tip|1=If you want to copy an existing DVD, one way that works is to make an ISO using {{ic|readcd}}:
+
{{ic|growisofs}} formats BD-R by default. This can be prevented by option {{ic|1= -use-the-force-luke=spare:none}}. It has no means to prevent Defect Management on BD-RE media, though.
$ readcd -v dev=/dev/sr0 -f image.iso
+
  
as for [[#CD burning|CD burning]], then use the {{ic|growisofs}} example above to burn the ISO to a new blank disc.}}
+
{{ic|cdrskin}}, {{ic|xorriso}}, and {{ic|xorrecord}} do not format BD-R by default. They do with {{ic|1= cdrskin blank=format_if_needed}}, resp. {{ic|1= xorriso -format as_needed}}, resp. {{ic|1= xorrecord blank=format_overwrite}}.
 +
These three programs can disable Defect Management with BD-RE and already formatted BD-R by {{ic|1= cdrskin stream_recording=on}}, resp. {{ic|1= xorriso -stream_recording on}}, resp. {{ic|1= xorrecord stream_recording=on}}.
  
==== Example ====
+
=== Burning an audio CD ===
  
Although the above might suffice for you, some users require extra settings to successfully write DVDs.
+
Create your audio tracks and store them as uncompressed, 16-bit stereo WAV files. To convert MP3 to WAV, ensure {{Pkg|lame}} is installed, {{ic|cd}} to the directoy with your MP3 files, and run:
  
A simple DVD writing template:
+
$ for i in *.mp3; do lame --decode "$i" "$(basename "$i" .mp3)".wav; done
  
$ growisofs -Z /dev/cdrw -v -l -dry-run -iso-level 3 -R -J -speed=2 -joliet-long -graft-points /files/=/path/to/files/
+
In case you get an error when trying to burn WAV files converted with lame try decoding with {{Pkg|mpg123}}:
  
; {{ic|-Z}}: as seen above, this starts a new DVD; to continue a multisession DVD, use {{ic|-M}}
+
$ for i in *.mp3; do mpg123 --rate 44100 --stereo --buffer 3072 --resync -w $(basename $i .mp3).wav $i; done
; {{ic|-v}}: increase verbosity level (more output)
+
; {{ic|-l}}: breaks DOS compatibility but allows for longer filenames
+
; {{ic|-dry-run}}: simulate writing (remove this flag if you are sure that everything is set up correctly)
+
; {{ic|-iso-level 3}}: defines how strict you want to adhere to the iso9660 standard ({{ic|-iso-level 1}} is very strict while {{ic|-iso-level 4}} is very loose)
+
; {{ic|-R}}: see above
+
; {{ic|-J}}: see above
+
; {{ic|1=-speed=2}}: start burning at 2X speed
+
; {{ic|-joliet-long}}: allows longer Joliet file names
+
  
The final part needs more explanation:
+
Name the audio files in a manner that will cause them to be listed in the desired track order when listed alphabetically, such as {{ic|01.wav}}, {{ic|02.wav}}, {{ic|03.wav}}, etc.
 +
Use the following command to simulate burning the wav files as an audio CD:
  
  -graft-points /files/=/path/to/files/
+
  $ wodim -dummy -v -pad speed=1 dev=/dev/cdrw -dao -swab *.wav
  
This specifies that files will be stored in the subdirectory {{ic|/files}} rather than the DVD root. See the {{ic|mkisofs}} manual for details.
+
In case you detect errors or empty tracks like:
  
{{Note|{{ic|growisofs}} is basically just a front-end to {{ic|mkisofs}}. That means that any option for {{ic|mkisofs}} also works with {{ic|growisofs}}. See the {{ic|mkisofs}} man page for details.}}
+
Track 01: audio    0 MB (00:00.00) no preemp pad
  
=== Re-writable DVDs ===
+
try another decoder (e.g. mpg123) or try using cdrecord from the {{Pkg|cdrtools}} package.
  
The process for burning re-writable discs is almost the same as for normal DVDs. However, keep in mind that virgin DVD+RW media needs to be initially formatted ("blanked") prior to usage. Blanking can be done using the program {{ic|dvd+rw-format}} like this:
+
Note that {{Pkg|cdrkit}} also contains a cdrecord command but it is just a softlink to ''wodim''.
 +
If anything worked you can remove the dummy flag to really burn the CD
  
$ dvd+rw-format /dev/cdrw
+
To test the new audio CD, use [[MPlayer]]:
  
where {{ic|/dev/cdrw}} is your DVD writer device.
+
$ mplayer cdda://
 +
 
 +
=== Burning a bin/cue ===
 +
 
 +
To burn a bin/cue image run:
 +
 
 +
$ cdrdao write --device /dev/cdrw image.cue
 +
 
 +
==== TOC/CUE/BIN for mixed-mode disks ====
 +
 
 +
ISO images only store a single data track. If you want to create an image of a mixed-mode disk (data track with multiple audio tracks) then you need to make a TOC/BIN pair:
 +
 
 +
$ cdrdao read-cd --read-raw --datafile IMAGE.bin --driver generic-mmc:0x20000 --device /dev/cdrom IMAGE.toc
 +
 
 +
Some software only likes CUE/BIN pair, you can make a CUE sheet with {{ic|toc2cue}} (part of {{ic|cdrdao}}):
 +
 
 +
$ toc2cue IMAGE.toc IMAGE.cue
 +
 
 +
=== Burn Backend Problems ===
 +
 
 +
If you experience problems, you may ask for advise at mailing list [mailto:cdwrite@other.debian.org cdwrite@other.debian.org] . Or ask for advise at the support mail addresses if some are listed near the end of the program's man page.
 +
 
 +
Tell the command lines you tried, the medium type (e.g. CD-R, DVD+RW, ...), and the symptoms of failure (program messages, disappointed user expectation, ...).
 +
You will possibly get asked to obtain the newest release or development version of the affected program and to make test runs. But the answer might as well be, that your drive dislikes the particular medium.
 +
 
 +
=== Burning CD/DVD/BD with a GUI ===
 +
 
 +
{{Wikipedia|Comparison of disc authoring software|Wikipedia - Comparison of disc authoring software}}
 +
There are several applications available to burn CDs in a graphical environment.
 +
 
 +
* {{App|[[Wikipedia:AcetoneISO|AcetoneISO]]|All in one ISO tool (supports BIN, MDF, NRG, IMG, DAA, DMG, CDI, B5I, BWI, PDI and ISO)|http://sourceforge.net/projects/acetoneiso|{{Pkg|acetoneiso2}}}}
 +
* {{App|BashBurn|Lightweight terminal based menu frontend for CD/DVD burning tools|http://bashburn.dose.se/|{{Pkg|bashburn}}}}
 +
* {{App|[[Wikipedia:Brasero (software)|Brasero]]|Disc burning application for the GNOME desktop that is designed to be as simple as possible. Part of {{Grp|gnome-extra}}|http://projects.gnome.org/brasero/|{{Pkg|brasero}}}}
 +
* {{App|cdw|Ncurses frontend to cdrecord, mkisofs, growisofs, dvd+rw-mediainfo, dvd+rw-format, xorriso|http://cdw.sourceforge.net/|{{AUR|cdw}}}}
 +
* {{App|[[Wikipedia:GnomeBaker|GnomeBaker]]|Full featured CD/DVD burning application for the GNOME desktop|http://gnomebaker.sourceforge.net/|{{AUR|gnomebaker}}}}
 +
* {{App|Graveman|GTK-based CD/DVD burning application. It requires configuration to point to correct devices|http://graveman.tuxfamily.org/|{{AUR|graveman}}}}
 +
* {{App|[[Wikipedia:ISO_Master|isomaster]]|ISO image editor|http://littlesvr.ca/isomaster|{{AUR|isomaster}}}}
 +
* {{App|[[Wikipedia:K3b|K3b]]|Feature-rich and easy to handle CD burning application based on Kdelibs|http://www.k3b.org/|{{Pkg|k3b}}}}
 +
* {{App|Silicon empire|Qt-based set of tools to manage and organize your optical discs like CDs, DVDs and Blu-rays|http://getsilicon.org/|{{AUR|silicon-empire}}}}
 +
* {{App|[[Wikipedia:X-CD-Roast|X-CD-Roast]]|Lightweight cdrtools front-end for CD and DVD writing|http://www.xcdroast.org/|{{AUR|xcdroast}}}}
 +
* {{App|Xfburn|Simple frontend to the libburnia libraries with support for CD/DVD(-RW), ISO images and BurnFree|http://goodies.xfce.org/projects/applications/xfburn|{{Pkg|xfburn}}}}
 +
 
 +
==== Nero Linux ====
 +
 
 +
Nero Linux is a commercial burning suite from makers of Nero for Windows - Nero AG. The biggest advantage of Nero linux is its interface which similar to window version. Hence, users migrating from windows might find it easy to operate. The Linux version now includes Nero Express, a wizard which takes users through the process of burning CDs and DVDs step-by-step, which users will be familiar with from the Windows version. Also new in version 4 is Blu-ray Disc defect management, integration of Isolinux for creating bootable media and support for Musepack and AIFF audio formats...
 +
 
 +
Nero Linux 4 retails at £17.99 with a free trial version also available.
 +
 
 +
* [http://www.nero.com/enu/linux4.html Nero Linux 4]
 +
* {{AUR|nerolinux}} [[AUR]] package
 +
 
 +
Nero Linux offers some features, like :
 +
 
 +
* Easy, wizard-style user interface for guided burning with Nero Linux Express 4
 +
* Full Blu-ray Burning Support
 +
* Supports Burning of Audio CD (CD-DA), ISO 9660 (Joliet support), CD-Text, ISOLINUX Bootable, Multi-session Discs, DVD-Video and miniDVD, DVD double layer support.
 +
* Advanced burning with Nero Burning ROM and command line client
 +
 
 +
{{Note|For Nero Linux you need to load {{ic|sg}} module at boot time. Put a namesake file in {{ic|/etc/modules-load.d}}:
 +
{{hc|/etc/modules-load.d/sg.config|
 +
sg
 +
}}
 +
Some updates ago the sg module was not auto loaded any more and Nero needs it.}}
  
 
== DVD playing ==
 
== DVD playing ==
Line 351: Line 474:
 
Define its mime types (known playback file type abilities) by doing:
 
Define its mime types (known playback file type abilities) by doing:
  
<pre>sed -i 's|^Mimetype.*$|MimeType=video/dv;video/mpeg;video/x-mpeg;video/msvideo;video/quicktime;video/x-anim;video/x-avi;video/x-ms-asf;video/x-ms-wmv;video/x-msvideo;video/x-nsv;video/x-flc;video/x-fli;application/ogg;application/x-ogg;application/x-matroska;audio/x-mp3;audio/x-mpeg;audio/mpeg;audio/x-wav;audio/x-mpegurl;audio/x-scpls;audio/x-m4a;audio/x-ms-asf;audio/x-ms-asx;audio/x-ms-wax;application/vnd.rn-realmedia;audio/x-real-audio;audio/x-pn-realaudio;application/x-flac;audio/x-flac;application/x-shockwave-flash;misc/ultravox;audio/vnd.rn-realaudio;audio/x-pn-aiff;audio/x-pn-au;audio/x-pn-wav;audio/x-pn-windows-acm;image/vnd.rn-realpix;video/vnd.rn-realvideo;audio/x-pn-realaudio-plugin;application/x-extension-mp4;audio/mp4;video/mp4;video/mp4v-es;x-content/video-vcd;x-content/video-svcd;x-content/video-dvd;x-content/audio-cdda;x-content/audio-player;|' ~/.local/share/applications/vlc.desktop</pre>
+
{{bc|<nowiki>sed -i 's|^Mimetype.*$|MimeType=video/dv;video/mpeg;video/x-mpeg;video/msvideo;video/quicktime;video/x-anim;video/x-avi;video/x-ms-asf;video/x-ms-wmv;video/x-msvideo;video/x-nsv;video/x-flc;video/x-fli;application/ogg;application/x-ogg;application/x-matroska;audio/x-mp3;audio/x-mpeg;audio/mpeg;audio/x-wav;audio/x-mpegurl;audio/x-scpls;audio/x-m4a;audio/x-ms-asf;audio/x-ms-asx;audio/x-ms-wax;application/vnd.rn-realmedia;audio/x-real-audio;audio/x-pn-realaudio;application/x-flac;audio/x-flac;application/x-shockwave-flash;misc/ultravox;audio/vnd.rn-realaudio;audio/x-pn-aiff;audio/x-pn-au;audio/x-pn-wav;audio/x-pn-windows-acm;image/vnd.rn-realpix;video/vnd.rn-realvideo;audio/x-pn-realaudio-plugin;application/x-extension-mp4;audio/mp4;video/mp4;video/mp4v-es;x-content/video-vcd;x-content/video-svcd;x-content/video-dvd;x-content/audio-cdda;x-content/audio-player;|' ~/.local/share/applications/vlc.desktop</nowiki>}}
  
 
Then in '''System Settings > Details >> Default Applications ''' and on the '''Video''' drop-down menu, select '''Open VLC media player'''.}}
 
Then in '''System Settings > Details >> Default Applications ''' and on the '''Video''' drop-down menu, select '''Open VLC media player'''.}}
Line 360: Line 483:
  
 
[http://www.xine-project.org/ xine home page]
 
[http://www.xine-project.org/ xine home page]
 
== Burning CD/DVD with a GUI ==
 
 
{{Wikipedia|Comparison of disc authoring software|Wikipedia - Comparison of disc authoring software}}
 
There are several applications available to burn CDs in a graphical environment.
 
 
* {{App|[[Wikipedia:AcetoneISO|AcetoneISO]]|All in one ISO tool (supports BIN, MDF, NRG, IMG, DAA, DMG, CDI, B5I, BWI, PDI and ISO)|http://sourceforge.net/projects/acetoneiso|{{Pkg|acetoneiso2}}}}
 
* {{App|BashBurn|Lightweight terminal based menu frontend for CD/DVD burning tools|http://bashburn.dose.se/|{{Pkg|bashburn}}}}
 
* {{App|[[Wikipedia:Brasero (software)|Brasero]]|Disc burning application for the GNOME desktop that is designed to be as simple as possible. Part of {{Grp|gnome-extra}}|http://projects.gnome.org/brasero/|{{Pkg|brasero}}}}
 
* {{App|cdw|Ncurses frontend to cdrecord, mkisofs, growisofs, dvd+rw-mediainfo, dvd+rw-format, xorriso|http://cdw.sourceforge.net/|{{AUR|cdw}}}}
 
* {{App|[[Wikipedia:GnomeBaker|GnomeBaker]]|Full featured CD/DVD burning application for the GNOME desktop|http://gnomebaker.sourceforge.net/|{{AUR|gnomebaker}}}}
 
* {{App|Graveman|GTK-based CD/DVD burning application. It requires configuration to point to correct devices|http://graveman.tuxfamily.org/|{{AUR|graveman}}}}
 
* {{App|[[Wikipedia:K3b|K3b]]|Feature-rich and easy to handle CD burning application based on Kdelibs|http://www.k3b.org/|{{Pkg|k3b}}}}
 
* {{App|Silicon empire|Qt-based set of tools to manage and organize your optical discs like CDs, DVDs and Blu-rays|http://getsilicon.org/|{{AUR|silicon-empire}}}}
 
* {{App|[[Wikipedia:X-CD-Roast|X-CD-Roast]]|Lightweight cdrtools front-end for CD and DVD writing|http://www.xcdroast.org/|{{AUR|xcdroast}}}}
 
* {{App|Xfburn|Simple frontend to the libburnia libraries with support for CD/DVD(-RW), ISO images and BurnFree|http://goodies.xfce.org/projects/applications/xfburn|{{Pkg|xfburn}}}}
 
 
=== Nero Linux ===
 
 
Nero Linux is a commercial burning suite from makers of Nero for Windows - Nero AG. The biggest advantage of Nero linux is its interface which similar to window version. Hence, users migrating from windows might find it easy to operate. The Linux version now includes Nero Express, a wizard which takes users through the process of burning CDs and DVDs step-by-step, which users will be familiar with from the Windows version. Also new in version 4 is Blu-ray Disc defect management, integration of Isolinux for creating bootable media and support for Musepack and AIFF audio formats...
 
 
Nero Linux 4 retails at £17.99 with a free trial version also available.
 
 
* [http://www.nero.com/enu/linux4.html Nero Linux 4]
 
* {{AUR|nerolinux}} [[AUR]] package
 
 
==== Features ====
 
 
* Easy, wizard-style user interface for guided burning with Nero Linux Express 4
 
* Full Blu-ray Burning Support
 
* Supports Burning of Audio CD (CD-DA), ISO 9660 (Joliet support), CD-Text, ISOLINUX Bootable, Multi-session Discs, DVD-Video and miniDVD, DVD double layer support.
 
* Advanced burning with Nero Burning ROM and command line client
 
 
{{Note|For Nero Linux you need to load {{ic|sg}} module at boot time. Put a namesake file in {{ic|/etc/modules-load.d}}:
 
{{hc|/etc/modules-load.d/sg.config|
 
sg
 
}}
 
Some updates ago the sg module wasn't auto loaded any more and Nero needs it.}}
 
  
 
== DVD ripping ==
 
== DVD ripping ==
  
Ripping is the process of copying audio or video content to a hard disk, typically from removable media or media streams.[http://en.wikipedia.org/wiki/Ripping]
+
Ripping is the process of copying audio or video content to a hard disk, typically from removable media or media streams.[[wikipedia:Ripping]]
  
 
Often, the process of ripping a DVD can be broken down into two subtasks:
 
Often, the process of ripping a DVD can be broken down into two subtasks:
Line 531: Line 616:
 
=== None of the above programs are able to rip/encode a DVD to my hard disk! ===
 
=== None of the above programs are able to rip/encode a DVD to my hard disk! ===
  
Make sure the region of your DVD-reader is set correctly, otherwise you'll get loads of unexplainable CSS-related errors. Use {{AUR|regionset}} to do so.
+
Make sure the region of your DVD-reader is set correctly, otherwise you will get loads of unexplainable CSS-related errors. Use {{AUR|regionset}} to do so.
 +
 
 +
=== GUI program log indicates problems with backend program ===
 +
 
 +
If you use a GUI program and experience problems which the program's log blames on some backend program, then try to reproduce the problem by the logged backend program arguments.
 +
Whether you succeed with reproducing or not, you may report the logged lines and your own findings to the places mentioned in [[#Burn_Backend_Problems|section Burn Backend Problems]].
 +
 
 +
==== Special case: Medium error / Write error ====
 +
 
 +
Here are some typical messages about the drive disliking the medium. This can only be solved by using a different drive or a different medium. A different program will hardly help.
 +
 
 +
K3b with backend wodim:
 +
Sense Bytes: 70 00 03 00 00 00 00 12 00 00 00 00 0C 00 00 00
 +
Sense Key: 0x3 Medium Error, Segment 0
 +
Sense Code: 0x0C Qual 0x00 (write error) Fru 0x0
 +
 
 +
Brasero with backend growisofs:
 +
BraseroGrowisofs stderr: :-[ WRITE@LBA=0h failed with SK=3h/ASC=0Ch/ACQ=00h]: Input/output error
 +
 
 +
Brasero with backend libburn:
 +
BraseroLibburn Libburn reported an error SCSI error on write(16976,16): [3 0C 00] Write error
  
 
== See also ==
 
== See also ==
Line 537: Line 642:
 
* RIAA and actual laws allow backup of physically obtained media under these conditions [https://www.riaa.com/physicalpiracy.php?content_selector=piracy_online_the_law RIAA - the law].
 
* RIAA and actual laws allow backup of physically obtained media under these conditions [https://www.riaa.com/physicalpiracy.php?content_selector=piracy_online_the_law RIAA - the law].
 
* [[Convert any Movie to DVD Video]]
 
* [[Convert any Movie to DVD Video]]
 +
* [http://libburnia-project.org/ Main page of the project Libburnia]

Revision as of 19:57, 4 August 2013

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary end

Tango-inaccurate.pngThe factual accuracy of this article or section is disputed.Tango-inaccurate.png

Reason: This page is marked for possible improvement of content (Discuss in Talk:Optical_Disc_Drive#How_to_contribute_as_upstream_developer_.3F)

From wikipedia

In computing, an optical disc drive (ODD) is a disk drive that uses laser light or electromagnetic waves within or near the visible light spectrum as part of the process of reading or writing data to or from optical discs. Some drives can only read from discs, but recent drives are commonly both readers and recorders, also called burners or writers. Compact discs, DVDs, and Blu-ray discs are common types of optical media which can be read and recorded by such drives. Optical drive is the generic name; drives are usually described as "CD" "DVD", or "Blu-ray", followed by "drive", "writer", etc.

Burning

The burning process of optical disc drives consists of creating or obtaining an image and writing it to an optical medium. The image may in principle be any data file. If you want to mount the resulting medium, then it is usually an ISO 9660 filesystem image file. Audio and multi-media CDs are often burned from a BIN file, under control of a TOC file or a CUE file which tell the desired track layout.

Install burning utilities

If you want to use programs with graphical user interface, then follow this link to the list of GUI programs.

The programs listed here are the back ends which are used by most free GUI programs for CD, DVD, and BD. They are command line oriented. GUI users might get to them when it comes to troubleshooting or to scripting of burn activities.

You need at least one program for creation of filesystem images and one program that is able to burn data onto your desired media type.

Available programs for ISO 9660 image creation are:

The traditional choice is genisoimage.

Available programs for burning to media are:

  • cdrdao from package cdrdao (CD only, TOC/CUE/BIN only)
  • cdrecord from package cdrtools
  • cdrskin from package libburn
  • growisofs from package dvd+rw-tools (DVD and BD only)
  • wodim from package cdrkit (CD only, DVD deprecated)
  • xorriso and xorrecord from package libisoburn

The traditional choices are wodim for CD and growisofs for DVD and Blu-ray Disk. For growisofs and BD-R see the bug workaround below. For writing TOC/CUE/BIN files to CD, install cdrdao.

The free GUI programs for CD, DVD, and BD burning depend on at least one of the above packages.

The programs genisoimage, mkisofs, and xorrisofs all three support the genisoimage options which are shown in this document.

The programs cdrecord, cdrskin, and wodim all three support the shown wodim options. Program xorrecord supports those which do not deal with audio CD.

Note:
  • The installed files of packages cdrkit and cdrtools are in conflict. Install only one of them.
  • If you want to install cdrtools, make sure that you build a package using makepkg and install with pacman. Pacman wrappers may resolve to cdrkit instead.

Making an ISO image from existing files on hard disk

The most simple way to create an ISO image by help of genisoimage is to copy the needed files to one folder ./for_iso and to do:

$ genisoimage -V "ARCHIVE_2013_07_27" -J -r -o isoimage.iso ./for_iso

The meaning of the options is:

-V
Gives the filesystem a name which will probably show up as mount point if the medium is mounted automatically. The ISO specs allow only "A" to "Z", "0" to "9", and "_". 32 characters at most.
-J
Prepares names of up to 64 UTF-16 characters for MS-Windows readers. Aka "Joliet".
-joliet-long
Would allow 103 UTF-16 characters for MS-Windows readers. Not conformant to Joliet specs.
-r
Prepares names of up to 255 characters for Unix readers and gives read permission for everybody. Aka "Rock Ridge".
-o
Sets the file path for the resulting ISO image.

You can let genisoimage collect files and directories from various paths

$ genisoimage -V "BACKUP_2013_07_27" -J -r -o backup_2013_07_27.iso \
  -graft-points \
  /photos=/home/user/photos \
  /mail=/home/user/mail \
  /photos/holidays=/home/user/holidays/photos
-graft-points
Enables the recognition of pathspecs which consist of a target address in the ISO filesystem (e.g. /photos) and a source address on hard disk (e.g. /home/user/photos). Both are separated by a = character.

So this example puts the disk directory /home/user/photos, /home/user/mail and /home/user/holidays/photos, respectively in the ISO image as /photos, /mail and /photos/holidays.

Programs mkisofs and xorrisofs accept the same options. For secure backups consider to use xorrisofs with option --for_backup, which records eventual ACLs and stores an MD5 checksum for each data file.

See the manuals of the ISO 9660 programs for more info about their options: genisoimage mkisofs xorrisofs

Mounting an ISO image

To test if the ISO image is proper, you can mount it (as root):

# mount -t iso9660 -o ro,loop=/dev/loop0 cd_image /cdrom

You have to first load the loop module:

# modprobe loop

Do not forget to unmount the image when your inspection of the image is done:

# umount /cdrom

See also Mounting images as user for mounting without root privileges.

Converting img/ccd to an ISO image

To convert an img/ccd image, you can use ccd2iso:

$ ccd2iso ~/image.img ~/image.iso

Learning the name of your optical drive

For the remainder of this section the name of your recording device is assumed to be /dev/cdrw.

Check this by

$ wodim dev=/dev/cdrw -checkdrive

which should report "Vendor_info" and "Identification" of the drive. The next guess could be /dev/sr0.

If no drive is found, check whether any /dev/sr* exist and whether they offer read/write permission (wr-) to you or your group. If no /dev/sr* exists then try

# modprobe sr_mod

Reading an ISO image from a CD, DVD, or BD

You should determine the size of the ISO filesystem before copying it to hard disk. Most media types deliver more data than was written to them with the most recent burn run.

Use program isosize out of package util-linux to obtain the image size

 $ blocks=$(expr $(isosize /dev/cdrw) / 2048)

Have a look whether the obtained number of blocks is plausible

$ echo "That would be $(expr $blocks / 512) MB"
That would be 589 MB

Then copy the determined amount of data from medium to hard disk :

 $ dd if=/dev/cdrw of=isoimage.iso bs=2048 count=$blocks

Omit count=$blocks if you did not determine the size. You will probably get more data than needed. The resulting file will nevertheless be mountable. It should still fit onto a medium of the same type as the medium from which the image was copied.

If the original medium was bootable, then the copy will be a bootable image. You may use it as pseudo CD for a virtual machine or burn it onto optical media which should then become bootable.

Erasing CD-RW and DVD-RW

Used CD-RW media need to be erased before you can write over the previously recorded data. This is done by

 $ wodim -v dev=/dev/cdrw blank=fast

Unformatted DVD-RW media need the same treatment before re-use. But fast blanking deprives them of the capability for multi-session and recording of streams of unpredicted length. So one should apply

 $ dvd+rw-format -blank=full /dev/cdrw

dvd+rw-format is part of package dvd+rw-tools. Alternative commands are

 $ cdrecord -v dev=/dev/cdrw blank=all
 $ cdrskin -v dev=/dev/cdrw blank=all
 $ xorriso -outdev /dev/cdrw -blank as_needed

Formatted DVD-RW media can be overwritten without such erasure. So consider to apply once in their life time

 $ dvd+rw-format -force /dev/cdrw

Alternative commands are

 $ cdrskin -v dev=/dev/cdrw blank=format_overwrite
 $ xorriso -outdev /dev/cdrw -format as_needed

All other media are either write-once (CD-R, DVD-R, DVD+R, BD-R) or are overwritable without the need for erasing (DVD-RAM, DVD+RW, BD-RE).

Burning an ISO image to CD, DVD, or BD

To burn a readily prepared ISO image file isoimage.iso onto an optical medium, run for CD:

$ wodim -v -sao dev=/dev/cdrw isoimage.iso

and for DVD or BD:

$ growisofs -dvd-compat -Z /dev/cdrw=isoimage.iso

The programs cdrecord, cdrskin, and xorrecord may be used on all kinds of media with the options shown with wodim.

Note:
  • Make sure that the medium is not mounted when you begin to write to it. Mounting may happen automatically if the medium contains a readable filesystem. In best case it will prevent the burn programs from using the burner device. In worst case there will be misburns because read operations disturbed the drive.

So if in doubt, do:

# umount /dev/cdrw
  • growisofs has a small bug with blank BD-R media. It issues an error message after the burning is complete. Programs like k3b then believe the whole burn run failed.

To prevent this, either

    • format the blank BD-R by dvd+rw-format /dev/cdrw before submitting it to growisofs
    • or use growisofs option -use-the-force-luke=spare:none

Verifying the burnt ISO image

You can verify the integrity of the burnt medium to make sure it contains no errors. Always eject the medium and reinsert it before verifying. The kernel will learn about the new content only by that reinsertion.

First calculate the md5sum of the original ISO image:

$ md5sum isoimage.iso
 e5643e18e05f5646046bb2e4236986d8 isoimage.iso

Next calculate the md5sum of the ISO filesystem on the medium. Although some media types deliver exactly the same amount of data as have been submitted to the burn program, many others append trailing garbage when being read. So you should restrict reading to the size of the ISO image file.

$ blocks=$(expr $(ls -l isoimage.iso | awk '{print $5}') / 2048)
$ dd if=/dev/cdrw bs=2048 count=$blocks | md5sum
 43992+0 records in
 43992+0 records out
 90095616 bytes (90 MB) copied, 0.359539 s, 251 MB/s
 e5643e18e05f5646046bb2e4236986d8  -

Both runs should yield the same MD5 sum (here: e5643e18e05f5646046bb2e4236986d8). If they do not, you will propbably also get an i/o error message from the dd run. dmesg might then tell about SCSI errors and block numbers, if you are interested.

ISO 9660 and Burning On-The-Fly

It is not necessary to store an emerging ISO filesystem on hard disk before writing it to optical media. Only very old CD drives at very old computers could suffer misburns due to empty drive buffer.

If you omit option -o from genisoimage then it writes the ISO image to standard output. This can be piped into the standard input of burn programs.

$ genisoimage -V "ARCHIVE_2013_07_27" -J -r ./for_iso | \
  wodim -v dev=/dev/cdrw -waiti -

Option -waiti is not really needed here. It prevents wodim from writing to the medium before genisoimage starts its output. This would allow genisoimage to read the medium without disturbing an already started burn run. See next section about multi-session.

On DVD and BD you may letgrowisofs operate genisoimage for you and burn its output on-the-fly

$ export MKISOFS="genisoimage"
$ growisofs -Z /dev/cdrw -V "ARCHIVE_2013_07_27" -r -J ./for_iso

Multi-session

ISO 9660 multi-session means that a medium with readable filesystem is still writable at its first unused block address, and that a new ISO directory tree gets written to this unused part. The new tree is accompanied by the content blocks of newly added or overwritten data files. The blocks of data files, which shall stay as in the old ISO tree, will not be written again.

Linux and many other operating systems will mount the directory tree in the last session on the medium. This youngest tree will normally show the files of the older sessions, too.

Multi-session by wodim

CD-R and CD-RW stay writable (aka "appendable") if wodim option -multi was used

$ wodim -v -multi dev=/dev/cdrw isoimage.iso

Then the medium can be inquired for the parameters of the next session

$ m=$(wodim dev=/dev/cdrw -msinfo)

By help of these parameters and of the readable medium in the drive you can produce the add-on ISO session

$ genisoimage -M /dev/cdrw -C "$m" \
   -V "ARCHIVE_2013_07_28" -J -r -o session2.iso ./more_for_iso

Finally append the session to the medium and keep it appendable again

$ wodim -v -multi dev=/dev/cdrw session2.iso

Programs cdrskin and xorrecord do this too with DVD-R, DVD+R, BD-R and unformatted DVD-RW. Program cdrecord does multi-session with at least DVD-R and DVD-RW. They all do with CD-R and CD-RW, of course.

Most re-usable media types do not record a session history that would be recognizable for a mounting kernel. But with ISO 9660 it is possible to achieve the multi-session effect even on those media.

growisofs and xorriso can do this and hide most of the complexity.

Multi-session by growisofs

growisofs forwards most of its program arguments to a program that is compatible to mkisofs. See above examples of genisoimage. It bans option -o and deprecates option -C. By default it uses the installed program named "mkisofs". You may let it choose one of the others by setting environment variable MKISOFS

$ export MKISOFS="genisoimage"
$ export MKISOFS="xorrisofs"

The wish to begin with a new ISO filesystem on the optical medium is expressed by option -Z

$ growisofs -Z /dev/cdrw -V "ARCHIVE_2013_07_27" -r -J ./for_iso

The wish to append more files as new session to an existing ISO filesystem is expressed by option -M

$ growisofs -M /dev/cdrw -V "ARCHIVE_2013_07_28" -r -J ./more_for_iso

For details see the growisofs manual and the manuals of genisoimage, mkisofs, xorrisofs.

Multi-session by xorriso

xorriso learns the wish to begin with a new ISO filesystem from the blank state of the medium. So it is appropriate to blank it if it contains data. The command -blank as_needed applies to all kinds of re-usable media and even to ISO images in data files on hard disk. It does not cause error if applied to a blank write-once medium.

$ xorriso -outdev /dev/cdrw -blank as_needed \
          -volid "ARCHIVE_2013_07_27" -joliet on -add ./for_iso --

On non-blank writable media xorriso appends the newly given disk files if command -dev is used rather than -outdev. Of course, no command -blank should be given here

$ xorriso -dev /dev/cdrw \
          -volid "ARCHIVE_2013_07_28" -joliet on -add ./more_for_iso --

For details see the manual page and especially its examples

BD Defect Management

BD-RE and formatted BD-R media are normally written with enabled Defect Management. This feature reads the written blocks while they are still stored in the drive buffer. In case of poor read quality the blocks get written again or redirected to the Spare Area where the data get stored in replacement blocks.

This checkreading reduces write speed to at most half of the nominal speed of drive and BD medium. Sometimes it is even worse. Heavy use of the Spare Area causes long delays during read operations. So Defect Management is not always desirable.

cdrecord does not format BD-R. It has no means to prevent Defect Management on BD-RE media, though.

growisofs formats BD-R by default. This can be prevented by option -use-the-force-luke=spare:none. It has no means to prevent Defect Management on BD-RE media, though.

cdrskin, xorriso, and xorrecord do not format BD-R by default. They do with cdrskin blank=format_if_needed, resp. xorriso -format as_needed, resp. xorrecord blank=format_overwrite. These three programs can disable Defect Management with BD-RE and already formatted BD-R by cdrskin stream_recording=on, resp. xorriso -stream_recording on, resp. xorrecord stream_recording=on.

Burning an audio CD

Create your audio tracks and store them as uncompressed, 16-bit stereo WAV files. To convert MP3 to WAV, ensure lame is installed, cd to the directoy with your MP3 files, and run:

$ for i in *.mp3; do lame --decode "$i" "$(basename "$i" .mp3)".wav; done

In case you get an error when trying to burn WAV files converted with lame try decoding with mpg123:

$ for i in *.mp3; do mpg123 --rate 44100 --stereo --buffer 3072 --resync -w $(basename $i .mp3).wav $i; done

Name the audio files in a manner that will cause them to be listed in the desired track order when listed alphabetically, such as 01.wav, 02.wav, 03.wav, etc. Use the following command to simulate burning the wav files as an audio CD:

$ wodim -dummy -v -pad speed=1 dev=/dev/cdrw -dao -swab *.wav

In case you detect errors or empty tracks like:

Track 01: audio    0 MB (00:00.00) no preemp pad

try another decoder (e.g. mpg123) or try using cdrecord from the cdrtools package.

Note that cdrkit also contains a cdrecord command but it is just a softlink to wodim. If anything worked you can remove the dummy flag to really burn the CD

To test the new audio CD, use MPlayer:

$ mplayer cdda://

Burning a bin/cue

To burn a bin/cue image run:

$ cdrdao write --device /dev/cdrw image.cue

TOC/CUE/BIN for mixed-mode disks

ISO images only store a single data track. If you want to create an image of a mixed-mode disk (data track with multiple audio tracks) then you need to make a TOC/BIN pair:

$ cdrdao read-cd --read-raw --datafile IMAGE.bin --driver generic-mmc:0x20000 --device /dev/cdrom IMAGE.toc

Some software only likes CUE/BIN pair, you can make a CUE sheet with toc2cue (part of cdrdao):

$ toc2cue IMAGE.toc IMAGE.cue

Burn Backend Problems

If you experience problems, you may ask for advise at mailing list cdwrite@other.debian.org . Or ask for advise at the support mail addresses if some are listed near the end of the program's man page.

Tell the command lines you tried, the medium type (e.g. CD-R, DVD+RW, ...), and the symptoms of failure (program messages, disappointed user expectation, ...). You will possibly get asked to obtain the newest release or development version of the affected program and to make test runs. But the answer might as well be, that your drive dislikes the particular medium.

Burning CD/DVD/BD with a GUI

Template:Wikipedia There are several applications available to burn CDs in a graphical environment.

  • AcetoneISO — All in one ISO tool (supports BIN, MDF, NRG, IMG, DAA, DMG, CDI, B5I, BWI, PDI and ISO)
http://sourceforge.net/projects/acetoneiso || acetoneiso2
  • BashBurn — Lightweight terminal based menu frontend for CD/DVD burning tools
http://bashburn.dose.se/ || bashburn
  • Brasero — Disc burning application for the GNOME desktop that is designed to be as simple as possible. Part of gnome-extra
http://projects.gnome.org/brasero/ || brasero
  • cdw — Ncurses frontend to cdrecord, mkisofs, growisofs, dvd+rw-mediainfo, dvd+rw-format, xorriso
http://cdw.sourceforge.net/ || cdwAUR
  • GnomeBaker — Full featured CD/DVD burning application for the GNOME desktop
http://gnomebaker.sourceforge.net/ || gnomebakerAUR
  • Graveman — GTK-based CD/DVD burning application. It requires configuration to point to correct devices
http://graveman.tuxfamily.org/ || gravemanAUR
http://littlesvr.ca/isomaster || isomasterAUR
  • K3b — Feature-rich and easy to handle CD burning application based on Kdelibs
http://www.k3b.org/ || k3b
  • Silicon empire — Qt-based set of tools to manage and organize your optical discs like CDs, DVDs and Blu-rays
http://getsilicon.org/ || silicon-empireAUR
  • X-CD-Roast — Lightweight cdrtools front-end for CD and DVD writing
http://www.xcdroast.org/ || xcdroastAUR
  • Xfburn — Simple frontend to the libburnia libraries with support for CD/DVD(-RW), ISO images and BurnFree
http://goodies.xfce.org/projects/applications/xfburn || xfburn

Nero Linux

Nero Linux is a commercial burning suite from makers of Nero for Windows - Nero AG. The biggest advantage of Nero linux is its interface which similar to window version. Hence, users migrating from windows might find it easy to operate. The Linux version now includes Nero Express, a wizard which takes users through the process of burning CDs and DVDs step-by-step, which users will be familiar with from the Windows version. Also new in version 4 is Blu-ray Disc defect management, integration of Isolinux for creating bootable media and support for Musepack and AIFF audio formats...

Nero Linux 4 retails at £17.99 with a free trial version also available.

Nero Linux offers some features, like :

  • Easy, wizard-style user interface for guided burning with Nero Linux Express 4
  • Full Blu-ray Burning Support
  • Supports Burning of Audio CD (CD-DA), ISO 9660 (Joliet support), CD-Text, ISOLINUX Bootable, Multi-session Discs, DVD-Video and miniDVD, DVD double layer support.
  • Advanced burning with Nero Burning ROM and command line client
Note: For Nero Linux you need to load sg module at boot time. Put a namesake file in /etc/modules-load.d:
/etc/modules-load.d/sg.config
sg
Some updates ago the sg module was not auto loaded any more and Nero needs it.

DVD playing

DVD, also known as Digital Versatile Disc or Digital Video Disc, is an optical disc storage media format used for video and data storage.

Requirements

If you wish to play encrypted DVDs, you must install the libdvd* packages:

Additionally, you must install player software. Popular DVD players are MPlayer, xine and VLC.

Tip: Users may need to belong to the optical group to be able to access the DVD drive. To add USERNAME to the optical group, run the following:
# gpasswd -a USERNAME optical
Do not forget to log the user out and back in for the changes to take effect. You can see your user's current groups with groups command.

DVD players

See also: Multimedia/Video Players

MPlayer

MPlayer is efficient and supports a wide variety of media formats (i.e. almost everything). To play a DVD with MPlayer:

$ mplayer dvd://N

...where N is the desired chapter number. Start at 1 and work up if unsure.

Mplayer checks /dev/dvd by default. Tell it to use /dev/sr0 with the dvd-device option at the command line, or the dvd-device variable in ~/.mplayer/config.

To play a DVD image file:

$ mplayer -dvd-device movie.iso dvd://N

To enable the DVD menu use (NOTE: you use arrow keys to navigate and the Template:Keypress key to choose):

$ mplayer dvdnav://

To enable mouse support in DVD menus use:

$ mplayer -mouse-movements dvdnav://

To find the audio language, start MPlayer with the -v switch to output audio IDs. An audio track is selected with -aid <audio_id>. Set a default audio language by editing ~/.mplayer/config and adding the line alang=en for English.

With MPlayer, the DVD could be set to a low volume. To increase the maximum volume to 400%, use softvol=yes and softvol-max=400. The startup volume defaults to 100% of software volume and the global mixer levels will remain untouched. Using the 9 and 0 keys, volume can be adjusted between 0 and 400 percent.

 alang=en
 softvol=yes
 softvol-max=400

MPlayer home page

VLC

vlc is a portable, capable, open source media player written in Qt (VLC home page).

Default in GNOME

Copy the system desktop file to the local one (local .desktop files supersede the global ones):

cp /usr/share/applications/vlc.desktop ~/.local/share/applications/

Define its mime types (known playback file type abilities) by doing:

sed -i 's|^Mimetype.*$|MimeType=video/dv;video/mpeg;video/x-mpeg;video/msvideo;video/quicktime;video/x-anim;video/x-avi;video/x-ms-asf;video/x-ms-wmv;video/x-msvideo;video/x-nsv;video/x-flc;video/x-fli;application/ogg;application/x-ogg;application/x-matroska;audio/x-mp3;audio/x-mpeg;audio/mpeg;audio/x-wav;audio/x-mpegurl;audio/x-scpls;audio/x-m4a;audio/x-ms-asf;audio/x-ms-asx;audio/x-ms-wax;application/vnd.rn-realmedia;audio/x-real-audio;audio/x-pn-realaudio;application/x-flac;audio/x-flac;application/x-shockwave-flash;misc/ultravox;audio/vnd.rn-realaudio;audio/x-pn-aiff;audio/x-pn-au;audio/x-pn-wav;audio/x-pn-windows-acm;image/vnd.rn-realpix;video/vnd.rn-realvideo;audio/x-pn-realaudio-plugin;application/x-extension-mp4;audio/mp4;video/mp4;video/mp4v-es;x-content/video-vcd;x-content/video-svcd;x-content/video-dvd;x-content/audio-cdda;x-content/audio-player;|' ~/.local/share/applications/vlc.desktop

Then in System Settings > Details >> Default Applications and on the Video drop-down menu, select Open VLC media player.}}

xine

A lightweight media player supporting DVD menus.

xine home page

DVD ripping

Ripping is the process of copying audio or video content to a hard disk, typically from removable media or media streams.wikipedia:Ripping

Often, the process of ripping a DVD can be broken down into two subtasks:

  1. Data extraction - Copying the audio and/or video data to a hard disk
  2. Transcoding - Converting the extracted data into a suitable format

Some utilities perform both tasks, whilst others focus on one aspect or the other.

dvdbackup

dvdbackup is used simply for data extraction, and does not transcode. This tool is useful for creating exact copies of encrypted DVDs in conjunction with libdvdcss or for decrypting video for other utilities unable to read encrypted DVDs.

dvd::rip

dvd::rip is a front-end to transcode, used to extract and transcode on-the-fly.

The following packages should be installed:

  • dvdrip: GTK front-end for transcode, which performs the ripping and encoding
  • libdv: Software codec for DV video
  • xvidcore: If you want to encode your ripped files as XviD, an open source MPEG-4 video codec (free alternative to DivX)
  • divx4linuxAUR: If you want to encode your ripped files as DivX (available in the AUR)

The dvd::rip preferences are mostly well-documented/self-explanatory. If you need help with something, see http://www.exit1.org/dvdrip/doc/gui-gui_pref.cipp.

Ripping a DVD is often a simple matter of selecting the preferred codec(s), selecting the desired titles, then clicking the "Rip" button.

FFmpeg

FFmpeg is capable to do a direct rip in any format (audio/video) from a DVD-Video .iso image, just select the input as the *.iso image and proceed with the desired options. It also allows to downmixing, shrinking, spliting, selecting streams among other features.

HandBrake

HandBrake is a multithreaded video transcoder, which offers both a graphical and command-line interface with many preset configurations. The package is available in the official repositories: handbrake.

MEncoder

MEncoder is a free command line video decoding, encoding and filtering tool released under the GNU General Public License. It is a close sibling to MPlayer and can convert all the formats that MPlayer understands into a variety of compressed and uncompressed formats using different codecs. Wrapper programs like h264encAUR and undvdAUR can provide an assistive interface.

Hybrid

Hybrid is a multi platform (Linux/Mac OS X/Windows) Qt based frontend for a bunch of other tools which can convert nearly every input to x264/Xvid/VP8 + ac3/ogg/mp3/aac/flac inside an mp4/m2ts/mkv/webm/mov/avi container, a Blu-ray or an AVCHD structure.

A package is available in the AUR: hybrid-encoderAUR.

For detailed information visit the homepage.

DVD-VR

From Wikipedia - DVD-VR:

The DVD-VR standard defines a logical format for video recording on DVD-R, DVD-RW, and DVD-RAM style media, including the dual layer versions of these media. As opposed to media recorded with the DVD+VR recording standard, the resulting media are not DVD-Video compliant, and will not play back in some DVD-Video players. Most DVD video recorders in the market that support DVD-R, DVD-RW, or DVD-RAM media will allow recording to these media in DVD-VR mode, as well as in a DVD-Video compliant mode. It is possible to use the DVD-VR format with DVD+R and DVD+RW media, but no examples are known other than some PC based recording utilities.

.VRO files extracted from a DVD-VR can be easily converted and splitted in regular .VOB files using the DVD-VR program.

Install dvd-vrAUR from the AUR.

Troubleshooting

K3b locale error

When running K3B, if the following message appears:

System locale charset is ANSI_X3.4-1968
Your system's locale charset (i.e. the charset used to encode file names) is 
set to ANSI_X3.4-1968. It is highly unlikely that this has been done intentionally.
Most likely the locale is not set at all. An invalid setting will result in
problems when creating data projects.Solution: To properly set the locale 
charset make sure the LC_* environment variables are set. Normally the distribution 
setup tools take care of this.

It means that your locale is not set well.

To fix it,

  • Remove /etc/locale.gen
  • Re-install glibc
  • Edit /etc/locale.gen, uncommenting all lines lines that corresponds to your language AND the en_US options, for compatibility:
en_US.UTF-8 UTF-8
en_US ISO-8859-1
  • Re-generate the profiles with locale-gen:
# locale-gen
 Generating locales...
 en_US.UTF-8... done
 en_US.ISO-8859-1... done
 pt_BR.UTF-8... done
 pt_BR.ISO-8859-1... done
 Generation complete.

More info here.

Brasero fails to find blank discs

Brasero uses gvfs to manage CD/DVD burning devices.

Brasero fails to normalize audio CD

If you try to burn it may stop at the first step called Normalization.

As a workaround you can disable the normalization plugin using the Edit > Plugins menu

VLC: Error "... could not open the disc /dev/dvd"

If you get the error, "vlc dvdread could not open the disc "/dev/dvd"" it may be because there is no device node /dev/dvd on your system. Udev no longer creates /dev/dvd and instead uses /dev/sr0. To fix this edit the VLC configuration file (~/.config/vlc/vlcrc):

# DVD device (string)                                                           
dvd=/dev/sr0

DVD drive is noisy

If playing DVD videos causes the system to be very loud, it may be because the disk is spinning faster than it needs to. To temporarily change the speed of the drive, as root, run:

# eject -x 12 /dev/dvd

sometimes:

# hdparm -E12 /dev/dvd

Any speed that is supported by the drive can be used, or 0 for the maximum speed.

Setting CD-ROM and DVD-ROM drive speed

Playback does not work with new computer (new DVD-Drive)

If playback does not work and you have a new computer (new DVD-Drive) the reason might be that the region code is not set. You can read and set the region code with regionsetAUR from the Arch User Repository.

None of the above programs are able to rip/encode a DVD to my hard disk!

Make sure the region of your DVD-reader is set correctly, otherwise you will get loads of unexplainable CSS-related errors. Use regionsetAUR to do so.

GUI program log indicates problems with backend program

If you use a GUI program and experience problems which the program's log blames on some backend program, then try to reproduce the problem by the logged backend program arguments. Whether you succeed with reproducing or not, you may report the logged lines and your own findings to the places mentioned in section Burn Backend Problems.

Special case: Medium error / Write error

Here are some typical messages about the drive disliking the medium. This can only be solved by using a different drive or a different medium. A different program will hardly help.

K3b with backend wodim:

Sense Bytes: 70 00 03 00 00 00 00 12 00 00 00 00 0C 00 00 00
Sense Key: 0x3 Medium Error, Segment 0
Sense Code: 0x0C Qual 0x00 (write error) Fru 0x0

Brasero with backend growisofs:

BraseroGrowisofs stderr: :-[ WRITE@LBA=0h failed with SK=3h/ASC=0Ch/ACQ=00h]: Input/output error

Brasero with backend libburn:

BraseroLibburn Libburn reported an error SCSI error on write(16976,16): [3 0C 00] Write error

See also