赤ん坊をモニタリングしたいだけの人生だった
私事ですが、最近第一子がリリースされました。 プロダクションで運用されるサービスは、モニタリングしたい!可視化したい!と思うのが親心。 サービスのメトリクスをどうやって取得するか、どのようにメトリクスからアラートをつくるかはいろんな切り口がありそうですが、 re:Invent2017で発表されたAmazon Kinesis Video Streamsのデモを見た時に使えないかなーとずっと思っていたので、試してみました(タイトルからフラグ感が既に aws.amazon.com
re:Inventでみたかっこよかったデモ www.youtube.com
アジェンダ
- producer(映像のstreamの作成)
- consumer(映像のstreamの加工・解析・表示用のアプリケーションの作成)
- To Be Continued...
Producer(カメラ映像のstreamの作成)
カメラ映像からstreamを作成するProducerのsdkがc++とJavaがある模様です。
ならJavaかーと思いドキュメントにそって作業を進めましたが、結局JNI(Java Native Interface)でc++でsourceからbuildしたLibraryのpathを指定する必要がありました。
c++のsourceからbuildする必要があり、makeが一発で通らずこの時点で心が折れかk(ry
本当にやりたいことは、ラズパイのカメラモジュール使いたいなとか思っていたのですが、このbuildの作業をラズパイでやるとか(白目
以下の記事を参考にしながら、自分の環境で出るエラーを修正しながらビルドしていきました。 (クラスメソッドさんのブログで2,3時間とあるけど、自分の環境でもそれぐらいかかった) dev.classmethod.jp
MacBookのウェブカメラからAmazon kinesis Video Streamsに送りつけて、AWSのマネジメントコンソールから確認するところで力尽きました。
(※ JavaのProducerのDemoアプリはlocalにあるmediaファイル(画像?)からビデオを作成しているだけでカメラ映像のstreamを送るものではない)
(※ 子どもが里帰り出産で北海道にいるためiPhone画面をMacBookのカメラに写した)
photos.google.com
ABEJAさんのこのスライドがわかりやすい。 speakerdeck.com ひとまずVideo Streamを上げるところまでは成功した。
Consumerに関する今後の夢
c++のbuild周りで時間つまって、あまり進まず。 機械学習とかビデオ周りとか全く詳しく無いんだけど、色々遊んでみたい。 以下のことをやってみたい
- 解析
- 音声ファイルに切り出してデシベルで赤ちゃん泣いてる!
- 奥さんの働き度を可視化して圧倒的感謝の上で日々生活をするなど
- 映像から泣いてる判定するとか
- 音声ファイルに切り出してデシベルで赤ちゃん泣いてる!
- アプリケーション
- slackに通知
- 職場で子どもモニタリングできるページ作成するとか
雑記
自宅ハックが捗る感じがしました。 やっていき!の気持ちが高まります。 私事ですが年明けから会社の福利厚生で1ヶ月休み(5年勤続で連続20営業日の休みがもらえる)を頂く予定です。
空いた時間で何か新しいこと出来るといいなと思いつつ、やっぱり産まれたばかりの子どもと24時間一緒にいれるのがいちばん楽しみです!