2018年のMobileHCIで発表した、Senbayのライブラリ版(SenbayKit)をApache License, Version 2.0 でGitHubに公開しました!
SenbayKit について
Senbayは、動画と同期した任意のデータ(QRコード)を動画内にリアルタイムに保存し、後から再利用可能にするプラットフォームです。詳しは以下のデモ動画をご覧下さい。
SenbayKitは、SenbayのCameraやReader、Player、Liver Streaming機能をまとめたライブラリで、SwiftやObjective-C、Python、JavaScriptに対応しています。2019年1月時点での対応機能は以下の表の通りです。
なんと、Swift版はiOS端末からRTMPを使ってライブ配信を行うことも可能です。サンプルアプリケーション(SenbayLive)も公開しているので、是非ご利用ください!各ライブラリの詳細は、各ライブラリのREADMEで説明しているので、今回は概要だけ説明しようと思います。
Swift & Objective-C
Swift(Objective-C)版は、iOS(SenbayKit)とmacOS(SenbayKit-macOS)で動作するライブラリです。CocoaPodsで公開しているので、数行でSenbayをiOSまたはmacOSアプリに組み込めます。詳しくはREADMEを参照ください。iOSでは、Camera、Reader、Player そして Live Streaming をサポートしており、スマートフォンから YouTube Live でSenbayビデオのライブ配信も可能です。
添付画像は、iOS上でのCameraとReader、macOS上でのReaderの動作サンプル。
Python
Python版は、SenbayKit-CLIとして公開しており、pipを使ってインストールできます。macOSやWindows、UbuntuなどOSで動作します。Raspberry Pi上で動かしても監視カメラにしても面白いかも。Arduinoと繋げて、映像に合わせてアクチュエーターを操作すること簡単にできます。
添付画像は、Readerの動作サンプル。
JavaScript
JavaScript版は、SenbayKit-Browserとして公開しています。FirefoxやGoogle Chrome、SafariなどのブラウザからSenbay Videoに埋め込まれたデータを読み取ることができます。
仕組みは単純で、html5のcanvasに動画フレームをコピーして、その画像からQRコードを解析しています。別ドメインに動画ファイルがある場合は、canvasにコピーできない課題があったが、WebRTCの機能(スクリーン共有)を組みわせてブラウザだけでQRコード解析を可能にしています。(Google Chromeでは、Extensionのインストールが必要です。)
添付画像は、Readerの動作サンプル。
最後に
SenbayKit が皆さんの研究やシステム・サービス開発の助けになれば幸いです。何か問題があればGitHubやメールでお知らせ下さい。Pull Request、Issue、ForkいつでもWelcomeです。
もし論文内に引用される場合は、以下の文献をお使いください。
@inproceedings{Nishiyama:2018:SPI:3236112.3236154,
author = {Nishiyama, Yuuki and Dey, Anind K. and Ferreira, Denzil and Yonezawa, Takuro and Nakazawa, Jin},
title = {Senbay: A Platform for Instantly Capturing, Integrating, and Restreaming of Synchronized Multiple Sensor-data Stream},
booktitle = {Proceedings of the 20th International Conference on Human-Computer Interaction with Mobile Devices and Services Adjunct},
series = {MobileHCI '18},
year = {2018},
location = {Barcelona, Spain},
publisher = {ACM},
}