フォトブースのトリガー:ボタン、照明、Webhook

ブースが単独で動くことはめったにありません。アーケードボタンでセッションが始まり、カウントダウンでスタジオ照明が光り、グループの合間にはHueブリッジが部屋の明かりを戻します。Froozboothは物理ボタンにそのまま対応し、セッションの各段階をお手持ちの機器へ送ります。何を、どう送るのかを紹介します。

物理ボタン:アーケード、ペダル、プレゼンター用リモコン

ボタンをUSBでつなぐだけで、設定なしで動きます。ウェルカム画面では押すとセッションが始まり、ライブビューでは写真を撮るか、動画を止めます。それ以外の画面では何も起こりません。ボタン1つでは選べない選択を求める画面だからです。

  • キーボードエンコーダー、USBペダル、プレゼンター用リモコン:Space、Enter、Page Up/Down、矢印キー、F13〜F15、または再生/一時停止。
  • 「ゼロディレイ」のアーケードエンコーダー(Windowsからはゲームコントローラーとして認識):どのボタンでも可。
  • 400 ms未満の間隔の押下は1回として数えるため、接点のバウンスで2枚撮影されることはありません。

トリガー:すべてのイベントでWebhookやプログラムを実行

それ以外のことには、トリガーを使います。トリガーはブースの管理画面で設定し、選んだイベントを待ち受けて、URLを呼び出すか、ブースPC上でプログラムを起動します。

  • WebhookJSON本文のHTTP POSTで、お客様のシークレットを使ってHMAC-SHA256で署名されます。ヘッダー:X-Froozbooth-Event、X-Froozbooth-Timestamp、X-Froozbooth-Signature。
  • プログラムブースPC上の実行ファイルで、絶対パスで指定し、ハードウェアサービスの許可リストに登録する必要があります。名前付きの引数:--event、--session、--booth-event、--ts、--device、続いてイベントのデータ。

待ち受けられる17種類のイベント

  • セッション:session.start、countdown.start、shot.taken、shots.done、compose.done、session.end、session.canceled。
  • 出力:print.sent、print.done、share.email.sent、share.qr.shown。
  • エラー:error.capture、error.compose、error.print、error.camera、error.disk、error.license。

各メッセージには、フォーマットのバージョン(v)、イベント名、ISO 8601形式のタイムスタンプ、セッションID、イベントID、機材ID、そしてイベント固有のデータオブジェクトが含まれます。

本番の夜のための設計

  • トリガーがセッションを遅らせることはありません。2秒間応答がなければ、ブースは先へ進みます。
  • 再試行は3回で、0.5秒後、2秒後、5秒後です。それより遅いと、フラッシュがポーズの後に光ってしまいます。
  • 60秒より古いイベントは再送せずに記録だけします。再起動後、夕食の最中にフラッシュが光ることはありません。
  • テストボタンはサンプルのイベントを送って応答を表示します。開場の1時間前に確認できます。
  • 直近200件の送信が、ステータス、コード、レイテンシーとともに記録され、CSVに書き出せます。

すぐ使えるレシピ

  • DMXまたはArt-Netゲートウェイ経由で、カウントダウンの開始時にスタジオフラッシュを光らせる。
  • 撮影のたびにパルスや音を出す。
  • Philips Hueブリッジ経由で、セッションの終了時に環境光へ戻す。

カメラ、プリンター、PCについて、Froozboothが直接制御する機材は、機材のページに載っています。 CanonとNikon対応の一眼レフ フォトブースソフト:使えるカメラとプリンター

よくある質問

アーケードボタンはFroozboothで使えますか?

はい。USB接続のキーボードエンコーダーや「ゼロディレイ」エンコーダーは設定なしで動きます。ウェルカム画面では押すとセッションが始まり、ライブビューでは写真が撮れます。

FroozboothでDMX照明やスモークマシンを制御できますか?

トリガーを通じて可能です。FroozboothがイベントをWebhookやプログラムへ送り、DMXまたはArt-Netのゲートウェイ、Hueブリッジ、スクリプトが機器を動かします。

Webhookが本当にブースから来たものか、どう確認しますか?

生のリクエスト本文に対して、お客様のシークレットでHMAC-SHA256を計算し、X-Froozbooth-Signatureヘッダーと比べます。署名された本文の中にあるtsフィールドを使えば、古いリクエストを拒否できます。

遅いトリガーのせいで、ゲストを待たせることはありますか?

いいえ。トリガーに与えられるのは2秒です。それを過ぎると、ブースは先へ進み、バックグラウンドで再試行します。

フットペダルやプレゼンター用リモコンで撮影できますか?

はい。Space、Enter、Page Up/Down、矢印キー、F13〜F15、再生/一時停止のいずれかを送るUSBペダルやプレゼンター用リモコンなら、設定なしで認識します。ウェルカム画面では押すとセッションが始まり、ライブビューでは写真を撮るか、動画を止めます。ボタン1つでは選べない選択を求める画面なので、ほかの画面では何も起こりません。

ゲストがフォトブースのボタンを2回押すとどうなりますか?

Froozboothは、400 ms未満の間隔の押下を1回として数えます。接点のバウンスや素早い2度押しで、2枚撮影されることはありません。モードの選択など、選択を求める画面での押下は何も起こしません。

フォトブースのどのイベントでWebhookを起動できますか?

Froozboothは17種類のイベントを公開しています。セッションの段階(session.start、countdown.start、shot.taken、shots.done、compose.done、session.end、session.canceled)、出力(print.sent、print.done、share.email.sent、share.qr.shown)、エラー(error.capture、error.compose、error.print、error.camera、error.disk、error.license)です。各トリガーは、選んだイベントだけを待ち受けます。すべてのメッセージには、フォーマットのバージョン、イベント名、ISO 8601形式のタイムスタンプ、セッション、イベント、機材のID、イベント固有のデータが含まれます。

写真を撮ったときに、ブースPCでスクリプトを実行できますか?

はい、プログラムのトリガーを使います。Froozboothは、shot.takenなど選んだイベントで、ブースPC上の実行ファイルを起動します。実行ファイルは絶対パスで指定し、ハードウェアサービスの許可リストに登録する必要があります。名前付きの引数(--event、--session、--booth-event、--ts、--device)に続いて、イベントのデータが渡されます。

ゲストが来る前に、フォトブースのトリガーをテストするには?

ブースの管理画面のテストボタンを使います。Froozboothがサンプルのイベントを送り、応答を表示します。直近200件の送信が、ステータス、コード、レイテンシーとともに記録され、CSVに書き出せます。60秒より古いイベントは再送せずに記録だけするため、再起動しても夕食の最中にフラッシュが光ることはありません。

プリンターやカメラが故障したとき、フォトブースから通知してもらえますか?

はい。error.print、error.camera、error.capture、error.compose、error.disk、error.licenseのエラーイベントにトリガーを設定します。自分のサービスのWebhookに向ければ、好きな場所で通知を受け取れます。ダッシュボードの「機材」ページにも各ブースの状態がリアルタイムで表示され、スマートフォンのホーム画面に追加できます。

次のイベントの準備はできましたか?