Linux用ツールを使ってデジタルビデオ編集のエキスパートになろう

 私はビデオクリップの撮影/編集/制作に情熱を傾けて、もうかれこれ10年程になる。フリーソフトウェアの熱烈な支持者でもあるので、そのようなビデオ制作の過程のすべてをLinux上で行なおうといつも試みてきた。そして今年になってついに、これでよしというツールの組み合わせが揃った。この記事では、ホームビデオの制作方法を簡単に紹介する。

 ビデオクリップの制作過程は、いくつかのステップに分けて考えることができる。まずビデオの元データをLinuxマシンに転送する(ビデオデータの取り込み)。次にビデオを(場合によっては他のビデオやオーディオ素材と混ぜ合わせて)編集し、それを出力用ビデオファイルに出力する。最終目的がファイルをウェブで公開することやコンピュータに詳しい仲間同士で見ることなら、これで作業はおしまいだ。しかし通常のDVDプレイヤで再生可能なDVDメディアを作りたい場合もある。そのような場合には、最終段階としてさらにDVDの作成がある。

ビデオの取り込み

 取り込みは、かつてのアナログビデオカメラの時代には問題となる作業だった。もし今でもこの手の機器を使っているのなら、アナログビデオをデジタル化することのできる特殊なカードが必要になるかもしれない。しかし以下では、IEEE-1394(FireWire)標準をサポートしている通常のDVカメラが手元にあることを想定する。DVカメラでは、ビデオ(とオーディオ)のデジタル化を行なってくれるので、何の苦労もなくRaw DV形式として映像データを得ることができる。

 FireWire経由でのビデオデータの転送は、私の場合運良くKinoでもdvgrab(どちらもKinoプロジェクトが開発)でも問題なく行なうことができたが、dvgrabはCLIベースのため私はdvgrabの方が気に入っている。以下のコマンドを実行すると、Raw DV形式(圧縮なし)、シーンの切り替わりやサイズ制限を越えた際の自動分割、ファイルサイズの上限は100MB、取り込み先ファイルの名前の先頭に「source_」を加える、という設定で取り込みを開始する。

   # dvgrab --format raw --autosplit --size 100 source_

 取り込み先のファイルは、source_001.dvsource_002.dv……という名前になる。より詳しくはdvgrab(1)のmanページを参照のこと。何か問題があればKino User Guideの「Capturing DV(デジタルビデオの取り込み)」を見ると参考になるだろう。

ビデオ編集方法

 取り込み先のフォルダ内に元データファイル(ソースファイル)を全部揃え終えたら、私の場合、次にビデオデータの編集のためにCinelerraを使用する。Cinelerraは最も直観的で覚えやすい類いのアプリケーションというわけではないが、一度習得してしまえば驚異的なことができるのが魅力だ。Cinelerraプロジェクトのサイトでは、様々なディストリビューションごとの詳しいインストール手順や非常に優れた文書が用意されている。なお(私も含め)Debianユーザなら、インストールは簡単だ。Debian Multimediaレポジトリと、自分のCPU用の適切なCinelerraレポジトリとを/etc/apt/sources.listファイルに追加して、apt-get update及びapt-get installをするだけだ。

 Cinelerraのインストールが完了したら、次のように作業を進める。まずCinelerraを起動し、新規プロジェクトを作成する(「File(ファイル)」メニューから「New…(新規)」を実行)。そして希望のパラメータを選択する(私の場合はNTSCだがこれは人により異なるだろう)。次にこのプロジェクト(この時点ではまだ中身は空だが)をファイルに保存する。以降に行なう編集はすべてこのファイルに保存されるので、元のソースファイルはまったく(明示的に指定しない限り)変更されない。私の場合Cinelerraがクラッシュしたことはあったが、クラッシュの後でそのファイルを開くことができなくなったことは一度もなかった。Cinelerraがクラッシュすることはめったにないものの、作業の途中で頻繁に保存するようにしておけば、クラッシュしても失われるデータは少なくて済むだろう。

 次に、プロジェクト内で使う予定のソースファイルをすべて読み込む。そのためには読み込み用のダイアログでソースファイルのすべてを選択し、「Insertion strategy(挿入方針)」で「Create new resources only(新たなリソースの作成のみ)」というオプションを設定する。これにより「Resources(リソース)」ウィンドウの「Media(メディア)」セクションに、ソースファイルのアイコンが並ぶ。なおCinelerraがソースファイルをインデックス化するのにはしばらく時間がかかるため、ステータスバーを見て終了が確認できるまで待つようにしよう。またプロジェクトにさらに多くのオーディオを混ぜようと考えている場合には、それらのオーディオファイルについても同様の手順で読み込むようにする。読み込みが完了すると「Resources(リソース)」ウィンドウの中にオーディオのアイコンとして表示されるはずだ。

ビデオクリップを組み合わせる

image1
クリックで拡大

 ここまでで編集作業を始める準備が整った。そこで、どのファイルを編集するのかを決めるには、ソースファイルのプレビューを見ながら決めることができる「Viewer(ビューア)」ウィンドウが便利だ。「Viewer(ビューア)」ウィンドウでソースファイルのプレビューを見るには、ソースファイルを「Resources(リソース)」ウィンドウから「Viewer(ビューア)」ウィンドウ上へドラッグするか、またはソースファイル上で右クリックしてコンテキストメニューから「View(ビュー)」を選択する。なお「Viewer(ビューア)」ウィンドウには再生や巻き戻しなどを行なうためのコントロールがある。そしてインポイント(開始位置)とアウトポイント(停止位置)をどこにするのかが決まったら、「[」ボタンと「]」ボタンか、またはキーボードのショートカット(「[」と「]」)を使って各位置をマークしよう。ここで「v」を入力するか「Viewer(ビューア)」ウィンドウの「Splice(接合)」ボタンをクリックすると、(おそらくCinelerraで最も重要なウィンドウである)「Program(プログラム)」ウィンドウ内の挿入ポイントにインポイントからアウトポイントまでの間の部分が現れる。

 Cinelerraにはドラッグ&ドロップモードとカット&ペーストモード(デフォルト)という2つの編集モードがある。ドラッグ&ドロップモードにするには、ツールバー上の矢印アイコンをクリックする。そしてカット&ペーストモードに戻るには、ツールバー上のカーソルアイコンをクリックする。カット&ペーストモードでは、タイムバー上でクリックすると、そのクリックした場所に挿入ポイントが設定される。挿入ポイントは、タイムライン領域に対し垂直の大きな点滅するカーソルによって示され、すべてのトラックを横切った形で表示される。新規にプロジェクトを開始した際は、タイムライン領域の内容は空っぽで、挿入ポイントは0になっている。「Viewer(ビューア)」ウィンドウで「Splice(接合)」操作を行なうと、ビデオクリップが挿入された後、(挿入ポイントをユーザが手動で移動しない限り)挿入ポイントがそのビデオクリップの終端に移動される。そのため、挿入ポイントを手動で明示的に移動することなく一連の操作(ソースファイルの閲覧、イン/アウトポイントのマーク、接合)を繰り返し行なうこともできる。何度かやってみれば、タイムライン領域にビデオクリップが挿入されていくのが分かると思う。

 なおキーボードのHomeキーで、挿入ポイントをタイムラインの先頭に移動することができる。またキーボードのスペースキーで、「Compositor(合成)」ウィンドウ内にプロジェクトのプレビューを出すことができる。このとき、再生画質が今一つであっても心配することはない。というのもこのプレビューはその都度リアルタイムで作られたものであり、最終的な出力はこのプレビューよりもずっと優れた品質であるはずだからだ。ところでプレビューを見ていると、インポイントやアウトポイントがちょうど良い位置に設定されていないビデオクリップがあることに気付くかもしれない。その場合はタイムライン上で、各ビデオクリップの端をドラッグして調節することができる。

 ちなみに「Configuration(設定)」ダイアログの「Interface(インターフェース)」タブでは、マウスボタンごとに異なる編集オプションを設定することもできる。なおデフォルトでは第1マウスボタン(右利き用マウスの左ボタン)は、「ビデオクリップ内のイン/アウトポイントを移動し、それに伴い以降の編集のすべてを調整する」というように設定されている。したがって例えば最初のビデオクリップが少し長過ぎるという場合には、まずマウスでそのビデオクリップを選択し、ビデオクリップの右端に(左側から)マウスポインタを近付ける。そうしてポインタの形が取っ手のように変わるのを確認したらマウスのボタンを押してマウスをドラッグし、少し左に移動すれば良い。そうするとビデオクリップが短くなり、そのビデオクリップとの間隔が空かないように以下に続くビデオクリップがすべて左側へシフトするはずだ。次に例えば2つめのビデオクリップのソースファイル内でのインポイントの位置が遅すぎ、(同じ2つめのビデオクリップ内の)直前の映像をもう少し見せたいという場合には、2つめのビデオクリップの左端に(右側から)マウスポインタを近付ける。そしてポインタが取っ手のような形に変わるのを確認したら左の方へドラッグすれば良い。そうするとタイムライン上でのビデオクリップの開始位置は変わらずにビデオクリップが長くなり、それに応じて2つめのビデオクリップに続くビデオクリップがすべて右へシフトするはずだ。このような編集は、一度いろいろなパターンを練習してしまえば、非常に簡単にできるようになる。

トラック、トランジション、エフェクト

 新規作成したNTSCプロジェクトにはビデオトラックが1つとオーディオトラックが2つあるが、好きなだけのビデオ/オーディオトラックを追加することができる。トラックには「armed(armトラック)」と「disarmed(非armトラック)」という状態があり、その状態によってトラックが編集操作の対象となるかどうかが決まる。例えばビデオトラックが2つあり、そのうちの1つだけが「armed(armトラック)」の状態であれば、貼り付けや接合といった操作は「armed(armトラック)」の状態にある方のトラックに対してだけ適用される。なおarmedかdisarmedかは、各トラックのコントロールエリア(パッチベイ)にある赤い丸のアイコンをクリックすることで変更することができる。

image2
クリックで拡大

 一方armトラックとは別に、再生トラックという属性もある。再生ステータスになっていないトラックは、最終的な出力の中には現れない。逆に再生ステータスになっているトラックは、プレビューや出力の際に(すべての再生ステータスになっているトラックが)オーバーレイ(重ね合わせ)されて表示される。オーディオトラックとビデオトラックとでは、オーバーレイの仕方について別々に調整することができる。なおビデオトラックのオーバーレイの仕組みはGIMPのレイヤの仕組みに似ている(GIMPでは、レイヤが完全に透過である場合を除き、最上位のレイヤが優先的に表示される)。

 各ビデオクリップ間のトランジション(映像の切り替え時のエフェクト)を挿入するには、「Resources(リソース)」ウィンドウの「Video Transitions(ビデオトランジション)」セクションからトランジションを選択し、各ビデオクリップ間の区切り上にドラッグすれば良い。Cinelerraではトランジションは最初のビデオクリップの終わりから始まって2つめのビデオクリップの中へと続く。このことを考慮するとおそらく、各ビデオクリップ内のアウトポイントを指定する際に少なくとも1秒間分の余裕を持たせておくと良いだろう。トランジションのパラメータは、茶色のトランジションアイコン上で右クリックして、コンテキストメニューから選択して調整することができる。最も一般的なトランジションは「Dissolve(ディゾルブ)」で、パラメータは「長さ」だけだ。

 最後に、ビデオやオーディオにはエフェクトを追加することができる。ビデオ用のエフェクトには、ソースファイル自体を変更するものと、ソースファイルに対し追加するものとがある。追加用のエフェクトとしてはタイトルが良い例だ。タイトルを追加するためには、追加したい場所でトラックをダブルクリックするか、または「Program(プログラム)」ウィンドウ内でマウスボタンをクリック/ドラッグ/リリースすることによりタイトルを追加する開始時間と終了時間を指定する。次に「Resources(リソース)」ウィンドウの「Video Effects(ビデオエフェクト)」セクションにある「Title(タイトル)」アイコンを(上記の手順で)指定した時間の部分にドラッグする。そして茶色のエフェクトアイコン上の虫眼鏡マークをクリックしてパラメータを設定する。

結果の出力

 プレビューで確認してプロジェクトの仕上がりに満足したら、「File(ファイル)」メニューの「Render…(出力)」項目を選択することによって、編集結果を単一のファイルに出力することが可能だ。その際パラメータは、最終的な目的によって異なるものを選択することができる。例えば後程DVDを作成するためにMPEGファイルを作成する場合には、 この方法 に従うことがお勧めだ。一方、コンピュータ上で見るためのビデオファイルが欲しいだけという場合には、Ogg TheoraやLinux用QuickTimeやMicrosoft AVIなどのフォーマットを使ってビデオとオーディオの両方を同一ファイル内に出力することができる。なおレンチのアイコンをクリックすると、ビデオとオーディオの両コンポーネントのためのパラメータを調整することができる。出力にはしばらく時間がかかるので、ステータスバーを見て終了を確認しよう。

video3
クリックで再生

DVDの作成

 低速なコンピュータや低帯域ネットワーク接続を持つ人にビデオを見せたいという場合には、DVDプレイヤで再生可能なDVDメディアを物理的に送るということもできる。私の場合、DVDの作成にはDVDStylerを利用している。なおDVDStyler自体は、dvdauthorを利用している。DVDStylerを使うと、DVD用のタイトルやメニューやボタンをGUIを使って作ることができる。結果はXMLファイルに保存されるため、後程ファイルを開き変更することも可能だ。詳しくはプロジェクトの操作マニュアルを参照のこと。

 私のいつものやり方は、まずDVDStylerを使用して最終的なDVDイメージを作成し、その後以下のようにdvd+rw-toolsパッケージのgrowisofsプログラムを使って必要な枚数分を実際のディスクに焼くというものだ。

   # growisofs -dvd-compat -speed=2 -Z /dev/hdc=result.iso

 このとき私は、保守的になって2倍速を指定することが多い。これはDVDを受け取る人のDVDプレイヤが最高級品というわけではなく、より高倍速で焼かれたディスクの再生に問題が起こる可能性を考慮してのことだ。なお、DVD書き込み用のデバイス名(/dev/hdc)やDVDイメージのファイル名(result.iso)は、あなたの環境に合わせて適宜変更して指定する必要がある。

まとめ

 以上のような手順は手っ取り早いものではないし、CPUやRAMやディスクを酷使するものでもある。とは言え、そういった問題はLinuxに限ったことではない。

 便利さという点から考えると、Linuxでは一通り使えるようになるために学習する必要のあることが多いが、しかし学習するだけの価値はある。一度これらの手順を学習してしまえば、これらのツールをすべて快適に使いこなすことができるようになるだろうし、フリーソフトウェアには、ユーザと開発者のコミュニティが活発であるということだけでなく、安定性や見通しの良さなど非常に大きな利点があるのだ。

Alex Roitmanは、フリーソフトウェアのファンで、GRAMPS開発チームのメンバー。GRAMPSプロジェクトには2002年から参加している。

NewsForge.com 原文