# Optical Disc Drive (日本語)

関連記事

- コーデック
- MPlayer
- dvdbackup
- MEncoder
- ScriptForDvdBackup
- ブルーレイ

Wikipedia より:

  光学ドライブ（こうがくドライブ）とは、記録された情報の読み出しにレーザー光等を使用する光ディスクの記憶装置のことである。光ディスクドライブともいい、BIOSやUEFIの画面では Optical Disk Drive の頭文字をとり"ODD"と略記されることがある。一般的にCDドライブ、DVDドライブ、BDドライブ、相変化型記憶装置(PD)等の機器の事を指すが、ミニディスク(MD)、光磁気ディスク装置(MO)や、光磁気テープドライブ等の記録に磁気を併用する装置もこれに分類される。

## 焼き込み

オプティカルディスクドライブの書き込みプロセスはイメージの作成・取得とオプティカルメディアへの書き込みからなります。イメージは原則としてどのデータファイルにもなりえます。作ったメディアをマウントしたい場合は、通常は ISO 9660 ファイルシステムのイメージファイルを使います。オーディオ・マルチメディア CD は BIN ファイルから焼かれることが多く、TOC ファイルや CUE ファイルでトラックレイアウトをコントロールします。

### ライティングユーティリティをインストールする

グラフィカルユーザーインターフェースでプログラムを使いたい場合は、GUI プログラムのリストを見て下さい。

ここに記載しているプログラムは CD, DVD, BD のフリーの GUI プログラムのほとんどでバックエンドとして使われているものです。以下のプログラムはコマンドラインで使います。GUI ユーザーはトラブルシューティングや書き込みのスクリプト化をするときこれらのプログラムを使うと良いかもしれません。

ファイルシステムイメージを作成するためのプログラムと、使いたいメディアタイプにデータを書き込むことができるプログラムが最低でもそれぞれひとつ必要です。

ISO 9660 イメージの作成に利用できるプログラム:

- cdrkit パッケージに入っている `genisoimage`
- cdrtools パッケージに入っている `mkisofs`
- libisoburn パッケージに入っている `xorriso` と `xorrisofs`

伝統的には `genisoimage` が使われています。

メディアに焼くのに利用できるプログラム:

- cdrdao パッケージに入っている `cdrdao` (CD のみ, TOC/CUE/BIN のみ)
- cdrtools パッケージに入っている `cdrecord`
- libburn パッケージに入っている `cdrskin`
- dvd+rw-tools パッケージに入っている `growisofs` (DVD と BD のみ)
- cdrkit パッケージに入っている `wodim` (CD のみ, DVD は非推奨)
- libisoburn パッケージに入っている `xorriso` と `xorrecord`

CD には `wodim` が DVD や Blu-ray ディスクには `growisofs` がよく使われています。growisofs で BD-R を使うときは下で書かれているバグの回避方法を見て下さい。 TOC/CUE/BIN ファイルを CD に書き込むには `cdrdao` をインストールしてください。

CD, DVD, BD を焼くフリーの GUI プログラムは上記のパッケージの最低でもどれかひとつを使います。

プログラム `genisoimage`, `mkisofs`, `xorrisofs` は3つともこのドキュメントで示している genisoimage オプションをサポートしています。

プログラム `cdrecord`, `cdrskin`, `wodim` は3つとも wodim オプションをサポートしています。プログラム `xorrecord` はオーディオ CD に関わらないオプションをサポートしています。

Note:

- パッケージ cdrkit と cdrtools でインストールされるファイルは衝突します。どちらか片方だけをインストールしてください。
- cdrtools をインストールしたい場合は、makepkg を使ってパッケージをビルドして pacman でインストールしてください。Pacman のラッパは代わりに cdrkit に解決できます。

### ハードディスク上のファイルから ISO イメージを作成する

一番シンプルに ISO イメージを作成するには、まず必要なファイルを一つのフォルダ (例: `./for_iso`) にコピーして、`genisoimage` を次のように使います:

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

それぞれのフラグ・スイッチの意味は次のセクションで説明しています。

#### 基本的なスイッチ

-V
  ファイルシステムの（割り当てられる）名前を指定します。ISO 9660 の標準仕様書には文字列の長さは32文字まで、利用できる文字は次のセットに制限されていることが示されています: "A" から "Z"、"0" から "9"、そして "_"。メディアが自動的にマウントされた時はこのボリュームラベルがマウントポイントとして表示されるはずです。
-J
  MS-Windows のための64文字までの UTF-16 文字の名前を作成します。別名 "Joliet"。
-joliet-long
  MS-Windows のための103文字の UTF-16 文字を利用できるようにします。Joliet の仕様には準拠していません。
-r
  Unix のための255文字までの名前を作成し、全ての人に読み込み権限を与えます。別名 "Rock Ridge"。
-o
  作成される ISO イメージのファイルパスを設定します。

#### graft-points

genisoimage を使って複数のパスからファイルやディレクトリを集めることも可能です:

    $ 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
  ISO ファイルシステムの書き込み先アドレス (例: `/photos`) とハードディスク上の書き込み元アドレス (例: `/home/user/photos`) による pathspec の認識を有効にします。アドレスは "=" で区切ります。

上の例ではディレクトリ `/home/user/photos`, `/home/user/mail`, `/home/user/holidays/photos` をそれぞれ ISO イメージでは `/photos`, `/mail`, `/photos/holidays` に配置します。

プログラム mkisofs と xorrisofs は同じオプションを使うことができます。安全にバックアップするには `--for_backup` オプションを付けて xorrisofs を使って下さい。最後の ACL を記録しデータファイルそれぞれの MD5 チェックサムを保存します。

オプションの詳細については ISO 9660 プログラムのマニュアルを見て下さい:

- genisoimage
- mkisofs
- xorrisofs

Tip: This process can be thought of alternately as:

- creating an archive (which is not that different, on one level, from creating a ZIP archive or tarball (e.g. .tar.gz))
- creating and populating a filesystem volume, manifested in the form of a "disk" image (file), which preserves as much as possible (content, name, relative directory structure/hierarchy/placement, and possibly other filesystem overhead metadata / properties (aspects)) such as timestamp(s), ownership, permissions.

### ISO イメージをマウントする

ISO イメージが正しいかどうかテストするために、(root で) マウントすることができます:

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

まず loop モジュールをロードする必要があります:

    # modprobe loop

検査が完了したらイメージをアンマウントすることを忘れないで下さい:

    # umount /cdrom

root 権限なしでマウントするには Mounting images as user を参照してください。

### img/ccd を ISO イメージに変換する

`img`/`ccd` イメージを変換するのには、ccd2iso を使うことができます:

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

### オプティカルドライブの名前を確認する

このセクションから、あなたの使っている記録デバイスの名前が `/dev/sr0` であると仮定して記述しています。

次のコマンドで確認してください:

    $ wodim dev=/dev/sr0 -checkdrive

ドライブの "Vendor_info" と "Identification" が表示されるはずです。

ドライブが見つからない場合は、`/dev/sr*` が存在するかどうか、また読み書きパーミッション (`wr-`) があなたのユーザーやグループに与えられているか確認してください。 `/dev/sr*` が存在しない場合は次を実行してみて下さい:

    # modprobe sr_mod

### CD や DVD のボリュームラベルを読み込む

メディアの名前・ラベルを取得したいときは、dd を使います:

    $ dd if=/dev/sr0 bs=1 skip=32808 count=32

### CD, DVD, BD から ISO イメージを読み込む

ハードディスクにコピーする前に ISO ファイルシステムのサイズを求めて下さい。最近の書き込みでは、ほとんどのメディアタイプは書き込まれたものよりも多くのデータを運んでいます。

util-linux パッケージに含まれているプログラム `isosize` を使ってイメージサイズを取得してください:

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

取得したブロックの数が妥当かどうか見て下さい:

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

    That would be 589 MB

それから測定したデータの分量だけメディアからハードディスクにコピーしてください:

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

サイズを測定しなかった場合は `count=$blocks` を省いて下さい。おそらく必要な分よりも多くのデータを取得することになるでしょう。それでも作成されたファイルはマウントできます。イメージのコピー元のメディアと同じタイプのメディアに収まるようになっているはずです。

オリジナルのメディアがブータブルなら、コピーもブータブルイメージになります。擬似 CD として仮想マシンに使ったり、オプティカルメディアに焼きこむことが可能です。作成されたメディアは勿論ブータブルになります。

### CD-RW や DVD-RW を消去する

使用済みの CD-RW メディアは以前に記録したデータを上書きする前に消去する必要があります。消去は次のコマンドで可能です:

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

フォーマットされていない DVD-RW メディアも再利用する前に同じ処置が必要です。ただし高速消去は DVD-RW のマルチセッションや予期できない長さのストリームの記録などの機能を奪ってしまいます。従って次のコマンドを使うようにしてください:

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

`dvd+rw-format` は dvd+rw-tools パッケージに含まれています。以下のコマンドを使うこともできます:

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

フォーマットされた DVD-RW メディアは消去をせずに上書きすることが可能です。そのため、一度次のコマンドを実行すると良いでしょう:

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

以下のコマンドを使うこともできます:

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

他の全てのメディアは、ライトワンス (CD-R, DVD-R, DVD+R, BD-R) であるか、もしくは消去する必要なく上書きできます (DVD-RAM, DVD+RW, BD-RE)。

### ISO イメージを CD, DVD, BD に書き込む

オプティカルメディアに準備した ISO イメージファイル `isoimage.iso` を焼くには、CD では次を実行してください:

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

DVD や BD では次のコマンドを実行してください:

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

プログラム `cdrecord`, `cdrskin`, `xorrecord` は `wodim` で表示される全てのメディアで使うことができます。

Note:

- 書き込みを始めるときにメディアがマウントされていないことを確認してください。メディアに読込可能なファイルシステムが含まれていると自動でマウントされます。書き込みプログラムが焼き込みデバイスを使うのを中止すれば良いですが、悪ければ読込操作がドライブを妨害して間違って焼いてしまう可能性があります。

マウントされているようだったら、次を実行してください:

    # umount /dev/sr0

- `growisofs` には空の BD-R メディアに関する小さなバグが存在します。焼き込みが完了した後にエラーメッセージが表示されるという問題です。`k3b` などのプログラムはそのメッセージを信じて焼き込みが失敗したと勘違いします。これを防ぐには、次のどちらかの対処をしてください
  - growisofs で BD-R に焼く前に `dvd+rw-format /dev/sr0` で空の BD-R をフォーマットする
  - growisofs のオプション `-use-the-force-luke=spare:none` を使う

### 書き込んだ ISO イメージを確かめる

書き込んだメディアにエラーが存在しないかどうか整合性を確認することができます。確認する前に必ずメディアを一度取り除いてから再度挿入してください。再挿入を行わないとカーネルは新しいコンテンツを認識しません。

まずオリジナルの ISO イメージの MD5 チェックサムを計算してください:

    $ md5sum isoimage.iso

     e5643e18e05f5646046bb2e4236986d8 isoimage.iso

つぎにメディア上の ISO ファイルシステムの MD5 チェックサムを計算します。メディアタイプによっては書き込みプログラムに送信したのとデータ量が全く同じになりますが、ほとんどの場合読み取られるときに余分なゴミが付け加えられます。そのため、読み出す ISO イメージファイルのサイズを制限する必要があります。

    $ blocks=$(expr $(du -b isoimage.iso | awk '{print $1}') / 2048)

    $ dd if=/dev/sr0 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  -

2つのコマンドは同じ MD5 チェックサムを表示するはずです (ここでは: `e5643e18e05f5646046bb2e4236986d8`)。値が異なる場合、おそらく `dd` を実行したときおに I/O エラーメッセージが取得されます。興味があれば、`dmesg` によって SCSI エラーやブロック番号も見ることができるでしょう。

### ISO 9660 and Burning On-The-Fly

It is not necessary to store an emerging ISO file system on hard disk before writing it to optical media. Only very old CD drives at very old computers could suffer failed burns 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/sr0 -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 let`growisofs` operate `genisoimage` for you and burn its output on-the-fly

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

### マルチセッション

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.

#### wodim によるマルチセッション

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

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

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

    $ m=$(wodim dev=/dev/sr0 -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/sr0 -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/sr0 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.

#### 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/sr0 -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/sr0 -V "ARCHIVE_2013_07_28" -r -J ./more_for_iso

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

#### 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/sr0 -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/sr0 \
              -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`.

### オーディオ CD を焼く

オーディオトラックを作成して非圧縮 (16ビット ステレオ WAV ファイル) で保存してください。MP3 を WAV に変換するには、lame をインストールして、MP3 ファイルがあるディレクトリに `cd` してから次を実行してください:

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

lame で WAV ファイルに変換するとエラーが起こる場合は mpg123 でデコードしてみて下さい:

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

アルファベット順に並べた時に音声ファイルが正しいトラック順で並ぶように `01.wav`, `02.wav`, `03.wav` と音声ファイルの名前を変更してください。 次のコマンドを実行してオーディオ CD として　wav ファイルの書き込みをシミュレーションしてください:

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

エラーが検知されたり以下のようにトラックが空になる場合は:

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

他のデコーダー (例: mpg123) や cdrtools パッケージに入っている cdrecord を使ってみて下さい。

cdrkit にも cdrecord コマンドが含まれていますが、このコマンドは wodim のソフトリンクなので注意してください。 全て問題ないようだったら dummy フラグを削って実際に CD を焼いてください。

新しく出来たオーディオ CD をテストするために、MPlayer を使って下さい:

    $ mplayer cdda://

### bin/cue を焼く

bin/cue イメージを焼くには次を実行してください:

    $ cdrdao write --device /dev/sr0 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

### 書き込みバックエンドの問題

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.

### GUI で CD/DVD/BD を焼く

グラフィカル環境で CD を焼くのに使えるアプリケーションが複数存在します。

#### フリーの GUI プログラム

- AcetoneISO — オールインワンの ISO ツール (BIN, MDF, NRG, IMG, DAA, DMG, CDI, B5I, BWI, PDI, ISO をサポート)。

  http://sourceforge.net/projects/acetoneiso || acetoneiso2

- BashBurn — CD/DVD ライティングツールの軽量な端末ベースのメニューフロントエンド。

  http://bashburn.dose.se/ || bashburn

- Brasero — GNOME デスクトップのディスクライティングアプリケーション。出来る限りシンプルに設計されています。gnome-extra の一部。

  https://wiki.gnome.org/Apps/Brasero || brasero

- cdw — cdrecord, mkisofs, growisofs, dvd+rw-mediainfo, dvd+rw-format, xorriso の Ncurses フロントエンド。

  http://cdw.sourceforge.net/ || cdw

- GnomeBaker — GNOME デスクトップ向けのフル機能の CD/DVD 焼き込みアプリケーション。

  http://gnomebaker.sourceforge.net/ || gnomebaker

- Graveman — GTK ベースの CD/DVD ライティングアプリケーション。適切なデバイスを指定する設定が必要です。

  http://graveman.tuxfamily.org/ || graveman

- isomaster — ISO イメージエディタ。

  http://littlesvr.ca/isomaster || isomaster

- K3b — KDElibs による機能豊富で使いやすい CD ライティングアプリケーション。

  http://www.k3b.org/ || k3b

- Silicon empire — Qt による CD, DVD, Blu-ray などのオプティカルディスクを管理するためのツールのセット。

  http://getsilicon.org/ || silicon-empire

- X-CD-Roast — CD や　DVD を焼くための軽量な cdrtools フロントエンド。

  http://www.xcdroast.org/ || xcdroast

- Xfburn — CD/DVD(-RW), ISO イメージ, BurnFree をサポートしている libburnia ライブラリのシンプルなフロントエンド。

  http://goodies.xfce.org/projects/applications/xfburn || xfburn

- xorriso-tcltk — ISO と CD/DVD/BD の書き込みツール xorriso のグラフィカルフロントエンド。

  https://www.gnu.org/software/xorriso/xorriso-tcltk-screen.gif || libisoburn

#### Nero Linux

Nero Linux は Nero for Windows のメーカー Nero AG による商用のライティングスイートです。Nero Linux の最大の利点として Windows 版と同じインターフェイスを持っていることが挙げられます。このため、Windows から移行してきたユーザーは操作しやすいかもしれません。現在 Linux バージョンは手順を追って CD や DVD を焼くことができるウィザード Nero Express を含んでいます。また、バージョン 4 から新しく Blu-ray Disc defect management や、ブータブルメディアの作成における Isolinux の統合や Musepack と AIFF 音声フォーマットのサポートなどが入っています...

Nero Linux 4 は £19.99 で売られておりフリーの試用版も存在します。

- Nero Linux 4
- nerolinux の AUR パッケージ。

Nero Linux は以下の機能を提供します:

- 簡単なウィザード形式のユーザーインターフェースで Nero Linux Express 4 による焼きこみをガイド。
- Blu-ray の焼きこみを完全にサポート。
- 音楽 CD (CD-DA), ISO 9660 (Joliet サポート), CD-text, ISOLINUX ブータブル, マルチセッションディスク, DVD-Video, miniDVD, DVD ダブルレイヤーサポートの書き込みをサポート。
- Nero Burning ROM とコマンドラインクライアントによる高度な焼き込み。

Note: 必要な `sg` モジュールは自動的にロードされます。手動設定に関しては Kernel modules (日本語)#設定 を見て下さい。

## DVD の再生

DVD (Digital Versatile Disc もしくは Digital Video Disc) はビデオやデータを保存するのに使われるオプティカルディスクストレージメディアです。日本では著作権法の改正によって保護技術を回避しての複製は違法になっていますが、再生は問題ありません。

暗号化された DVD を再生したいのなら、libdvd* パッケージをインストールする必要があります:

- libdvdread
- libdvdcss
- libdvdnav

さらに、プレイヤーソフトウェアをインストールしなくてはなりません。人気のある DVD プレイヤーは MPlayer, xine, VLC です。ビデオプレーヤーのリストや MPlayer の手順を見て下さい。

## DVD のリッピング

リッピングとは音声や動画のコンテンツをハードディスクにコピーすることを示し、通常はリムーバルディスクやメディアストリームからリッピングを行います。日本では著作権法の改正によって保護技術を回避しての複製は違法になっていますが、保護技術が使われていないメディアのリッピングは問題ありません。

基本的に、DVD のリッピングは2つの作業に分けることができます:

1. データの抽出 - 音声や動画データをハードディスクにコピーします。
2. トランスコーディング - 抽出したデータを適当なフォーマットに変換します。

両方の作業ができるユーティリティもあれば、どちらか片方しか出来ないユーティリティも存在します:

- dvd-vr — DVD-VR から抽出した VRO ファイルを簡単に変換して標準の VOB ファイルに分割できるツール。

  http://www.pixelbeat.org/programs/dvd-vr/ || dvd-vr

- dvdbackup — Tool for pure data extraction which does not transcode. It 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.

  http://dvdbackup.sourceforge.net/ || dvdbackup

- FFmpeg — Complete and free Internet live audio and video broadcasting solution for Linux/Unix, 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.

  http://ffmpeg.org/ || 記事を参照

- HandBrake — Multithreaded video transcoder, which offers both a graphical and command-line interface with many preset configurations.

  http://handbrake.fr/ || handbrake

- Hybrid — Multi platform 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.

  http://www.selur.de/ || hybrid-encoder

- MEncoder — 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 h264enc and undvd can provide an assistive interface. Many front-ends are available.

  http://www.mplayerhq.hu/ || mencoder

- Transcode — Video/DVD ripper and encoder for the terminal/console.

  http://tcforge.berlios.de/ || transcode

### dvd::rip

dvd::rip は抽出とオンザフライのトランスコードに使われる transcode のフロントエンドです。

以下のパッケージをインストールする必要があります:

- dvdrip: transcode の GTK フロントエンド、リッピングとエンコードが出来ます
- libdv: DV ビデオのソフトウェアコーデック
- xvidcore: リッピングしたファイルを XviD にエンコードするための、オープンソースの MPEG-4 ビデオコーデック (DivX のフリーの代替)
- divx4linux: リッピングしたファイルを DivX にエンコードするのに必要 (AUR から利用可能)

dvd::rip の設定方法はドキュメント化されています。何か困ったことがあったら、http://www.exit1.org/dvdrip/doc/gui-gui_pref.cipp を見て下さい。

DVD のリッピングは基本的に使いたいコーデックとタイトルを選択して "Rip" ボタンを押すだけで出来ます。

## トラブルシューティング

### K3b locale エラー

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. Also make sure that your session is not broken.

### 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 ドライブが騒々しい

DVD ビデオを再生するとシステムがうるさくなる場合、必要以上にディスクが高速に回転している可能性があります。一時的にドライブの速度を変更するには、root で次を実行してください:

    # 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

### 新しいコンピューター (新しい DVD ドライブ) で再生ができない

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 regionset from the AUR.

### 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 inexplicable CSS-related errors. Use 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 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

### AHCI

新しい DVD ドライブが検出されたのにマウントできない場合、BIOS が AHCI を使っているか確認してカーネルイメージにモジュールを追加してください。

`/etc/mkinitcpio.conf` を編集して `MODULES` 変数に `ahci` を追加します:

    MODULES="ahci"

新しく追加したモジュールが含まれるようにカーネルイメージを再生成しましょう:

    # mkinitcpio -p linux

## 参照

- RIAA and actual laws allow backup of physically obtained media under these conditions RIAA - the law.
- Convert any Movie to DVD Video
- Main page of the project Libburnia

Categories:

- Optical (日本語)
- Audio/Video (日本語)