
GrabDuct
Grab it. Duct it. VJ it.
ブラウザタブの映像をキャプチャし、Spout / Syphon 経由で VJソフトウェアにGPUテクスチャとして送信。
ダクトテープのごとく、ブラウザとVJソフトを雑に、でも確実につなぎます。
$ grabduct --status
Player 1 ● キャプチャ中 — 1920x1080
Player 2 ● キャプチャ中 — 1280x720
Player 3 ● 待機中
Player 4 ● 待機中
$ Spout出力: 2 active ⚡ // VJソフトへ映像送信中
// features
ダクトテープのようにシンプル。
GPUテクスチャのように高速。
タブ映像キャプチャ
動画が存在するタブで、映像を直接キャプチャ。video要素の自動検出で、難しい設定は不要。テープを貼るように簡単。
GPU テクスチャ出力
Spout (Windows) / Syphon (macOS) 経由でVJソフトにGPUテクスチャとして直接送信。低遅延、低CPU負荷。
最大4ch同時送信
複数のタブを個別のプレイヤーにアサインして同時送信。VJミキサーに複数ソースを入力できます。
自動再キャプチャ
タブ内で別の映像コンテンツに移動しても自動で再キャプチャ。VJ中にいちいち操作する必要なし。
ハードウェアデコード
D3D11 (Windows) / VideoToolbox (macOS) によるHWデコードで、CPUに優しい映像処理を実現。
完全ローカル通信
映像データは一切外部に送信されません。WebRTCはlocalhost上で完結。あなたの映像はあなたのマシンの中だけ。
// components
2つのコンポーネント
GrabDuctはChrome拡張機能とレシーバーアプリの連携で動作します。
Chrome 拡張機能
送信側 // Sender
ブラウザ上で動作し、動画が存在するタブから映像をキャプチャします。キャプチャした映像はWebRTC経由でレシーバーアプリにリアルタイム送信されます。
- ›タブ内の映像を自動検出してキャプチャ
- ›最大4タブを個別のプレイヤーに割り当て
- ›タブ内で別の映像に遷移しても自動で再キャプチャ
- ›ポップアップUIからワンクリックで操作
レシーバーアプリ
受信側 // Receiver
Rust製のデスクトップアプリケーション。Chrome拡張機能から受け取った映像をハードウェアデコードし、Spout/Syphonテクスチャとして出力します。
- ›WebRTCで映像を受信し、GPUでデコード
- ›Spout (Windows) / Syphon (macOS) でVJソフトに出力
- ›システムトレイに常駐し、バックグラウンドで動作
- ›Discord認証とプレイヤー設定を管理
* 両コンポーネントは localhost:9876 で通信します。映像データは外部に一切送信されません。
// how it works
仕組みは3ステップ
パイプラインは自動で構築されます。あなたはタブを選ぶだけ。
Grab
動画が存在するタブでGrabDuct拡張機能のアイコンをクリック。プレイヤースロットを選んでタブを割り当てるだけ。映像は自動でキャプチャされます。
Duct
WebRTC経由で映像がレシーバーアプリに送信されます。ハードウェアデコード後、Spout/Syphonテクスチャとして出力。すべてlocalhost上で完結。
VJ it.
VJソフト (Resolume, OBS, VDMX等) で "GrabDuct Player 1~4" がSpout/Syphonソースとして自動で認識されます。あとは自由にミックス。
// plans
Free or Supporter
基本機能はすべて無料で利用できます。
¥0/ forever
Discordサーバー参加で利用可能。基本機能はすべて使えます。
- ✓同時プレイヤー数: 2
- ✓最大解像度: 720p (1280x720)
- ✓自動再キャプチャ
- ✓HWデコード
- ✓Spout / Syphon 出力
⚡Discord サポーターロールで有効化
気が向いたらぜひ。4K出力と4プレイヤー同時送信が解放されます。
- ✓同時プレイヤー数: 4
- ✓最大解像度: 4K (3840x2160)
- ✓全解像度プリセット (16:9 / 4:3 / 1:1 / カスタム)
- ✓Free版のすべての機能
- ♥開発者のモチベーション +100
* GrabDuctの利用にはKonaLab Discordサーバーへの参加が必要です。認証はDiscord OAuth2経由で行われます。 メンバーシップは30日ごとに自動で再確認されます。
// setup
セットアップガイド
4ステップで映像ルーティング開始。所要時間: コーヒーを淹れるより短い。
レシーバーアプリをインストール
GitHub Releasesからインストーラーをダウンロードして実行します。GStreamerランタイムは同梱されているので別途インストールは不要です。
Chrome拡張機能をインストール
配布されたZIPを展開し、Chromeの拡張機能ページ (chrome://extensions) でデベロッパーモードを有効にして読み込みます。
1. chrome://extensions を開く
2. デベロッパーモード: ON
3. "パッケージ化されていない拡張機能を読み込む"
4. 展開したフォルダを選択 ✓
Discord認証
レシーバーアプリを起動し、"Discordでログイン" をクリック。KonaLab Discordサーバーへの参加と認証が完了すると、GrabDuctが利用可能になります。認証はOAuth2 PKCEで安全に処理されます。
映像をルーティング
動画が存在するタブでGrabDuct拡張機能アイコンをクリックし、プレイヤースロットを選択。VJソフトウェアで "GrabDuct Player 1~4" がSpout/Syphonソースとして認識されます。
// system requirements
💻 Windows
- › Windows 10 / 11
- › Chrome / Chromium 116+
- › Direct3D 11 対応GPU
- › Spout対応VJソフト
macOS
- › macOS 13 (Ventura) 以上
- › Chrome / Chromium 116+
- › Metal 対応GPU
- › Syphon対応VJソフト
⚠️ 制約事項
- • 映像のみ対応(音声キャプチャは非対応)
- • DRM保護コンテンツは captureStream() でのキャプチャ不可(tabCaptureへ自動フォールバック)
- • ローカルネットワーク通信のみ(外部サーバーは不使用)
// vj software
VJソフトでの使い方
Resolume Arena / Avenue
Sources > Spout (Win) / Syphon (Mac) > GrabDuct Player N
OBS Studio
ソース追加 > Spout2 Capture (Win) / Syphon Client (Mac) > GrabDuct Player N
VDMX / MadMapper / その他
Spout/Syphon入力対応ソフトなら、ソース一覧に自動表示
出力名は固定: GrabDuct Player 1 ~ GrabDuct Player 4
// 免責事項 & ご利用にあたって
本ソフトウェア(GrabDuct)は、現状有姿(AS IS)で提供されます。開発者は、本ソフトウェアの利用により生じたいかなる損害(直接的、間接的、偶発的、特別、または結果的損害を含みますが、これに限定されません)についても一切の責任を負いません。
動画が存在するウェブサイトでGrabDuctを利用する場合は、当該サイトの利用規約を必ずご確認のうえ、自己の責任において利用してください。GrabDuctの利用に起因する利用規約違反やその他の問題について、開発者は一切の責任を負いません。
本ソフトウェアは個人開発のプロジェクトであり、予告なく開発が停止・中断される可能性があります。継続的なアップデートやサポートを保証するものではありません。
GrabDuctが処理する映像データはすべてローカルマシン上で完結し、外部サーバーに送信されることはありません。ただし、Discord認証にはインターネット接続が必要です。