StableFPSを使ってみる

この記事は約8分で読めます。

StableFPSとは

StableFPSはMilestone Systemsがパートナー向けに公開している仮想カメラソフトウェアです。

StableFPSを使用すれば、カメラが無くてもMilestone Systems XProtectのデモンストレーションやXProtectをインストールしたシステムの性能試験が可能になります。また、システムの性能試験を容易にするパラメータ変更の機能をStableFPSは有します。

StableFPSはRecording Serverが動作しているPCまたはサーバーにインストールして使用します。インストールが終了すると用意した画像、音声、メタデータを同様に当該Recording Serverに提供し、他の一般のデバイスからのデータと同様にライブとしての閲覧できます。またXProtectで録画の設定をしておけば、録画データとしてMediaDatabaseに保存されます。

下図はStableFPSを使用する際の概念的な構成図です。実際はStableFPSがVideoやAudioのファイルを読み込む機能を持つため、他のデバイス用Device Driverとは性質が異なります。しかしながら、理解を容易にするために概念的に以下の構成図をここに掲載しました。

StableFPSを使用する条件

冒頭で書いたとおり、StableFPSはMilestone Systemsのパートナー向けに公開しているツールなので、StableFPSを使用するためにはMilestone Systemsのパートナーになり、有効なMyMilestoneアカウントを持つ必要があります。

上記の条件のもと、StableFPSは無償で提供されますが、Milestone Systems社のXProtectと共に動作するソフトウェアであり、Milestone Systemsのライセンス規約を順守することが必要です。

この記事は有効なMyMilestoneアカウントを持つ方向けの内容になっています。なお、本ドキュメントはXProtect Corporate 2023R2 英語GUIにて動作した結果を示しています。

MyMilestoneアカウントなしにアクセス可能な情報が「StableFPS — the Milestone camera device simulator (guide)」で公開されています、参考してください。

YouTube MIC Associatesチャンネル

本記事と連動した動画をYouTube MIC Associatesチャンネルにアップロードしています。この記事と合わせて閲覧するとより理解が深まると思います。

00:00動画の概要説明
01:04公開されている情報のお知らせ
01:21インストールの説明
03:45StableFPSドライバーのRecording Serverへの追加
05:02StableFPSの設定
05:45Smart Clientによるライブの閲覧
06:36Smart Clientによる録画再生

StableFPSをインストールする

StableFPSはMIP SDK(Milestone Integration Platform Software Development Kit)の一部であり、「Development tools」の一部として紹介されています。(MIP SDK Documentationより)MIP SDK Documentationの中で概要、インストール方法を説明しています。以下はその抜粋です。

StableFPSのインストーラーは「Download software」から「MIP SDK(Docs and tools)」でダウンロードできます。インストーラーを使用してインストールが完了すると「%ProgramFiles%\Milestone\MIPSDK\Tools\StableFPS\」にドキュメントとインストールに必要なファイルが用意されています。

ドキュメントはStableFPSのRead MeとStableFPSに読み込ますことができるファイルの作成方法を説明した「HowToMakeYourOwnStableFPSStream」の2つが含まれます。

「HowToMakeYourOwnStableFPSStream」の方法に従えば、任意のフレームレート、ビットレートの画像を作成でき、より精密なパフォーマンステストが可能になります。

StableFPSのインストールは以下の手順に従います。(詳細はMIP SDK Documentationをご覧ください)

  • Recording Serverを停止します。
  • 管理者の権限で「%ProgramFiles%\Milestone\MIPSDK\Tools\StableFPS\」内の「InstallStableFPS_EXTERNAL.bat」を実行します。
  • 1デバイス当たりのカメラ数と1カメラ当たりのストリーム数を聞いてくるので入力します。12
  • 日本語Windows OSを使用している場合はRecording Serverをスタートする前にKnowledge Baseの「StableFPS issue in multi-byte encoding environments (troubleshooting)」を適用してください
  • Recording Serverをスタートします。(私の場合はRecording Serverの起動の代わりに念のためサーバーの再起動を行います)3

StableFPSを追加する

インストールが正常に終了したら、XProtectのManagement Clientを使用して普通のカメラとほぼ同じ手順でAdd Hardwareを実施します。Add Hardwareでは以下の手順でStableFPSデバイスを追加します。

  • Manualオプション選択して、Nextをクリックします。
  • Credentialは一番上の(Factory default)にチェックを入れます。その他の行のチェックは外してNextをクリックします。
  • ドライバーの選択でMilestone – StableFPSをチェックし、Nextをクリックします。(StableFPSのインストールに失敗した場合はここにStableFPSが表示されません、上記のRecording Serverの停止からやり直してください)
  • Adress: Recording ServerのIPアドレス、Port: 100からデバイスごとに連番、Use HTTPS:チェックを外す、Haredware model:プルダウンからStableFPSを選択してNextをクリックします。しばらくするとStatusがSuccessになるので、Nextをクリックします(ここで失敗した場合はCredential, Address, driver等を確認してください)
  • もう一でStatusがSucessになったら、Nextをクリックします。
  • 必要であれば名前を変更し、Nextをクリックします。更にカメラグループを選択してFinishをクリックします。

Port番号、Driver選択以外は通常のカメラの追加と変わらないので、問題なくAdd Hardwareは終了すると思います。失敗した場合はそれぞれの手順をさかのぼって確認を行ってください。これまでの設定を壊したり、サーバーを停止させるような操作は含まれないので落ち着いて進めれば成功するはずです。4

StableFPSを設定する

Add Hardwareが終了したデバイスに対して画像等を設定します。

StableFPSの設定はデバイスごとに1つしかありません。例えば下図のように1デバイスの下に4つのカメラがあった場合は4つのカメラすべてが同じ設定になります。

StableFPSデバイスのSettingの画面キャプチャを以下に示します。

これらの設定の詳細はStableFPSのインストーラーに含まれるReadMeに書かれていますが、この中でよく使うパラメータの設定について説明します。

  • 000 Frames per second:画像のフレームレートを変えることができます。元の画像のフレームレートに同じにすると、元の画像のビットレートと同じになります。フレームレートを高くするとビットレートも高くすることができ、Serverの負荷試験等を行う際に便利に使えます。
  • 000 Input trigger frequency (seconds):インプット信号のON/OFFの周期を秒単位で設定します。10にした場合は10秒間経過するとONになり、更に10秒経過するとOFFになる繰り返しを行います。
  • 000 Remote path:共有された他のサーバーやドライブを指定できます。このパスをアクセス可能なネットワーク上のドライブに指定すると,StableFPSは必要なファイルをそのドライブにコピーし、コピーしたファイルをネットワーク越しに受け取り、Recording Serverに渡します。この動作により疑似的にネットワークの負荷を発生させ、ネットワーク、ネットワークアダプタの負荷試験を実施することが可能となります。
  • 100 VideoCodec:提供する映像のコーデックをMJPEG、H264、H265から選択します。ここで選択したコーデックのファイルを続く3つの行のいずれかで選択します。上図の例では「000 Video Code」で「H264」を選んでいるので「102 VideoH264File」で「Train_2000_10fps」を選んでいます。StableFPSのインストールの際1カメラあたり1ストリームを選択した場合は上図のようにVidoCodecとそれに続く3つの行は1つしかありませんが、1カメラ当たり複数ストリームを選んだ場合はストリームの数だけ上記の4行(VideoCodec, VideoJPEGFiles, VideoH264Files, VideoH265Files)が繰り返し続きます。下図は1カメラあたり3ストリームを選択した場合です。

ここまで設定すれば、カメラと同様に映像が表示され、録画設定をしている場合は同時に録画を開始します。

今後の予定

今後の予定として実際に弊社で行っているStableFPS用動画の作成方法5、StableFPSを使用したサーバー負荷の検証方法の紹介を本ブログの記事にしていく予定です。

  1. 1デバイス当たり4カメラの場合は下図の左側、1カメラ当たり1ストリームの倍は下図の右側のようになります。 ↩︎
  2. StableFPSの場合、1デバイス15カメラまでは1デバイスライセンスとしてカウントされるようです(手元のXProtect Corporate 2023R2で確認)ます。16カメラを超えた場合は1デバイスのもとのすべてのカメラ台数分のライセンスが必要になります。
    例として1デバイス13カメラの場合だと1デバイスライセンスが必要となり、1デバイス20カメラの場合は20デバイスライセンスが必要になります。 ↩︎
  3. Recording Serverは起動時にドライバーをすべて読み込みなおすので、起動完了までに数分かかることがあります。 ↩︎
  4. これまで扱ったことがないStableFPSの設定です、うまくいかなかったときにはStableFPSが故の相性や不具合を疑いがちだと思います。私はStableFPSを使用する機会が実際のカメラを使用する機会の何倍も多くありました。その中でほとんどトラブルに遭遇したことはありません。落ち着いて、手順を確認しながら使用してみてください。 ↩︎
  5. 本ブログの記事「StableFPS用動画を作成する」で説明しています。 ↩︎