フットペダルを用いた画像キャプチャ

フットペダルを用いた画像キャプチャ

概要

PC環境において、足下に設置したペダルを使って、テレビ映像から素早く静止画をキャプチャする方法についての説明です。

背景・環境

世の中には、放送中のテレビを見ながらTwitter等で番組の感想などを書込んだりする、いわゆる実況をする人間が存在します。文化としては20年以上前、2chやチャットちゃんねる隆盛の頃からあり、最近ではTwitter等の普及によってさほど珍しくはないのですが、その中には静止画を素早くキャプチャすることができる特殊な環境を持つ人間が一定数存在します。私自身もその中の一人なのですが、今まで次のような環境で作業を行ってきました。

  • PC: Windows 10 デスクトップPC (BTO)
  • TV視聴ソフト: TVTest
  • Twitterクライアント: WindowsストアのTwitterクライアント or Chromeのショートカット (要するにWebブラウザから動かせるようなツール)

ハッキリ言ってしまえば、割と汎用的な環境しか使っていません。私があまり特殊な用途に特化した環境を使う気が無く、汎用性の高い使い慣れた環境で操作する方を好むからです。

作業の流れ

本環境で実況する際は、次のような流れで作業を行っています。

  1. TVTestにフォーカスを合わせながら視聴
  2. キャプチャしたい場面でショートカットキーを押す (C:画像のコピー/V:画像の保存 を割り当て済)
  3. Twitterクライアントにフォーカス切り替え
  4. Ctrl+Vによる貼り付け or ドラッグ&ドロップによる画像の挿入

要するに、ひたすらコピー&ペーストを繰り返す力業です。

課題

本環境においてキャプチャ作業を行うと、次のような問題がありました。

  1. TVTestにフォーカスを当て続ける必要があるため、他の作業をしながらの作業に不向き。一々フォーカスを切り替える必要があるし、瞬間的なシーンを逃してしまう可能性が高い。(多分、少し前に巻き戻して撮り直すとかやろうと思えば出来ると思うが、そこまでする気があまり無い)
  2. 咄嗟のキー入力に失敗することがある
  3. 常にキーを構えている必要があるので、ダラダラしながらの作業がやりにくい。

恐らく、こうした課題に対応できるような、もっと作業に特化した環境があるかと思いますが、先程も書いたように特定の作業に特化した環境を使うのを好まない(そこまでする気が無い)ので使っていないです。

フットペダルの活用

自分は元々、別の目的で購入した以下のUSB接続のフットペダルを持っており、常に机の足下に置いてありました。(ちなみに、PCを操作する際はデスクと椅子で作業しており、右足用/左足用の2つのペダルを持っています。)

RI-FP1MG

ふと、このフットペダルを使って作業ができれば、別の作業を阻害することなく操作できないかと思い立ち、試してみることにしました。。(何れにせよ椅子に座る必要はあるので3の課題を解決できているかは微妙ですが、自分は元々TV見てる時は何らかの作業を並行している場合が多いので、とりあえずこれで問題ありません。)

まずこのフットペダルの仕様ですが、次のような感じになっています。

  • ペダルを押すと割り当てられた入力を行います。ON/OFFしかなく、段階的な入力等には対応していません。
  • 付属のソフトウェアで割り当てるキーやボタンを決定します。キー入力やゲームパッドのボタン等を割り当てることができます。
  • 割り当て内容はフットペダル自体に記憶されるため、ソフトウェアをアンインストールしたり、別のPCに繋いでも同じ入力を保持し続けます。

付属のソフトウェアの画面は、次のようになっています。

  • 左側のパネル(Type)がサポートしているデバイス種別。
  • 中央のパネル(Introduction)が現在設定しているデバイス。
  • 右側のパネル(Function)は、割り当てる入力の設定。(キーボード、マウス、文字入力、マルチメディアキー、ゲームパッド等の入力をサポート、「Macro」「MIDI」は本デバイスではサポート外)

この時点で、ver. 7.2.7が最新でした。このソフトウェアは、日本の販売代理店であるルートアールのページからダウンロードすることも出来ますが、海外のサイトの方が新しいです。

入力方法の検討

まず、先程も書いたようにフットペダルはあくまでも何らかの入力を代用するだけなので、キャプチャするために「TVTestにフォーカスを合わせる」という仕様は変わりません。これをクリアするために、次の2種類に対応方法を検討しました。

ゲームコントローラ入力の利用 (不採用)

Windowsにおいてゲームコントローラの入力は、キー入力とは別の仕組みで動いており、実はフォーカスの影響を受けません。ゲームコントローラのボタンを押した時、フォーカスが無くても入力を受け取ることができます。TVTestにも、ゲームコントローラのボタンを受け取る設定があります。

例えば、上記の設定のように画像のコピー/キャプチャをボタンに割り当てた上で、フットペダルにゲームコントローラの入力を割り当てることで、TVTestにフォーカスが無くても、フットペダルを踏み込むとキャプチャができます。ところが、これには難点がありました。

  • 反応するコントローラは、Windowsからメインに割り当てられたゲームコントローラになります。
  • そのため、複数のコントローラに対応できません。
  • 別のゲームコントローラが接続されていた場合、ゲームをする際に支障が生じる可能性があります。

複数同時利用ができない点は目をつむるとしてしても、たまにPCでゲームをやる自分にとって、ゲームコントローラが奪われてしまうのはあまり好ましくありません。Xinput対応したゲーム等ではゲーム内でコントローラを出来たりしますが、古いゲーム等でこの優先するコントローラを参照しているゲームも結構見かけますし、その都度ここを切り替えるのは面倒すぎます。

もしかしたらこの問題を解決する手段があるかもしれませんが、生憎私にはその方法が分かりません。そのため、ゲームコントローラを利用する案は不採用になりました。

外部アプリの利用 (採用)

次に考えたのは、入力信号を自由にコントロールできるツールを導入することでした。今回採用をしたのは、「EventGhost」という、Windowsにおける様々な入力に対し、カスタマイズを加えることができるツールです。詳細は次に書きます。

EventGhostの利用

EventGhostは、Windowsにおける様々なイベントを受取り、任意の命令を実行することができるツールです。例えば、キー入力やゲームパッド入力に対して任意のプログラムを実行させることができたりします。
このツールの優れている点は、入力信号をハードウェアから受け取る事が出来るため、様々なデバイスに対応できる点や、GUIを備えているため設定がやりやすい点、対応するイベントや変換できる命令が多いため、柔軟な設定が行える点などが挙げられます。とにかく、結構色々な事ができます。

入力の決定

キャプチャに使う入力を決める

まず、キャプチャに利用するイベントを決めます。これは、フットペダルで割り当てることができる入力になります。
あまり一般的なキー入力をイベントにしてしまうと、他の操作に影響が出てしまうので、なるべく他と被らない入力にします。私の場合は、ファンクションキーの「F21」を使いました(このキーは適当で特に深い意味は無いです)。通常のキーボードはF1~F12までしか無いので、他のアプリケーションに影響を与える可能性は低いです。

TVTestでキャプチャに使うキー入力を決める

TVTestでキャプチャに使うキー入力を決めます。
私の場合、C:画像のコピー。V:画像の保存、になっています。これは、いざという時にキーボードからでも利用可能なキーを割り当てています。

EventGhostの設定

EventGhostを設定する前に、まずフットペダルの入力が「F21」になるように設定しておきます。
その後、次の手順でEventGhostに設定を追加します。

  • 「プラグインを追加」で「Keyboard」を追加します。
  • 「マクロを追加」でマクロを追加して、適当に名前を決めます。(この時、同時にアクションの追加を要求されますが、一旦保留)
  • フットペダルを踏み込むと、ログに「Keyboard.F21」と出てくるので、それを追加したマクロにドラッグ&ドロップします。
  • 「アクションを追加」で「ウィンドウ検索」を追加し、ターゲットにTVTestを指定します(先にTVTestを起動しておくと楽です)。
  • 「アクションを追加」で「キー入力をエミュレーション」を追加し、Cキーを設定します。
  • 「キー入力をエミュレーション」で同様にvキーを設定します。

上記の作業を終えると、設定に次のような内容が表示されます。

この内容は、「F21キーが押されたら、TVTestに対してCキーとVキーの入力を送信する」という設定になります。
これにより、フットペダルを踏み込むとクリップボードおよびファイルにTVTestに映った映像が保存されます。

動作についての留意事項

  • この設定でフォーカスはTVTestに遷移しません。なので、何か作業している最中(あるいはゲームしてる最中)でもTVTestにフォーカスを奪われることなく画面のキャプチャを行うことができます。
  • TVTestが動作していない場合、キー入力は実行されません。(ウィンドウ検索の設定に「ターゲットが見つからなければマクロを停止」のチェックが入っている場合)
  • フットペダルを押しっぱなしにしても、連続入力にはなりません。なので、不用意に連続したキャプチャを行われることは無いです。

ゲームパッドのボタン入力を場合の設定

補足事項になりますが、入力にゲームパッドのボタンを使う場合、次のような設定が必要になります。

  • 「プラグインを追加」で「Generic HID」を追加します。
  • 入力するデバイスを選択します。フットペダルRI-FP1MGの場合、「@input.inf,%hid_device_vendor_defined_range%;HID-compliant vendor-defined device」という名前のデバイスとして見えています。フットペダルの設定でゲームコントローラのボタンを選択すると、このデバイスから入力が受信出来ます。
  • ゲームパッドのボタンを入力すると、ログに「HID.Button.* 」というイベントが出てくるので、これをマクロにドラッグ&ドロップすると、ボタンの入力に反応させることができます。

ちなみにこの場合、優先するコントローラーの設定は無視され、任意のゲームコントローラ入力に対応させることができます。

最後に

上記の設定を行うことで、PCで作業しながらでもTV画像のキャプチャを行うことができるようになりました。相変わらずペースト作業等は必要ですが、それでもコピー作業などは以前よりずっと楽になり、実況が非常に捗るようになりました。また、副産物として、クリップボードのコピーとファイル保存が同時に行えるようになりました。(今までキーの2つ同時押しとかやってた。)

しかし、これは環境としてはあまり高度な物ではありません。私は全然大した知見を持ち合わせていないのですが、同じように実況している他の人が、どのような環境を使っているかは気になるところではあります。

注意点

  • EventGhostは、ネットワーク対戦ゲーム等においてチートツールとして判定される場合があります。その場合は何かしらの対策が必要になるかと思います。
  • 販売されているフットペダルのうち、「RI-FP3BK」「RI-FP1BK」は古いバージョンのソフトウェアしか対応しておらず、古いバージョンはWindows10でうまく使えなかったので、新たに購入するのは止めておいた方いいです。
  • フットペダル製品の中には、3つ連結した製品(RI-FP3MG)が存在します。もちろんこれでも良いのですが、3つあっても結局足は2本しか無いので大体2つしか使わない、連結されていることでかさばる、左右の足の相対位置が固定されてしまってあまりリラックスした体制になれない、といった理由で個人的にはあまり良くなかったです。参考までに。
%d人のブロガーが「いいね」をつけました。