Difference between revisions of "Optical disc drive"
m (Mentioned dependency of GUI programs on the listed backend programs) |
m (add accuracy template) |
||
Line 12: | Line 12: | ||
{{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]] | ||
Revision as of 11:40, 27 July 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
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.
Contents
- 1 CD burning
- 1.1 Install programs for ISO 9660 and burning of CD, DVD, or BD
- 1.2 Modifying the CD-RW
- 1.3 Erasing CD-RW
- 1.4 Burning an ISO image
- 1.5 Verify the burnt ISO image
- 1.6 Burning an audio CD
- 1.7 Burning a bin/cue
- 1.8 Making an ISO image from an existing CD
- 1.9 Making an ISO image from existing files on hard disk
- 1.10 Mounting an ISO image
- 1.11 Converting to an ISO image
- 2 DVD burning
- 3 DVD playing
- 4 Burning CD/DVD with a GUI
- 5 DVD ripping
- 6 Troubleshooting
- 6.1 K3b locale error
- 6.2 Brasero fails to find blank discs
- 6.3 Brasero fails to normalize audio CD
- 6.4 VLC: Error "... could not open the disc /dev/dvd"
- 6.5 DVD drive is noisy
- 6.6 Playback does not work with new computer (new DVD-Drive)
- 6.7 None of the above programs are able to rip/encode a DVD to my hard disk!
- 7 See also
CD burning
Install programs for ISO 9660 and burning of CD, DVD, or BD
You need at least one program for creation of ISO 9660 filesystems and one program that is able to burn data onto your desired media type. (BD means Blu-ray Disc)
Available programs for ISO 9660 creation are:
-
genisoimage
from package cdrkit -
isomaster
from package isomaster (with gtk2 GUI) -
mkisofs
from package cdrtools -
xorriso
from package libisoburn -
xorrisofs
from package libisoburn
The traditional choice is genisoimage
Available programs for burning are:
-
cdrdao
from package cdrdao (CD only, .cue files 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
from package libisoburn (no audio CD) -
xorrecord
from package libisoburn (no audio CD)
The traditional choices are wodim
for CD and growisofs
for DVD and BD. For growisofs and BD-R see the bug workaround below.
For writing cue
/bin
files to CD, install the cdrdao package.
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.
The installed files of packages cdrkit and cdrtools are in conflict. 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
For the remainder of this section the name of your recording device is assumed to be /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, wodim
will give you an error message.
If wodim gives you an error message similar to Cannot open SCSI driver!
, use the following command:
$ modprobe sr_mod
You can try to let wodim locate your burning device with this command:
$ wodim -checkdrive
Erasing CD-RW
CD-RW media usually need to be erased before you can write new data on it. To blank CD-RW medium use this command:
$ wodim -v dev=/dev/cdrw -blank=fast
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:
- all
- blank the entire disk
- 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 burn an ISO image run:
$ cdrecord -v dev=/dev/sr0 isoimage.iso
Verify the burnt ISO image
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.
First calculate the md5sum of the original ISO image:
$ md5sum isoimage.iso
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:
$ md5sum /dev/sr0
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:
Track 01: Total bytes read/written: 90095616/90095616 (43992 sectors).
Then check if this matches the md5sum of the burnt image, replacing "count" with the number of sectors:
$ dd if=/dev/sr0 bs=2048 count=43992 | md5sum
43992+0 records in 43992+0 records out 90095616 bytes (90 MB) copied, 0.359539 s, 251 MB/s e5643e18e05f5646046bb2e4236986d8 -
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
Making an ISO image from an existing CD
To copy an existing CD just type:
$ readom -v dev=/dev/cdrw f=isoimage.iso
# umount /dev/cdrwReplace /dev/cdrw with /dev/cdrom if it's a CDRom.
You do not want to use dd or cat as they provide no error checking, but for reference here are those commands:
$ dd if=/dev/cdrw of=/home/user/isoimage.iso
or with cat:
$ cat /dev/cdrw > isoimage.iso
Or use the readcd
program (which is now a symlink to readom), also in the cdrkit
package:
$ readcd -v dev=/dev/cdrw -f isoimage.iso
If the original CD was bootable it will be a bootable image.
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
Making an ISO image from existing files on hard disk
To make an iso image just copy the needed files to one folder, then do:
$ mkisofs -V volume_name -J -r -o isoimage.iso ~/folder
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
See also Mounting images as user for doing this without root privileges.
Converting to an ISO image
To convert an img
/ccd
image, you can use ccd2iso:
$ ccd2iso ~/image.img ~/image.iso
DVD burning
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.
This guide covers a narrow scope for now: writing data onto DVDs using the command line.
Required packages
- You still need the standard CD writing tools known as cdrtools (which can be replaced by cdrkit, if desired).
- You also need the new DVD writing tools known as dvd+rw-tools found in the official repositories.
- Do not install the package known as dvdrtools. It conflicts with cdrtools, and dvd+rw-tools is the superior DVD writing package.
- cdrtools provides all the functionality of dvd+rw-tools, as growisofs depends on mkisofs. Also the development of
dvd+rw-tools
seems to be stalled for the past 5 years (the last release was in 2008)
Procedure
This guide will use the command growisofs
from the 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 (mkisofs
), and then burning it to CD (cdrecord
). 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.
Overview
Essentially, writing a new DVD follows this procedure:
$ growisofs -Z /dev/sr0 -r -J /path/to/files
where /dev/sr0
is your DVD writer device.
To continue a DVD (write an additional session), you use:
$ growisofs -M /dev/sr0 -r -J /path/to/files
To burn an ISO image to disc, use:
$ growisofs -dvd-compat -Z /dev/sr0=/path/to/iso
To create a video DVD, use the following:
$ growisofs -Z /dev/sr0 -dvd-video /path/to/video
-
-Z
- start at the beginning of the DVD using the following device
-
-M
- start after the last session on the disc using the following device
-
-r
- Rock Ridge support with sane permission settings (recommended, extended Unix info)
-
-J
- Joliet support (recommended, extended info for Windows NT and Windows 95)
-r
will choose different permissions than the real ones; to use the exact permissions use -R
instead. See the man page of mkisofs
for more information.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
readcd
:
$ readcd -v dev=/dev/sr0 -f image.isoas for CD burning, then use the
growisofs
example above to burn the ISO to a new blank disc.Example
Although the above might suffice for you, some users require extra settings to successfully write DVDs.
A simple DVD writing template:
$ growisofs -Z /dev/cdrw -v -l -dry-run -iso-level 3 -R -J -speed=2 -joliet-long -graft-points /files/=/path/to/files/
-
-Z
- as seen above, this starts a new DVD; to continue a multisession DVD, use
-M
-
-v
- increase verbosity level (more output)
-
-l
- breaks DOS compatibility but allows for longer filenames
-
-dry-run
- simulate writing (remove this flag if you are sure that everything is set up correctly)
-
-iso-level 3
- defines how strict you want to adhere to the iso9660 standard (
-iso-level 1
is very strict while-iso-level 4
is very loose) -
-R
- see above
-
-J
- see above
-
-speed=2
- start burning at 2X speed
-
-joliet-long
- allows longer Joliet file names
The final part needs more explanation:
-graft-points /files/=/path/to/files/
This specifies that files will be stored in the subdirectory /files
rather than the DVD root. See the mkisofs
manual for details.
growisofs
is basically just a front-end to mkisofs
. That means that any option for mkisofs
also works with growisofs
. See the mkisofs
man page for details.Re-writable DVDs
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 dvd+rw-format
like this:
$ dvd+rw-format /dev/cdrw
where /dev/cdrw
is your DVD writer device.
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.
optical
group to be able to access the DVD drive. To add USERNAME
to the optical
group, run the following:
# gpasswd -a USERNAME opticalDo 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
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.
Burning CD/DVD 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)
- BashBurn — Lightweight terminal based menu frontend for CD/DVD burning tools
- Brasero — Disc burning application for the GNOME desktop that is designed to be as simple as possible. Part of gnome-extra
- cdw — Ncurses frontend to cdrecord, mkisofs, growisofs, dvd+rw-mediainfo, dvd+rw-format, xorriso
- GnomeBaker — Full featured CD/DVD burning application for the GNOME desktop
- Graveman — GTK-based CD/DVD burning application. It requires configuration to point to correct devices
- K3b — Feature-rich and easy to handle CD burning application based on Kdelibs
- Silicon empire — Qt-based set of tools to manage and organize your optical discs like CDs, DVDs and Blu-rays
- X-CD-Roast — Lightweight cdrtools front-end for CD and DVD writing
- Xfburn — Simple frontend to the libburnia libraries with support for CD/DVD(-RW), ISO images and BurnFree
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 4
- nerolinuxAUR 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
sg
module at boot time. Put a namesake file in /etc/modules-load.d
:
/etc/modules-load.d/sg.config
sgSome updates ago the sg module wasn't auto loaded any more and Nero needs it.
DVD ripping
Ripping is the process of copying audio or video content to a hard disk, typically from removable media or media streams.[1]
Often, the process of ripping a DVD can be broken down into two subtasks:
- Data extraction - Copying the audio and/or video data to a hard disk
- 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 theen_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'll get loads of unexplainable CSS-related errors. Use regionsetAUR to do so.
See also
- RIAA and actual laws allow backup of physically obtained media under these conditions RIAA - the law.
- Convert any Movie to DVD Video