光学ディスクドライブ

提供: ArchWiki
2018年2月6日 (火) 23:54時点におけるKusakata.bot (トーク | 投稿記録)による版 (文字列「http://goodies.xfce.org/」を「https://goodies.xfce.org/」に置換)
ナビゲーションに移動 検索に移動

関連記事

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 イメージの作成に利用できるプログラム:

  • cdrtools パッケージに入っている mkisofs
  • libisoburn パッケージに入っている xorrisoxorrisofs

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

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

  • cdrdao パッケージに入っている cdrdao (CD のみ, TOC/CUE/BIN のみ)
  • cdrtools パッケージに入っている cdrecord
  • libburn パッケージに入っている cdrskin
  • dvd+rw-tools パッケージに入っている growisofs (DVD と BD のみ)
  • libisoburn パッケージに入っている xorrisoxorrecord

CD には cdrecord が DVD や Blu-ray ディスクには growisofs がよく使われています。TOC/CUE/BIN ファイルを CD に書き込むには cdrdao をインストールしてください。

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

xorrisofs プログラムは mkisofs のオプションをサポートしています。

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

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

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

$ mkisofs -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

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

$ mkisofs -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 に配置します。

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

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

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

ISO イメージのファイルを確認したい場合、(root で) マウントすることができます:

# mount -t iso9660 -o ro,loop /path/to/file.iso /mount-point

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

# umount /mount-point

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

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

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

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

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

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

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

$ cdrecord dev=/dev/sr0 -checkdrive

ドライブの Vendor_infoIdentification フィールドが表示されるはずです。

ドライブが見つからない場合は、/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=$(isosize -d 2048 /dev/sr0)

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

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

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

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

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

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

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

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

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

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

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

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

$ cdrecord -v dev=/dev/sr0 blank=all
$ cdrskin -v dev=/dev/sr0 blank=fast
$ 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)。

BD-RE や BD-R のフォーマット

BD-RE を使うには先にフォーマットが必要です。フォーマットされていない状態と認識されると書き込みプログラムによって自動的にフォーマットされます。

BD-R はフォーマットされていない状態でもフォーマットされている状態でもどちらでも使えます。フォーマットされていない場合、最速の公称速度が使われストレージを最大限活用できます。フォーマットされている場合、書き込み操作中にチェックを実行し不良ブロックはスペア領域のブロックで置き換えられます。書き込み速度は半分かそれ以下まで落ちます。スペア領域のデフォルトサイズは 768 MiB で、その分だけストレージの使用できる容量が減ります。

growisofs はデフォルトで BD-R をフォーマットします。他のプログラムはフォーマットしません。growisofs でもフォーマットをオフにすることが可能です。cdrskin や xorriso はフォーマットされている BD-RE または BD-R に対して最速の公称速度で書き込むことができます:

$ growisofs -use-the-force-luke=spare:none ...growisofs.or.mkisofs.options...
$ cdrskin stream_recording=on ...cdrecord.options...
$ xorriso -stream_recording on ...xorriso.commands...

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

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

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

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

$ growisofs -dvd-compat -Z /dev/sr0=isoimage.iso
ノート:
  • 書き込みを始めるときにメディアがマウントされていないことを確認してください。メディアに読込可能なファイルシステムが含まれていると自動でマウントされます。書き込みプログラムが焼き込みデバイスを使うのを中止すれば良いですが、悪ければ読込操作がドライブを妨害して間違って焼いてしまう可能性があります。マウントされているようだったら、次を実行してください: # 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 とオンザフライ書き込み

光学メディアに書き込む前に、作成された ISO ファイルシステムをハードディスクに保存しておく必要はありません。ドライブバッファが空だということで書き込みが失敗するのは、とても古いコンピューターに搭載された、とても古い CD ドライブだけです。

mkisofs から -o オプションを省略すると ISO イメージを標準出力に書き出します。これを使って書き込みプログラムの標準入力にパイプすることができます:

$ mkisofs -V "ARCHIVE_2013_07_27" -J -r ./for_iso | \
  cdrecord -v dev=/dev/sr0 -waiti -

オプション -waiti は必須ではありません。mkisofs が出力を開始する前に cdrecord がメディアに書き込まないようにします。これによって、既に始まってしまった書き込みを妨害することなく mkisofs でメディアを読み込めます。次のマルチセッションのセクションを見て下さい。

DVD と BD では growisofsmkisofs を制御して出力をオンザフライ書き込みできます:

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

マルチセッション

ISO 9660 マルチセッションでは読み取り専用ファイルシステムが書かれたメディアでも未使用のブロックアドレスを使って書き込みをできるようにします。新しい ISO ディレクトリツリーは未使用の領域に書き込まれます。新しいツリーでコンテンツブロックを新しく追加したりデータファイルを上書きすることが可能です。データファイルのブロックは古い ISO ツリーに残り、再度書き込まれることはありません。

Linux などのオペレーティングシステムはメディアの最後のセッションのディレクトリツリーをマウントします。通常、一番最新のツリーは古いセッションのファイルも表示します。

cdrecord によるマルチセッション

cdrecord のオプション -multi を使用した場合 CD-R や CD-RW は書き込みができる状態を維持します ("追記可能"):

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

その後、次のセッションのパラメータをメディアから確認することができます:

$ m=$(cdrecord dev=/dev/sr0 -msinfo)

パラメータを使用して追加 ISO セッションを作成することが可能です:

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

最後にメディアにセッションを追加して追記可能状態にしてください:

$ cdrecord -v -multi dev=/dev/sr0 session2.iso

cdrskinxorrecord プログラムは上記の操作を DVD-R, DVD+R, BD-R やフォーマットされていない DVD-RW でも行うことができます。cdrecord プログラムは DVD-R と DVD-RW でならマルチセッションが使えます。勿論、CD-R や CD-RW でも可能です。

ほとんどの再利用可能メディアはセッションの履歴を記録しません。ただし ISO 9660 であれば再使用可能メディアでもマルチセッションを使用できます。

growisofsxorriso なら簡単にマルチセッションが可能です。

growisofs によるマルチセッション

デフォルトでは、growisofs は ISO イメージを作成するためのバックエンドとして mkisofs を使います。プログラムの引数はほとんど同じです。上記の mkisofs の例を見て下さい。-o オプションと -C オプションは無効になっています。MKISOFS 環境変数を設定することで他のバックエンドプログラムを指定することが可能です:

$ export MKISOFS="xorrisofs"

光学メディアに新しい ISO ファイルシステムを作成するには -Z オプションを使います:

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

既存の ISO ファイルシステムに新しいセッションとしてファイルを追加するには -M オプションを使います:

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

詳しくは growisofs のマニュアルmkisofs, xorrisofs のマニュアルを見て下さい。

xorriso によるマルチセッション

xorriso ではブランク状態のメディアから新しい ISO ファイルシステムを開始するようになっているため、既にデータが入っているメディアを空白状態にしたい場合に有用です。-blank as_needed コマンドはあらゆる再使用可能メディアに使うことができ、ハードディスク上のデータファイルに含まれている ISO イメージに対してすら実行できます。空のワイトワンスメディアに対して実行してもエラーは発生しません。

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

空ではない書き込み可能メディアの場合、-outdev ではなく -dev を使うことで xorriso は新しいディスクファイルを追加します。もちろん -blank は使いません。

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

詳しくは マニュアルページサンプル を見てください。

BD ディフェクトマネジメント

BD-RE やフォーマット済みの BD-R メディアではディフェクトマネジメント (Defect Management) を有効にして書き込むのが普通です。この機能はブロックがドライブバッファに残っているときに書き込まれたブロックを読み込みます。読取品質に問題があるとブロックは再度書き込まれるか、あるいは代替ブロックの形でデータが保存されるスペア領域に転送されます。

ディフェクトマネジメントはドライブや BD メディアの書き込み速度を公称速度の半分まで下げてしまいます。場合によっては書き込み速度はさらに低くなります。スペア領域が頻繁に使われると読み込みにも遅延が発生します。そのためディフェクトマネジメントが邪魔になる場合もあります。

cdrecord は BD-R をフォーマットしません。BD-RE メディアのディフェクトマネジメントを無効にする方法はありません。

growisofs はデフォルトで BD-R をフォーマットします。フォーマットさせないようにするには -use-the-force-luke=spare:none オプションを使います。BD-RE メディアのディフェクトマネジメントを無効にする方法はありません。

cdrskin, xorriso, xorrecord はデフォルトでは BD-R をフォーマットしません。フォーマットするにはそれぞれ cdrskin blank=format_if_needed, xorriso -format as_needed, xorrecord blank=format_overwrite を使います。これら3つのプログラムは BD-RE やフォーマット済みの BD-R のディフェクトマネジメントを無効にすることができます。それぞれ cdrskin stream_recording=on, xorriso -stream_recording on, 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 ファイルの書き込みをシミュレーションしてください:

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

全て問題ないようだったら dummy フラグを削って実際に CD を焼いてください。

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

$ mplayer cdda://

BIN/CUE を焼く

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

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

TOC/CUE/BIN でミックスモードディスク

ISO イメージには単一のデータトラックしか保存されません。ミックスモードディスクのイメージを作成したいときは (複数のオーディオトラックがあるデータトラック) TOC/BIN のペアを揃えて下さい:

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

ソフトウェアによっては CUE/BIN のペアしか扱えないことがあり、toc2cue で CUE シートを作成することができます (cdrdao に含まれています):

$ toc2cue image.toc image.cue

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

問題が発生する場合は、cdwrite@other.debian.org メーリングリストで助言を仰ぐことができます。もしくは、プログラムの man ページの最後にサポートのメールアドレスが記載されているときはそこにアドバイスを求めて下さい。

実行したコマンドライン、メディアのタイプ (CD-R, DVD+RW など)、症状 (プログラムのメッセージ、期待される挙動) を伝えて下さい。問題のプログラムの最新バージョンや開発バージョンを試してテストするように求められることもあります。ただし、その答えは、あなたのドライブでは特定のメディアは使えないんだというのと大差ありません。

GUI で CD/DVD/BD を焼く

この項目について詳しくは Wikipedia の記事を見て下さい: Comparison of disc authoring software

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

  • AcetoneISO — オールインワンの ISO ツール (BIN, MDF, NRG, IMG, DAA, DMG, CDI, B5I, BWI, PDI, ISO をサポート)。
https://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/ || cdwAUR
  • GnomeBaker — GNOME デスクトップ向けのフル機能の CD/DVD 焼き込みアプリケーション。
http://gnomebaker.sourceforge.net/ || gnomebakerAUR
  • Graveman — GTK ベースの CD/DVD ライティングアプリケーション。適切なデバイスを指定する設定が必要です。
http://graveman.tuxfamily.org/ || gravemanAUR
  • isomaster — ISO イメージエディタ。
http://littlesvr.ca/isomaster || isomasterAUR
  • K3b — KDElibs による機能豊富で使いやすい CD ライティングアプリケーション。
http://www.k3b.org/ || k3b
  • X-CD-Roast — CD や DVD を焼くための軽量な cdrtools フロントエンド。
http://www.xcdroast.org/ || xcdroastAUR
  • Xfburn — CD/DVD(-RW), ISO イメージ, BurnFree をサポートしている libburnia ライブラリのシンプルなフロントエンド。
https://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

再生

CD

オーディオ CD を再生するには公式リポジトリlibcdio が必要です。

DVD

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

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

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

リッピング

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

CD

  • Abcde — オーディオ CD をリッピングするための総合コマンドラインツール。
https://abcde.einval.com/ || abcde
  • Asunder — GTK+ ベースの CD リッピングプログラム。
http://littlesvr.ca/asunder/ || asunder
  • cdparanoia — Compact Disc Digital Audio (CDDA) Digital Audio Extraction (DAE) ツール。
https://xiph.org/paranoia/index.html || cdparanoia
  • Goobox — GNOME の CD プレイヤー・リッパー。
https://people.gnome.org/~paobac/goobox/ || goobox
  • GripAudiograbber に似ている GNOME プロジェクトの高速で軽量な CD リッパー。
https://sourceforge.net/projects/grip/ || gripAUR.
  • K3b — 機能豊富で使いやすい CD/DVD 書き込み・リッピングアプリケーション。KDELibs がベース。
http://www.k3b.org/ || k3b
  • morituri — 速度よりも正確さを重視している CD リッパー。cdparanoia, MusicBrainz, AccurateRip を使います。
http://thomas.apestaart.org/morituri/trac/ || morituri-gitAUR
  • ripperX — リッピングと MP3 ファイルのエンコードを行う GTK+ プログラム。
https://sourceforge.net/projects/ripperx/ || ripperxAUR
  • ripright — autorip がベースの最小主義の CD リッパー。
http://www.mcternan.me.uk/ripright/ || riprightAUR
  • ripit — MusicBrainz や freeddb など様々なコーデックをサポートしているコマンドラインリッパー。
http://www.suwald.com/ripit/news.php || ripitAUR
  • rubyripper — 同じトラックを複数リッピングすることで安全なリッピングを提供するオーディオリッパー。
https://code.google.com/archive/p/rubyripper/ || rubyripperAUR
  • shnsplit — CUE シートにあわせて .wav や .flac ファイルを分割してエンコードできるアプリケーション。ABCDE と組み合わせることで役に立ちます。
http://www.etree.org/shnutils/shntool/ || shntool
https://wiki.gnome.org/Apps/SoundJuicer || sound-juicer
  • soundKonverter — 様々なオーディオコンバータのフロントエンド。
https://www.linux-apps.com/content/show.php?content=29024 || soundkonverter

DVD

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

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

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

  • Avidemux — マルチスレッドのビデオ変換プログラム。多数の設定が付属しておりグラフィカルまたはコマンドラインのインターフェイスから使うことができます。Handbrake に似ています。
http://fixounet.free.fr/avidemux/ || avidemux-qt-gitAUR
  • dvd-vrDVD-VR から抽出した VRO ファイルを簡単に変換して標準の VOB ファイルに分割できるツール。
http://www.pixelbeat.org/programs/dvd-vr/ || dvd-vrAUR[リンク切れ: アーカイブ: aur-mirror]
  • dvdbackup — 純粋にデータを抽出するためのツールで、変換は行いません。
http://dvdbackup.sourceforge.net/ || dvdbackup
  • FFmpeg — Linux/Unix 向けの完全なフリーのインターネットライブ音声・動画ブロードキャストソリューションで、入力に ISO イメージを選択して適当なオプションを決めるだけで、DVD-Video ISO イメージから直接あらゆるフォーマット (音声/動画) にリッピングすることが可能です。さらに、ダウンミックスや圧縮、分割、ストリームの選択など様々な機能があります。
https://ffmpeg.org/ || 記事を参照
  • HandBrake — マルチスレッドの動画変換プログラム。グラフィカルとコマンドライン両方のインターフェイスを持っており、多数のプリセット設定が付いています。
https://handbrake.fr/ || handbrake
  • Hybrid — mp4/m2ts/mkv/webm/mov/avi コンテナや Blu-ray または AVCHD などで、ほとんど全ての入力を x264/Xvid/VP8 + ac3/ogg/mp3/aac/flac に変換することができる、様々なツールのマルチプラットフォームな Qt ベースのフロントエンドです。
http://www.selur.de/ || hybrid-encoderAUR
  • MEncoder — GNU General Public License でリリースされているフリーのコマンドライン動画デコード・エンコード・フィルタリングツール。MPlayer と近縁で、MPlayer が扱える全てのフォーマットを、様々なコーデックを使ってバラエティに富んだ圧縮・非圧縮フォーマットに変換できます。h264encAURundvdAUR[リンク切れ: アーカイブ: aur-mirror] などのラッパープログラムには補助インターフェイスが存在します。多数のフロントエンドが利用可能です。
http://www.mplayerhq.hu/ || mencoder
  • Transcode — ターミナル/コンソールで使える Video/DVD リッパー・エンコーダー。
http://transcoding.org/ || transcode

dvd::rip

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

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

  • dvdripAUR: transcode の GTK フロントエンド、リッピングとエンコードが出来ます
  • libdv: DV ビデオのソフトウェアコーデック
  • xvidcore: リッピングしたファイルを XviD にエンコードするための、オープンソースの MPEG-4 ビデオコーデック (DivX のフリーの代替)
  • divx4linuxAUR[リンク切れ: アーカイブ: aur-mirror]: リッピングしたファイルを DivX にエンコードするのに必要
  • subtitleripperAUR: 字幕を読みこんだり処理したい場合に必要

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

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

トラブルシューティング

Brasero で空のディスクが認識されない

Brasero は gvfs を使って CD/DVD 書き込みデバイスを管理します。セッションが壊れていないことも確認してください。

Brasero でオーディオ CD のノーマライズが出来ない

書き込もうとすると一番最初のノーマライズで停止してしまうことがあります。

解決策として Edit > Plugins メニューからノーマライゼーションプラグインを無効化できます。

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

vlc dvdread could not open the disc "/dev/dvd" というエラーが表示される場合、システム上に /dev/dvd デバイスノードが存在しないのが原因です。Udev はもはや /dev/dvd を作成せず、代わりに /dev/sr0 を使います。この問題を修正するには VLC の設定ファイル (~/.config/vlc/vlcrc) を編集してください:

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

DVD ドライブが騒々しい

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

# eject -x 12 /dev/dvd

場合によって:

# hdparm -E12 /dev/dvd

ドライブによってサポートされている速度を使うことができます。または、0 で最大速度になります。

詳しくは [1] を見てください。

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

再生ができない場合で、新しいコンピューター (新しい DVD ドライブ) を使っているときは、リージョンコードが設定されていないのが原因の可能性があります。regionsetAUR を使ってリージョンコードを読み込んだり設定できます。

上記のどのプログラムを使っても DVD をリッピング/エンコードできない

DVD リーダーのリージョンが正しく設定されているか確認してください。設定されていないと不可解な CSS 関連のエラーが表示されることがあります。regionsetAUR を使ってリージョンを設定できます。

GUI プログラムのログにバックエンドプログラムの問題が表示される

GUI を使っていて問題が発生したときにバックエンドプログラムに問題があるとういログが表示される場合、そのバックエンドプログラムを使って問題を再現できるか試して下さい。再現できた場合もできなかった場合も、出力されたログなどを書き込みバックエンドの問題に書かれている場所に報告するようにしてください。

特殊なケース: medium error / write error

以下はドライブがメディアを拒否したときに表示される典型的なメッセージです。別のドライブか別のメディアを使用しないかぎり解決できません。別のプログラムを使うことによってエラーが解決することは稀です。

Brasero でバックエンドに growisofs を使用した場合:

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

Brasero でバックエンドに 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

2層目に書き込もうとすると BD-R DL 50GB エラーが発生する

dvd+rw-toolsgrowisofs を使って 50GB の BD-R DL ディスクに書き込みを行うと深刻なエラーが発生して以下のようにメディアにダメージを与える可能性があります:

$ growisofs -Z /dev/sr0 -J -R -V "label" files
Executing 'mkisofs -J -R -V label files | builtin_dd of=/dev/sr0 obs=32k seek=0'
I: -input-charset not specified, using utf-8 (detected in locale settings)
  0.03% done, estimate finish Fri Jan 29 19:50:36 2016
  0.05% done, estimate finish Fri Jan 29 19:50:36 2016
  0.08% done, estimate finish Fri Jan 29 19:50:36 2016
/dev/sr0: pre-formatting blank BD-R for 49.8GB...
/dev/sr0: "Current Write Speed" is 8.2x4390KBps.
  0.11% done, estimate finish Sat Jan 30 03:29:13 2016
  0.13% done, estimate finish Sat Jan 30 02:10:01 2016
...
 63.20% done, estimate finish Fri Jan 29 20:43:45 2016
:-[ WRITE@LBA=b6d820h failed with SK=3h/WRITE ERROR]: Input/output error
:-( write failed: Input/output error
/dev/sr0: flushing cache
/dev/sr0: closing track
/dev/sr0: closing session
:-[ CLOSE SESSION failed with SK=5h/INVALID FIELD IN CDB]: Input/output error
/dev/sr0: reloading tray

上記のエラーは2層目の書き込みが始まる 25GB の境界で発生します。cdrtoolscdrecord では特に問題は起こりません。LG 製の 'HL-DT-ST BD-RE WH16NS40' ドライブと Verbatim 製の BD-R DL 6x ディスクで問題を確認しています詳しくは FS#47797 を参照。

ディスクトレイが勝手に閉じてしまう

eject コマンドを実行したりドライブのボタンを押して CD を取り出そうとしたときに、勝手にドライブのディスクトレイが閉じてしまう場合、以下のコマンドを試してみてください:

# sysctl -w dev.cdrom.autoclose=0

上記のコマンドで問題が解決するのであれば、以下の設定で変更を永続的にすることができます:

/etc/sysctl.d/60-cdrom-autoclose.conf
dev.cdrom.autoclose = 0

参照