RippedWireおよびWinFFを用いて行うLinux上でのビデオフォーマット変換

 本サイトではこれまで、ビデオファイルをフリーのOggフォーマットにエンコードないしトランスコードするためのGUIツールとしてOggConvertおよびThoggenを紹介してきた。しかしながらこの種のコーデックとしては、TheoraおよびDirac以外にも多数のオプションが存在している。よって本稿では、DVDのリッピングとコンバージョンに特化した RippedWire および、DVDコンテンツその他ビデオソースのコンバージョンに対応した WinFF という、操作性と品質の両面で優れた2つのユーティリティを紹介することにする。

 これら2つは、どちらもLinux以外のオペレーティングシステムから移植されてきたアプリケーションである。RippedWireの母体であるHandBrakeは当初BeOS用に開発されたもので、その後Mac OS Xにて人気を博したという経緯を有している。一方のWinFFはFFmpegライブラリのフロントエンドであるが、その名が示唆しているように本来はWindows用に開発されたものである。

HandBrakeGTKという名前を併せ持つRippedWire

 2003年にBeOSおよびOS X用のDVD-to-AVIコンバータとしてリリースされたものがHandBrakeであり、そのオフィシャルプロジェクトからはLinux版としてコマンドライン専用バージョンが提供されているが、このコマンドラインバージョンをGTK+によるGUI操作を可能にした上で単独パッケージとしたものがRippedWireである。

rippedwire_thumb.jpg
RippedWire

 同プロジェクトのWebサイトからは現在、最新バージョンである1.0.1がダウンロードできる。このプロジェクトについてはRippedWireおよびHandBrakeGTKという異なる名称で呼ばれることが多々あるが、これは単なる名称上の食い違いであり、人目をはばかる権利問題が背後で生じているという訳ではない。tarボールも.debパッケージも双方の名称のものが入手できる。このパッケージはMonoを使用しているのだが、私がUbuntu Gutsyにインストールを試みた際には、gtk-sharp2-examplesおよびmonodoc-gtk2.0-manualなど多数のMonoパッケージが必要であるとされた(ただし不思議なことに、どちらもこのアプリケーションとはリンクされていない)。

 このアプリケーションを起動するとオプションの大部分はグレー表示されているが、DVDを光学ドライブに挿入するか、マウント後のディスクイメージないしはハードドライブに抽出したコンテンツにあるVIDEO_TSディレクトリをソースとして指定することで、これらのオプションは使用可能となる。

 抽出および変換時に各チャプタを個別にファイル化することも可能で、その際にはファイルタイプとしてMP4、AVI、OGM、MKV、ビデオコーデックとしてMPEG4、H.264、Xvid、オーディオコーデックとしてAAC、AC3、MP3、Vorbisを使用できる。こうしたコンバージョン時には個々の処理内容の詳細を事前に指定しておくことで(例えばチャプタ別設定など)、処理対象をキューに登録してプロセスを自動実行させるということも可能である。

 いずれのコーデックについても詳細な設定オプションが用意されているが、これらを使いこなすにはユーザ側にそれなりの知識がなければならない。そうした知識を有さない、あるいは細かいことは気にしたくないというユーザであっても、このプログラムには17種類の設定がプリセットされているので、クリック1つで適切な設定を呼び出すことができる。プリセットの設定としては、再生用デバイスに特化したもの(iPodかPS3かなど)、ソースとなるメディアに合わせたもの(アニメーションかテレビ画像かなど)、あるいは速度や品質を最優先したものなどが用意されている。

 コンバージョン用のキューを実行させると、ウィンドウ下端のステータスバーに現在処理中の内容、処理の終わったジョブ、個々の処理の予想残り時間が表示されるようになる。

WinFF

 WinFFそのものは、FFmpegというコマンドライン形式コンバータを操作するためのGUIラッパーという位置付けである。制作者のMatthew Weatherford氏からは、Windows、Debian/Ubuntu、Red Hat用のバイナリおよびソースのパッケージが提供されている。

winff_thumb.jpg
WinFF

 自らをコマンドライン形式ツールの操作用GUIラッパーであると謳ったアプリケーションは各種存在しているが、そうした中でもWinFFは真の意味でのGUIラッパーに近く、このフロントエンド上で変更した設定や選択したオプションは、ffmpegのコマンドラインインスタンスで実行されるパラメータに変換されるのである。そのためWinFF側でどのようなオプションが利用可能かは、個々のFFmpegビルドで実装されている機能で規定されることになる。Weatherford氏からはリテール版Linuxディストリビューションのユーザに対して、フル装備版のFFmpegビルドを別途探すか、自分でコンパイルしたFFmpegを使用するべきであるとのコメントが出されている他、Ubuntuユーザを対象としたいくつかのオプションが提示されている。

 WinFFのインタフェースはRippedWireよりもシンプルな構成となっているが、変換するビデオのキュー登録機能を始め、プリセットされた出力フォーマット選択用のドロップダウンメニュー、出力先ディレクトリの指定スペースが設けられている。その他の追加オプションについては、Optionsボタンをクリックするか、View → Additional Optionsメニューを選択することでアクセスでき、こうした追加オプションで指定できるのは、ビデオ/オーディオのビットレート、フレームレート、サンプリングレート、出力サイズとアスペクト比である。その他にAdditional Command Line Parametersボックスには、FFmpegのコマンドラインオプションを直接入力することもできる。

 WinFFの最新リリースであるバージョン0.33では40種類の出力設定がプリセットされており、各種アスペクト比におけるNTSCおよびPAL形式のDVD、様々なポータブルデバイスや携帯電話、Flash形式のビデオなどを想定したオプションがそのまま利用できるようになっている。

 必要な設定後にConvertボタンをクリックするとWinFFはポップアップ形式のターミナルウィンドウを表示してffmpegによるコンバージョンを開始させるが、このウィンドウにはFFmpegからのステータスメッセージも出力されるようになっており、既存ファイルを上書きするような場合にはFFmpegプロセスが実行許可を求めることもあるので、その際にはユーザが指示を出さなくてはならない。

 Thoggenもそうであったが、先のRippedWireの入力ソースもDVDビデオに特化している。これに対してWinFFは既存ファイルを別フォーマットにトランスコードすることもできるので、ユーザが自主製作したオリジナルビデオを圧縮したい場合などにも利用できるはずだ。コマンドラインで操作するFFmpegでのトランスコード処理が負担に感じるのであれば、WinFFを導入することでワークフローを単純化できるかもしれない。

2つのユーティリティの比較

 本稿で取り上げた2つのツールは、いずれも各種の入出力フォーマットに対応した上で豊富なオプションが指定可能であるため、処理速度を基準にした比較はそれ程意味をなさないであろう。実際のコンバージョン処理にどれだけの時間を要するかは、ハードウェアのスペックおよびツール上で指定したビデオの品質レベルが、最大の要因となるはずだからである。

 むしろ自分が使うビデオコンバータとしてどちらを選択するべきかは、操作性と柔軟性を基準とすべきだろう。例えばポータブルデバイスに多数のコンテンツを転送するというタイプの用途であれば、クリック一発で必要な出力設定が指定できる機能を重宝するはずだ。そうした観点で見た場合、WinFFおよびRippedWire/HandBrakeGTKは、的確な設定の施された豊富なプリセットを利用できる点で至高の存在だと言えるかもしれない。

 単純なプリセット数だけで言えばWinFFの方に軍配が上がるが、この数は基本設定の派生タイプ(16:9か4:3か、NTSCかPALかなど)が多い分だけ上げ底されている点を差し引かなくてはいけない。逆にプリセットを用いずにユーザが変換オプションをゼロからカスタマイズする場合は、RippedWire/HandBrakeGTKのGUI画面の方がWinFFよりも扱いやすいはずだ。またどのような変換オプションが利用可能であるかは個々のコーデックごとに異なる話だが、WinFFの変換設定を自力でカスタマイズする場合は、その際に用いるコーデックに関する知識だけでなくFFmpegのコマンド構文も把握しておかなくてはならない。

 FFmpegは強力な変換ツールだが、それ故にWinFFにおけるFFmpegへの依存性の高さが、一部のユーザにとっての難易度を高くしている点も否めない。またFFmpegプロジェクトは、いつまで待っても安定したリリースを出さないということで悪評高く、そのためFFmpegパッケージを同梱するディストリビューションは、いずれもSVNリポジトリからコードを取得して独自にテストを施すことを余儀なくされている。よってディストリビューションが異なればFFmpegのバージョンも異なっているはずであり、回帰テストの結果や新機能の装備状況も統一されていないのが実状である。また仮にユーザが自力でプロジェクトのSVNリポジトリからコードを取得してFFmpegを独自ビルドするとしても、その結果の安定性に関しては何の保証も得られないことを覚悟しておかなくてはならない。

 これと対照的なのがHandBrakeプロジェクトであり、こちらは安定版リリースのテストとパッケージ化を定期的に実施している。特定バージョンで問題が発生した場合は、開発者に報告するかユーザフォーラムで相談してみればいいだろう。

 このようにどちらのコンバータも長所と短所を有している。一番お手軽な選択肢は両方のツールをインストールしておき、実際に自分が使用するポータブルデバイスなど、必要な出力フォーマットがどちらかにプリセットされていないかを確認することであろう。そうしたものがデフォルトで用意されていなかった場合は、RippedWireの操作性に優れたGUIツールを介して必要な設定を見つけ出せばいいが、こちらのユーティリティで自力で理想に近い設定が得られなくても、インターネットを検索することで他のFFmpegユーザが会得した設定上のヒントを探し出せるかもしれない。いずれにせよ自力で対処可能なオプションが豊富に用意されているツールというのは、称えるべき存在ではないだろうか。

Linux.com 原文