約20万台のカメラを稼働させるSafieの技術スタックとは
クラウド録画型映像プラットフォーム「Safie」は、いつでもどこでも映像をセキュアに見られるということで現在急速に普及している。サービスの構成要素は主に、録画するためのカメラ(デバイス)、録画した映像を処理するクラウドプラットフォーム、録画した映像を閲覧するビューアーからなる。クラウド録画サービスにおけるシェアは拡大し続けており、国内シェアは56.4%で独走状態だ。
セーフィーのプラットフォーム上におけるカメラ台数は約20万台にも及ぶ。しかし、いわゆる防犯・監視カメラとして稼働しているカメラ台数は国内外で見ると、数億台規模と予想される。まだまだ成長が見込まれる領域だ。
現時点でセーフィーが提供している主要プロダクト(アプリケーション)を挙げてみよう。まず「Safie Viewer(セーフィー ビューアー)」はクラウドに録画された映像を閲覧するためのもの。「Safie Manager(セーフィー マネージャー)」はSafieカメラの管理ツールで、設置したカメラやユーザーアカウントを一括管理できる。
また独自開発のカメラを搭載した機器もある。「Safie Pocket2(セーフィー ポケット ツー)」はLTE内蔵ウェアラブルカメラ。小型で通信機能付きなので工事現場などで作業者が身につけて録画することも可能だ。また「Safie Entrance2(セーフィー エントランス ツー)」は顔認証で施錠管理するためのソリューション。顔認証なので入退室がハンズフリーとなり、そのまま勤怠管理にも使える。「Safie One(セーフィー ワン)」はエッジ(カメラ)に画像認識AIを実装しており、店舗なら顧客の人数カウントや入退出カウントなどに使える。
こうしたプロダクトを構成するための技術スタックをざっと見ていくと、フロントエンドにはAngularやVue.js、サーバーサイドは主にPython、WebフレームワークはTornadoからFastAPIになりつつあり、一部でGoやJavaを使う。モバイル(iOSやAndroid)ではSwiftやKotlin、エッジAIではOpenCVやPyTorch、インフラ(クラウド)運用は主にAWSのサービス、TerraformやAnsibleなどを用いて省力化を図っている。データ分析ではAmazon RedshiftやTableauを用いて顧客動向を分析して、営業やマーケティング、さらにはプロダクト開発にも活かしている。業務システムではSalesforceやZuoraも導入している。
先述したように、現在Safieで稼働しているネットワークカメラは約20万台。これらのカメラ管理と録画を管理するサーバーは2000台以上、動画配信サーバーは数百台以上で負荷分散している。またデータベースはAmazon Auroraを用いてカメラ数万台単位でクラスタ化している。録画データの量は現在十数ペタバイトほどあり、Amazon S3に格納している。
Safieにおけるストリーム制御は同社が独自に開発しており、カメラからアップロードされたデータはさまざまなデバイスやサービスに配信されている。Viewer向けにはWebRTCやHLS(HTTP Live Streaming)を用いたり、YouTubeのようなパブリッシングサイトにはRTMPを用いたり、他にも顔認証やデータ解析などのシステムと連携するためにデータをフィードしたりしている。
同様に、AI画像解析基盤も独自開発している。こちらは同社だけではなく、開発パートナー向けにもプラットフォームを公開しており、Safie基盤上で駆動するAIモデルをAPIでデプロイするような仕組みも準備を進めている。