こういう人が読んでください。
・VLCのNDI OutputをVJに導入したい
・VLC→他のソフトにするとカクついたり緑画面を吐いたりする、など
私も実はよくわかってませんが、ResolumeとVLC Media Playerを併用すると、こちらのほうが動作が軽いことがあったり、いろんな形式読み込めたりと便利です。
マスク素材と組み合わせたり、ResolumeでVLC飛ばして工夫して疑似2画面したり。
そもそもVLC自体、VJに使うことを前提に作られたソフトではないので、VJのために使うためにはいろいろチューニングが必要…だとは思います。
私も何回か現場導入して独特の仕様にやられてしまいましたが、今では安定して運用できているので、設定いじったところについて、自分が困ったときにもとに戻せるようにという意味でも記事を落としてみます。
1.VLC Media Player&NewTek NDIのインストール
VLCMediaPlayerを他のVJソフトと連携するには、NDIという規格を使います。
NDI(NetworkDeviceInterface)...ざっくりいうとネットワークの仕組みを応用して、同じLAN内の画面をソフト間で共有する規格です。イメージとしては、ソフト間のHDMIケーブルみたいなものだと思ってください。設定すればPC間を飛び越えることも可能です。ネットワークがないと使えない、というのが特徴ですね。
用語はともかく、設定の仕方ですね。とりあえず一から書いていきます。再掲になる部分もあります。
まずVLCをインストールします。
Official download of VLC media player, the best Open Source player - VideoLAN
上記サイトからインストールしてください。
右の▽ボタンに環境選ぶところがあるので、そちらをクリックして使用する環境を選んでダウンロード、インストールしてください。
2.NewTek NDI のインストール
https://jp.newtek.com/ndi/applications/
NDIの下、左辺りに「NDIツール」の欄があるので、そちらからインストーラをダウンロードし、インストールします。ダウンロード時にe-mailなどを要求されるので、そちらを入力してください。使うツールは「NDI VLCプラグイン」のみですが、Test Patternなども必要に応じてインストールするといいと思います。
一応この2つと、Resolumeがあれば、環境としては大丈夫です。
※VirtualDJやGrandVJで使いたいんだけど!?と思った方は、NDI to Spoutを入れてください。(ResolumeとOBSStudioでは不要です)下に詳しく載せました。
※RekordBoxVideoで使いたいんだけど!?と思った方は、NDI Virtual Inputを入れてください。(プラグインを入れるときついてきます)
2.VLCの設定
「動画を全力で綺麗に再生しようとします。」
と考えると、「負荷を落とすこと」「綺麗ではなくとも安定して再生すること」が設定の目標となります。
とりあえず、設定について。(ここも前書いた設定とほとんど同じですが、今回はResolumeと併用するていで設定します。)
とりあえずVJ向けの設定。
ツール→設定で設定画面が出てきます。
設定箇所は以下の通りです。
1.「インターフェース」タブ
・「システムトレイアイコン」のチェックを外す(外さないとループするたびに通知が起きるため)
・「ビデオのサイズにインターフェース」をリサイズのチェックを外す
・「ひとつだけ実行を許可」のチェックを外す(2つ以上VLCを起動できるようにするため)
2.「ビデオ」タブ
出力を「NewTek NDI video output」にします。これで内部ネットワークにVLCの再生状態を配信することになります。(普段から動画プレイヤーソフトとしてVLC使ってる方はこれ入ってると動画がでないので動画見るときは元に戻してください。
)
3.入力/コーデック
「ハードウェアアクセラレーションによるデコード」をPCに適した設定にします。
ここがあってないとVLCは緑色の動画吐くのでVJ中に動画が緑になったら見直してください。
GPUが入っていないPCなら「無効」入っているPCなら「DirectXビデオアクセラレーション」ですね。
「自動」にするとループ時などに緑の画面を吐きます。
(おそらく、ここの項目「Direct3Dビデオアクセラレーション」にするとハイスペックなPCでないとクラッシュするので、これが自動で選ばれることが原因では?と思ってます。)
あとは初期設定だと非常にCPU、メモリ等を消費するので、「x264プリセットとチューニング設定」をいじると負荷を落とせます。
「x264プロファイルとレベル設定」がhighだとなかなかに負荷が高いので、ここを下げるとだいぶVJにも実用的な負荷になると思います。
4.動画表示を軽くする設定(キャッシュ)
検証してみたところ、初期設定だとかなりゲーミングPCでも2動画再生するとカクつきます。ファイルキャッシュ(動画ファイルの断片を溜めて軽くする機能)が300とデフォルトではとてもVJ使いできるものではないので、3000~10000にしましょう。
以下の項目をいじるといいかな?と。
1.ツール→設定から入り、左下の「設定の表示」を「すべて」にします。
2.「入力/コーデック」の項目の「ファイルキャッシュ」「ディスクキャッシュ」「ネットワークキャッシュ」の初期値が300くらいになってるので、そちらを3000~10000くらいで調整します。
たぶん他にも設定いじれば軽くなるかな?なところはあるかもしれませんが、個人的には、こんな感じです。
3.ループバックアドレスの設定
ループバックアドレスがあるとオフラインで手持ち動画からNDIの運用ができたり、通信が安定しなくても持ちこたえられたりとメリットが大きいので、これも設定しておくとよいと思います。
ざっくりいうと、自分のPCと自分のPCの間にネットワークを敷く感じですね。私もこの前覚えたくらいなので、このへんは他のかたのブログにおまかせします。
各ソフトでの拾い方
1.Resolume
ResolumeでVLCで使うには、
VLCをNDI出力にした状態でSourceから拾えます。
NewTek NDI Serversの項目の中に「PC名(VLC)」があるので、それを上のスロットにドラッグアンドドロップしてください。これでVLCの画面が飛びます。
2.Virtual DJ/Grand VJ
Virtual DJ/Grand VJの場合は、VLCから飛んでいるNDIをNDI to Spoutで変換して拾います。
これでNDIをSpoutに変換できるので、VirtualDJで拾えるようになります。
VirtualDJで拾うには、以下のとおりです。
1.Spout関連ソフトをダウンロードします。
このサイト下のほうにあるDownloadからダウンロードページに飛びます。そこにSPOUTとSPOUT TO NDIがあるので、それらをダウンロード、インストールします。
2.SPOUTをインストールするとデスクトップにSPOUTのアイコンができるので、そこからSPOUT関連のファイルに飛べます。ここの「PROGRAM」→「VIRTUAL DJ」フォルダの中に「VDJSpoutReceiver.dll」「VDJSpoutSender.dll」ファイルがあるのでこれらをVirtualDJのプラグインフォルダに入れます。多くは「ドキュメント」か「ProgramFiles」→「VirtualDJ」→「Plugins」→「VideoEffect」のフォルダです。
3.Spout to NDIを導入します。
回答すると中にあるbinというフォルダにNDI to SpoutとSpout to NDIが入っています。こちらはインストール等の必要はありません。
この状態で「NDI to Spout」を起動すると、(VLC)と書いてあるソースが見つかるので、そちらを選択します。
この状態でVirtualDJのエフェクト「VDJ Spout Receiver」をかけると、VLCの動画がVirtualDJに乗ります。
「VDJSpoutReceiver」のエフェクトはどこかのパッドにアサインしとくと便利かもしれません。
アサインのコード例は
「deck right effect_active 'VDJSpoutReceiver'」などですね。左なら「deck left~」
どこかのパッドにアサインしておくとVLCのON/OFFなどをポンと変えられます。
エフェクト扱いになるので、そこだけ気をつけてください(動画を読み込んで、このエフェクトでSpoutを受け取るとSpoutで受け取ったものが上に来る)
GrandVJは扱ったことないですが、確かSpoutを使えるとのことだったので、同様のほうほうで行けるかと思います。
3.Rekordbox Video
Rekordbox VideoにVLCから動画を飛ばすには、先程説明したNDI Virtual Inputからカメラ経由で飛ばします。ただし結構重いです・・・
手元にないので割愛。
ということで、VLC→Resolumeの使い方についてでした。なにかよりよい設定等見つけたら後日公開していくと思うので、よろしくお願いします。
追記
現行(2020/01/22)のVLC Media Player 3.0.8ではネットワークストリームとNDIに対する重大なバグがあり、VJ運用が難しいため、以下記事を参照して対策してください。