本連載の第180回 では、kdenliveというノンリニアビデオ編集ソフトウェアを紹介しました。この類のソフトウェアは、すでにファイルとなっているメディアを組み合わせてエフェクトをつけ、それを再度ファイルに書きだすのが目的です。もし、これをファイルではなくディスプレイに出力、しかもリアルタイムに行ってライブパフォーマンスができたら楽しそうではありませんか? このようなパフォーマンスをビジュアルジョッキーと呼びますが、今回はそれを実現するLiVESというソフトウェアのレシピをお届けします。
LiVESとは
LiVES の名前は「Linux Video Editing System」から取られており、元々はLinuxで使えるソフトウェアとして誕生しました[1] 。先述の通りノンリニアビデオ編集ソフトウェアとしての顔もありますが、映像に対してリアルタイムに任意のエフェクトをつけて出力するという機能を持っています。対象となる映像はファイルだけではなく、カメラからのビデオ入力まで及びます。
LiVESをインストールするには、UbuntuソフトウェアセンターでLiVESを探してインストールしてください。起動はUnityのDashからLiVESを検索することで行います。
図1 LiVESの画面。デフォルトでは、後述するクリップエディターモードで起動する
なお、今回のスクリーンショットはAlien Arena というネットワークFPSゲームのウェブサイトからダウンロードできるトレーラーと、ウェブカメラのキャプチャー映像を利用しました。Alien ArenaはUbuntuソフトウェアセンターからパッケージが提供されているので、遊んでみるのもよいでしょう。
LiVESの2つの操作モードとクリップ
LiVESは、デフォルトではクリップエディターモードで起動します。クリップエディターモードはリアルタイムパフォーマンスのためのモードです。この他に、マルチトラックモードがあります。マルチトラックモードはノンリニアビデオ編集をするためのモードです。
図2 マルチトラックモード
クリップエディターモードとマルチトラックモードの切り替えは、メニュー「編集」から選択することで行います。
LiVESを扱う際に重要なキーワードとなるのがクリップです。クリップとはビデオとして出力するための素材のことです。LiVESが扱うクリップには2種類あり、ひとつはファイルです。登録したファイルは先に述べた2つのモードで共有されます。もうひとつはビデオキャプチャーデバイスやウェブカメラから取得できるビデオ入力です。ただし、これはクリップエディターモードにおいてのみ利用可能です。クリップエディターではこうすることで、ファイルに対してもビデオ入力に対しても同じ操作を行います。
マルチトラックモード
ノンリニアビデオ編集を行うためのモードがマルチトラックモードです。映像や音声のクリップを登録し、組み合わせ、エフェクトをつけて別なクリップとして出力します。ライブパフォーマンスのための素材作りをするためのモードと考えてください。
マルチトラックモードにすると、まず最初にビデオのレンダリングフォーマットを決めるウィンドウとなります。大抵の場合はデフォルトのままでも大丈夫でしょう。再設定するにはメニュー「ツール」 →「 幅・高さ・音声値の変更」とたどってください。
図3 レンダリングフォーマット設定画面
クリップはメニュー「ファイル」で指定することで登録します。映像ファイルや音声ファイルを登録することができます。登録したクリップは画面下部のタイムラインにクリックアンドドラックで配置します。右クリックメニューから選択をすることで、カットやペーストを行えます。また、ダブルクリックしたり、右クリックメニューから選ぶことでクリップを選択状態にすることができます。
図4 タイムライン上で選択されたクリップは、対角線が引かれた灰色のボックスとして表示される
この状態で画面上部のエフェクトタブから任意のエフェクトをクリックアンドドラッグすると、エフェクトを適用することができます。クリップに適用されたエフェクトは「適用済エフェクト」タブで一覧することができるほか、「 パラメーター」タブでパラメーターを調整できます。
図5 選択されたクリップに適用されているエフェクトのパラメーターを調整
タイムラインが重なった2つのクリップを切り替えるために使われるトランジションですが、適用方法は独特です。まず画面上部の「重複を選択」を有効(緑色)にします。次に、トラックを選択状態とするために、クリップが属する2つのトラックの左にあるボタンをクリックして有効(緑色)にします。そして、重複している時間帯を囲むよう、時間を刻むバー上を大きくクリックアンドドラックします。すると、クリップが重複した時間帯のみ選択されます。この状態で「トランジション」タブから適用したいトランジションをクリックアンドドラッグして、クリップに持って行きます。「 パラメーター」タブが自動で表示されたら適用は成功です。
図6 トランジションの適用は独特
このようにして作成したクリップ・エフェクト・トランジションの状態を、LiVESでは「レイアウト」と呼んでいます。保存するにはメニュー「ファイル」から項目「レイアウトを別名で保存」を選択してください。再ロードは項目「レイアウトの読み込み」から行います。
マルチトラックモードでの最後の作業は、編集の成果をレンダリングし、クリップとして登録することです。これはメニュー「レンダリング」から行います。
なお、現在のLiVESのマルチトラックモードは、KdenliveやOpenShotと比べ操作性が劣ります。そのため、ノンリニアビデオ編集は他のソフトウェアで行い、成果をLiVESのクリップとして登録、以降で扱うライブパフォーマンス機能につなげるという使い分けをおすすめします。
クリップエディターモード
ライブパフォーマンスのためのモードがクリップエディタモードです。クリップエディターモードで押さえておく点は、クリップの登録方法とパフォーマンス開始方法、そしてリアルタイムエフェクトマップとその適用方法です。順に見て行きましょう。
クリップの登録方法
メニュー「ファイル」から選んでいきます。ファイルシステムに保存してあるファイルを登録したり、光学メディアからのインポートなどを行います。
これに加えて、項目「ウェブカメラ/TVカードの追加」 →「 Unicapデバイスの追加」とたどると、現在システムで使用可能なウェブカメラやビデオキャプチャーボードからのビデオ入力をクリップとして登録することができます。この際、パッケージ「libunicap2-dev」がシステムにインストールされている必要があります。ビデオ入力デバイスが認識されない場合はこのパッケージのインストールを確認してください。
図7 ウェブカメラやビデオキャプチャーボードの登録
登録したクリップの一覧は、メニュー「クリップ」から確認することができます。LiVESではクリップのまとまりを「クリップセット」と呼んでいます。クリップセットは保存と再利用が可能です。保存するにはメニュー「ファイル」 、「 全クリップを保存して閉じる」とたどります。再利用はメニュー「ファイル」の「クリップセットの再読み込み」を選択
してください。
再利用はメニュー「ファイル」の「クリップセットの再読み込み」を選択してください。
図8 クリップセットの一覧
ライブパフォーマンス開始方法
ライブパフォーマンスを開始するには、メニューバーの右の方にある三角の再生アイコンをクリックします。四角がふたつ並んだアイコンは、プレビューウィンドウをメインウィンドウから分離するためのものです。ディスプレイが複数あるシステムであれば、パフォーマンスを見せたいディスプレイにプレビューウィンドウを配置するとよいでしょう。
この他にも停止やループ、巻き戻しを行うアイコンがあります。また、キーボードショートカットで同等の操作を行うこともできます。キーボードショートカットに関しては後述します。
図9 停止状態のプレビューウィンドウ
リアルタイムエフェクトマップ
リアルタイムに適用することのできるエフェクトの一覧がエフェクトマップです。クリップエディターのメニュー「VJ」 →「 リアルタイムエフェクトマップ」とたどって表示します。
図10 リアルタイムエフェクトマップ
エフェクトマップは縦8列、横9行の配列となっており、計72のリアルタイムエフェクトを登録できます[2] 。ライブパフォーマンスではクリップを切り替えつつ、このエフェクトマップの中からエフェクトを適用していくことになります。エフェクトの適用はマウス操作でも行えますが、後述するキーボードショートカットや入力デバイスを併用すると、より気持よく操作することができるでしょう。
図11 パフォーマンスの一部
キーボードショートカット
キーボードショートカットの一覧は、メニュー「VJ」 、「 VJキーの表示」で表示することができます。
図12 エディターモードのキーボードショートカット操作一覧
主要な操作は以下となります。
コントロールキーと数字1~9
リアルタイムエフェクトマップの対応する番号を適用します。すでに適用されていたらオフにします。
コントロールキーと数字0
適用されているすべてのリアルタイムエフェクトをオフにします。
Kキー
最後に適用したリアルタイムエフェクトにフォーカスします。
Mキー
Kキーでフォーカスしたリアルタイムエフェクトの一つ下のエフェクトを適用します。
コントロールキーとPageUp
次のクリップに切り替えます。リアルタイムエフェクトは維持されます。
コントロールキーとPageDoen
前のクリップに切り替えます。リアルタイムエフェクトは維持されます。
F1~F11キー
現在のクリップをブックマークします。他のクリップを使っている際にこのキーを押すことで、ブックマークしたキーに戻ることができます
F12キー
ブックマークをクリアします
プレビューウィンドウに関する操作へのショートカットも表示されていますので、主だったものを以下に示します。
Pキー
再生を開始します
Qキー
再生を終了します
Sキー
プレビューウィンドウとメインウィンドウを分離します
ジョイスティックやMIDIコントローラーの利用
ジョイスティックやMIDIコントローラーなどのハードウェアを使ってLiVESをコントロールすることもできます。
設定するにはメニュー「ツール」 、「 設定」とたどって設定ウィンドウを開き、項目「MIDI/ジョイスティック登録」を表示します。
ジョイスティックの登録にはLinuxのキャラクターデバイスに関する知識が必要となります。例えばジョイスティックの場合は/dev/input/js0を登録することになるでしょう。
MIDIコントローラーの登録にはALSAに関する知識が必要となります。この際、シーケンサー機能を利用すると登録の手間なくそのまま使うことができます。ただしこの場合、本連載の第149回 、第150回 を参照し、ソフトウェアのMIDIポート間を接続する作業を行なってください。
コントローラーの入力信号と実際の動作の紐付けは、メニュー「VJ」 、「 MIDI/ジョイスティックインターフェイス」 、「 MIDI/ジョイスティックの登録」とたどって表示される画面から行います。もしデバイスからの信号がちゃんとLiVESに届いたなら、その信号が画面に表示されます。割り当てたい動作をプルダウンリストから選択してください。
図13 ジョイスティックからの入力信号を紐付した例。ここではElecom社のJC-U3016 を用いた
図14 MIDIコントローラーからの入力信号を紐付けした例。本連載の第150回 に登場したMIDIコントローラー、Roland/Edirol PCR-M30 を用いた
まとめ
筆者の予定では、LiVESの映像出力をビデオループバックデバイスを通じてUstreamやニコニコ動画などのネットストリーミングサービスで配信するところまでを扱うつもりでしたが、LiVESにバグがあり今回は断念しました。
LiVESはユニークで強力なソフトウェアですが、まだバグで動かない機能があるほか、日本語訳も十分ではありません。バグトラッキングはsourceforge.netで、翻訳はlaunchpad.netで行われています。 バグ報告 も翻訳 もlaunchpad.netで行うことができます。 ユーザーのメーリングリスト もありますので、興味のある方はプロジェクトに参加してみるのもよいでしょう。