Monday, October 3, 2016 5:00AM to 11:00AM (UTC) Schedouled down time to change site domain

テキストベースのDVDリッパーを使ってみる

 グラフィカルなDVDリッピングおよびエンコーディング・アプリケーションはワンクリックで動画のバックアップができるというが、実際にはテキストベースのアプリケーションのほうがそうした作業に向いているかもしれない。

 これまでAcidRipdvd::ripthoggenRippedWireといったグラフィカルなリッパーを試してきたが、満足度はさまざまだった。また、どれに対しても共通の不満があった。私が遭遇したクラッシュや問題のほとんどは、そうしたアプリケーションまたはデスクトップのグラフィカルコンポーネントに関するものだったのだ。コンピュータの電源をひと晩中入れっぱなしにして電気を無駄使いしたうえに、朝見てみると単なる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回押す(あるいは引数の短い文字列を入力する)操作のほうが合っているからだ。