Skip to content
 
 

Repository files navigation

vMixマルチビューワー

Multicam MediaのvMix Multiviewerをベースにした、vMixのマルチビュー用表示ツールです。レイヤーで構成したマルチビューに、タリー枠、入力名、音声メーター、時計、カウントダウン、vMixの動作状況を重ねて表示します。

動作環境

  • vMixが動作しているWindows 10/11のPC
  • Windows PowerShell 5.1と.NET Framework
  • vMixのWeb Controller

付属の中継サーバーをvMixと同じPCで起動して使用します。ブラウザは中継サーバーから状態を取得し、中継サーバーがvMixのHTTP APIへ接続します。

導入手順

  1. リリースページから配布用ZIPをダウンロードし、フォルダ全体を展開します。

  2. vMixの Settings → Web Controller を開き、Web Controllerを有効にします。ポート番号を確認してください。既定値は 8088 です。

  3. Web Controllerにパスワードを設定している場合は、Allow software on this computer access without login(同じPC上のソフトウェアによるログインなしのアクセスを許可)を有効にします。中継サーバーはパスワードを保存・処理しません。

  4. 展開したフォルダの start.bat をダブルクリックし、起動したウィンドウを開いたままにします。起動時にWindows標準のコンパイラーで中継サーバーをメモリ上に構築します。

  5. 空の入力、または背景画像を設定した入力を作成し、マルチビューに表示する映像をレイヤー1~9へ配置します。

  6. Web Browser 入力を追加し、次のURLを指定します。

    http://127.0.0.1:8099/?Input=1
    
  7. Input=1の数字を、マルチビューを組んだ入力の番号に変更します。Web Browser入力の番号ではありません。ブラウザの解像度もマルチビューに合わせます。例:1920×1080。

  8. マルチビューのレイヤー10に、そのWeb Browser入力を配置します。

index.htmlを直接開くfile:///形式や以前の公開サイトのURLではなく、上記のローカルURLを使用してください。マルチビューワーの使用中は中継サーバーを起動したままにします。終了するには、中継サーバーのウィンドウでCtrl+Cを押します。

表示設定

画面下部にマウスを合わせると、時計・カウントダウン・動作状況の表示設定が現れます。有効/無効、位置、大きさ、文字サイズなどを調整できます。

URL with current settings(現在の設定を含むURL)に表示されるURLをWeb Browser入力に保存すると、次回も同じ設定で表示できます。保存するURLには、現在の接続先とInputIntervalも引き継がれます。

URLパラメーター

http://127.0.0.1:8099/?Input=2&Interval=500
パラメーター 内容 既定値
Input マルチビューを組んだ入力の番号。1から指定 1
Interval 状態の取得完了から次の取得までの間隔。単位はミリ秒、最小値は50 150
Settings 画面の設定パネルで生成される、URLエンコード済みの表示設定 内蔵の初期設定

以前のURLで使用していたInputIntervalSettingsも、ローカルURLへ引き継いで使用できます。

状態の取得は同時に重複して実行されません。通信に失敗すると1秒以上の間隔を空けて再接続します。切断中は、古いタリーなどの表示を隠します。

ポート番号の変更

中継サーバーの待ち受け先は127.0.0.1:8099、vMixへの接続先は127.0.0.1:8088です。変更する場合は、展開したフォルダでWindowsのコマンドプロンプトを開き、次の値を変更して実行します。

set PORT=8099
set VMIX_PORT=8088
start.bat
環境変数 内容
PORT 中継サーバーの待ち受けポート。変更した場合はWeb Browser入力のURLも変更
VMIX_PORT vMixのWeb Controllerに設定されているポート番号

どちらも省略できます。指定する場合は、1~65535の範囲で異なるポート番号を使用してください。

中継サーバーは同じPCからの接続のみを受け付け、状態取得用の読み取り専用APIを提供します。操作コマンドを含むパラメーター、別のサイトからのブラウザ経由のアクセス、任意の宛先への中継は受け付けません。

トラブル対処

症状・表示 確認すること
vMixに接続できない(Cannot connect to vMix vMixとWeb Controllerが起動しているか、VMIX_PORTが設定と一致しているかを確認します。画面自体が開かない場合はstart.batを起動し、ウィンドウに表示されたURLを使用してください。
アクセスが拒否される(vMix denied access Web Controllerにパスワードを設定している場合は、Allow software on this computer access without loginを確認します。
入力が存在しない、またはレイヤーがない(Multiview input ... does not existNo multiview layers Inputを正しい入力番号に変更し、その入力のレイヤー1~9へ映像を配置します。
ポートが使用中で起動できない 既に起動している中継サーバーを終了するか、別のPORTを指定してWeb Browser入力のURLも変更します。
組織の設定によりPowerShellの実行が拒否される 起動処理はそのプロセス限りの実行ポリシーを指定し、Windowsに保存された設定は変更しません。組織のポリシーやアプリケーション制御でスクリプトの実行・コンパイルが禁止されている場合は、管理者に確認してください。

詳しい設定は、vMix公式のWeb Controllerの説明HTTP APIの説明を参照してください。

サンプル

同梱のサンプルは元のプロジェクトのものです。プリセットを読み込んだ後、Web Browser入力のURLを本書のローカルURLへ変更してください。

開発・テスト

自動テストにはNode.js 22以降を使用します。リポジトリのフォルダで次のコマンドを実行してください。

npm test

Windowsでは、テストがWindows PowerShell 5.1でserver.ps1を起動し、start.batと同じ起動処理・中継機能を検証します。GitHub ActionsでもWindows上でこのテストを実行します。

macOS/Linuxでは、テスト用に.NET 10 SDKを使用し、同じbridge.csをC# 5互換の構文でコンパイルして検証します。

自動テストでは模擬vMixサーバーを使用し、状態の取得、ブラウザから受け取ったヘッダーの分離、アクセス制限、タイムアウト、接続先の異常、複数リクエストの同時処理を確認します。Windows上の自動テストに加え、vMix実機での動作確認も実施済みです。

ライセンス

GNU GPL v2.0に従います。

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages