テキストベースのDVDリッパーを使ってみる
これまでAcidRip、dvd::rip、thoggen、RippedWireといったグラフィカルなリッパーを試してきたが、満足度はさまざまだった。また、どれに対しても共通の不満があった。私が遭遇したクラッシュや問題のほとんどは、そうしたアプリケーションまたはデスクトップのグラフィカルコンポーネントに関するものだったのだ。コンピュータの電源をひと晩中入れっぱなしにして電気を無駄使いしたうえに、朝見てみると単なるGTK+やQtに関するエラーのせいでDVDのリッピングとエンコーディングが失敗している、という状況は(少なくとも)決して気分のいいものではない。こうしたアプリケーションの大半が実はコマンドラインプログラムのフロントエンドにすぎないと知ったら、その怒りはさらに増すだろう。たとえば、AcidRipはMEncoderのラッパーであり(確かにMEncoderにはフロントエンドが必要)、RippedWireの下にはHandBrakeCLIが存在する。「Go」ボタンをクリックしたあとのグラフィカルアプリケーションは、基本的にただのプログレスバーであり、デスクトップとシステムのリソースをむさぼり食うだけの存在だ。
undvd
インストールしたばかりのArch Linux環境でGUIベースのリッパー/エンコーダの実行に失敗したあと、たまたまundvdのことを知った。コアとなる依存関係がlsdvdとMEncoderにしかないということで、undvdのバージョン0.3.1を試してみることにした。
コマンドラインアプリケーションであるundvdのインストールは一瞬で済んだ。光学ドライブにDVDを入れて「scandvd.sh
」を実行すると、DVD内のタイトルが並んだシンプルな画面と、それらのMPlayerによる視聴方法やリッピング方法の基本的な手順が表示され、そこでscandvd.sh
の実行は終了する。リッピングするタイトルを決めたら、いくつか簡単なパラメータを指定して「undvd.sh
」を実行する。たとえば、DVD内にある最初のタイトルのリッピングとエンコーディングを英語音声および字幕トラック付きで行うには「undvd.sh -t 01 -a eng -s eng
」とすればよい。
もう少し複雑な例として、DVDの2番目のトラックを(フランス語のオーディオトラックを付けて字幕なしで)リッピングしてから1パスエンコードを実施する場合を考えよう。さらに、DVDが暗号化されていて(読み取りにはlibdvdcssが必要)、光学ディスクから直接リッピングを行い、映像のスムージングフィルタとXvidによる圧縮を用いることを想定すると、次のようなコマンドになる。
undvd.sh -t 02 -a fr -s off -1 -u -n -f -x
結果として(上記のどちらの場合も)思いのほか良質なAVIファイルができあがる。その他のオプションとしては、2パスエンコードの使用、出力AVIファイルの目標サイズの選択、映像のスケーリング指定がある。
リッピングとエンコーディングの結果は、undvdの呼び出しを行ったフォルダに保存されるので、ディスク容量に問題がないか注意すること。デフォルトでは、undvdによってDVD全体がいったんハードディスクにダンプされ(こちらはあとで削除可能)、ハードディスク上のISOイメージを使ってリッピングとエンコーディングが行われる。そのため、DVDメディアが酷使されることはなく、読み取りエラーによって作業が失敗することもない。なお、リッピングはDVDから直接行うこともできる。
オプションの不足に対してはいつも口うるさい私だが、このundvdはすぐに気に入った。インターフェイスはシンプルながらも実用的で、私のノートPCには、タブやチェックボックスを使った操作よりも、「Enter」キーを2回押す(あるいは引数の短い文字列を入力する)操作のほうが合っているからだ。
h264encとxvidenc
undvdの存在を知ったすぐあとに、h264encとその姉妹ツールであるxvidenc、divxencに出会った。h264encの作者は、自身の手による有益なFAQのなかで、このツールは対話的スクリプトであり、GUIアプリケーションにはないbashスクリプトの利点を活かしたものだと説明している。h264encは基本的にundvdと同じ働きをするが(h264encもMEncoderを利用)、エンコーディングのオプションをより細かく調整できる。h264encのすばらしい点は、リッピング/エンコーディングの処理を好みに応じて簡略化したり複雑化できることだ。メニュー選択をなるべく減らすこともできれば、じっくりとオプションを調整することもできる。品質に関する41の設定項目にはAppleのiPodのような携帯デバイス向けの設定も含まれ、簡単に使いこなすことができる。
manページには、使い始めるにあたって必要なすべての情報が記されている。「h264enc -scan
」を実行すれば、DVDのチャプターやオーディオなどの情報が読み込まれて結果が表示される。そのうえで、好みに応じて必要なパラメータを付けてh264encを実行する。たとえば、DVDの2番目のトラックをリッピングするには「h264enc -2p -p hq
」のように入力する。こうすると「High Quality(高品質)」設定で2パスエンコードが行われる。h264encには対話形式のメニューもあり、DVDドライブやリッピングするビデオトラック、オーディオトラック、チャプター、アングルなどを選択できる。また、後処理フィルタ(インターレース解除、ノイズ除去、映像のシャープネス補正など)の選択や、動画のビットレート、目標サイズ、オーディオのコーデックなどの指定もできる。急ぎの場合や詳細がわからない場合は、デフォルトの設定を選べばよい。h264encでは、デフォルトでH.264/MPEG-4 Part 10規格のAVIコンテナを使用して、同規格に合うようにファイルのエンコーディングが行われる。Matroska Multimedia Container(MKV)、Ogg Media(OGM)、MPEG-4 Part 14(MP4)など、その他のコンテナも選べる。また、特定のジョブに対する設定をファイルに保存できるので、独自の設定を作成することも可能だ。さまざまなジョブごとに別々の設定を保存しておくことで、バッチ処理も行える。これはぜひ利用したいすばらしい機能だ。
最終成果物の品質は、元の映像の質と選んだ設定によって変わる。FAQのアドバイスに従いながら何度か自分で試したところ、すばらしい結果が得られた。たとえば、「Very High Quality(最高品質)」設定の3パスエンコードで目標サイズを1400MBとすると、画質の点で元のDVDと遜色ない動画ファイルができあがる。
まとめ
私の場合、ほとんどの作業にはundvdを、出力の細かい調整が必要なとき(非常に質の高いリッピングや低画質の映画など)にはh264encを使っている。テキストベースのアプリケーションとしては、確かな代替ツールとしてRipDVDやHandBrakeCLIも検討するとよいだろう。特にHandBrakeCLIは、ほかの大部分のリッパー/エンコーダとは違って、マルチコアCPUに対応している。h264encやundvdほど使いやすくはないが、その点については最近の記事を参考にすればよい。dvd::ripもマルチコアCPUをサポートしており、クラスタの設定によって処理能力を向上させることができる。
こうしたアプリケーションは、デスクトップ環境における一般的なタスクについてはコマンドラインベースの作業にもまだ十分な利用価値があること(特にパワーとシンプルさを求める場合)を示している。
Rui Lopesはポルトガルのウェブデザイナー兼映画制作者。テクノロジーの分野に幅広い関心を持つ。