スポーツイベントの思い出アプリ

© CC BY 4+ visibility566
© CC BY 4+
visibility566

このアプリをすべてのスポーツ愛好家とその家族・友人の想い出つくりに捧ぐ

link http://kujirakujira090.wixsite.com/mysite
動画
開発素材
ストーリー

***スポーツイベント思い出アプリ***

                レッドハッカソンひろしま
                Mashup Awards12 ハッカソン予選広島 最優秀作品


【製品概要】
マラソンやサイクリングといったスポーツイベントで、前もって設置されているカメラの前を通過すると、競技に参加している自分の姿を動画で撮影してくれて、その映像を自分や家族に、ほぼリアルタイムで配信してくれる、そんなアプリです。


【開発の背景】
マラソンやサイクリングといったスポーツイベントに参加したけれど、競技中の自分の写真がない・・・

これまでは、イベントに参加しても、自分の写真は家族や知人に頼んで沿道から撮ってもらうか、イベント側で契約しているカメラマンが撮影してくれたものを後日購入するか、自撮りをするしか方法はありませんでした。


もし、自分だけの専属カメラマンがいて、自分の競技中の写真や動画を撮ってくれて、それがリアルタイムで配信されて、自分はもちろん、応援に来ていない家族や友人にも配信されたら・・・・

そんな思いでこのアプリを開発してみました。


【製品の特長】
本アプリは定点カメラを用い、事前に登録したスマホを持った人を動画で撮影し、撮影されたことを登録したメルアドにお知らせし、それを見た人が動画を確認できるシステムです。

このアプリを使うと、、、

  1. 競技参加者はもちろん、応援に来ていない離れた土地の家族や友人にも、ほぼリアルタイムで動画を見てもらうことができます。
  2. 競技に参加している人の想い出がしっかり残ります。
  3. 定点カメラを使用するので、人では撮れないアングルからの撮影が可能です。
      (例えば、ページの上にあるYouTubeの動画のように、ドローンからの撮影等)

【製品の拡張性】
マラソンやサイクリングといったイベントに限らず、観光地に定点カメラを置くことで、お約束のポイントで自分の写った旅の想い出を残すことも可能です。


【補足】
「レッドハッカソンひろしま大会」事務局のブログです。
http://mashupaward.jp/2016/08/hackathon-hiroshima/


###【システム構成図】

https://ma10.s3.amazonaws.com/uploads/works/48139/5.png

#####登録画像をご参照ください。


###【機能概要】
#####利用者(イベント参加者)はスマホのアプリを使って自分が参加するイベントを選択し、登録します。イベント当日はアプリがインストールされたスマホをバッグ等に入れてイベントに参加するだけで、ポイントでの撮影が自動的に行われます。


###【管理者(イベント開始前)】
#####イベント内容、日時、定点カメラの端末IDと位置座標を登録します。


###【利用者アプリ(イベント当日)】
#####位置情報を取得しサーバとの通信を行います。通信圏外の場合、端末に情報を保持し通信可能となったタイミングで送信されます。


###【撮影アプリ(イベント当日)】
#####自端末の撮影指示情報をウォッチし、指示期間中の動画を撮影しストレージサーバにアップロードします。


###【イベント中の処理】
#####位置情報、撮影情報を集計し、撮影ポイントを通過した場合、利用者が登録した通知先にプッシュ通知を送信します。


###【実装方法】
####■利用者アプリ(基本操作)
#####1.Facebook APIを利用し、ログインを行う。このアプリは、FacebookのIDをキーに位置情報、メール通知先の管理などを行う
#####2.ログイン後、予約したイベントの一覧をIBM Bluemixへ経由で取得して表示される
#####3.イベント名をタップすると、詳細が表示され、選択状態となる
#####4."選択したイベント"で撮影を行いたい場合は、「スポーツイベントを選択」ボタンにて確認し、IBM Bluemixへ送信します。
#####5.「追加送信先設定」では、選択したイベントで撮影された動画を共有したい連絡先をIBM Bluemixへ送信します。

####■利用者アプリ(バックグラウンド処理)
#####1.バックグラウンドにて5秒間隔でFacebook ID,メールアドレス、位置情報をIBM Bluemixへ送信する。
#####2.スリープモードに移行しても送信が止まることはない

####■撮影アプリ
#####1.起動時に、撮影アプリがインストールされているスマホの位置情報をIBM Bluemixへ送信する
#####2.IBM Bluemixにて撮影開始すべきか管理するデータを参照し、撮影開始状態であれば録画を開始し、10秒間隔で動画を生成する。
#####3.生成した動画データはAWS SDK for Androidを利用してAmazon S3へ保存される

####■利用者・カメラAPIサーバー(IBM Bluemix)
#####1.利用者アプリから送信された位置情報を送られた場合、撮影アプリの位置情報を管理するデータを検索し、ヒュベニの公式でそれぞれの距離を算出する
#####2.距離は10mで設定しており(変更可能)、10m以内に利用者がいる撮影アプリの録画を開始するコマンドを生成する。
#####3."選択したイベント"は、利用者アプリから送信されてきたタイミングで、Kintone APIを介して送信する
#####4.利用者アプリ、撮影アプリについても、送信されてきたタイミングで、Kintone APIを介して送信する

####■動画処理・通知APIサーバー(AWS)
#####1.撮影アプリのAWS S3アップロードをAWS Lambdaにてウォッチし動画が作成されたタイミングでkintone APIから位置情報を取得
#####2.kintone APIから取得した利用者、カメラの位置情報を元に動画の結合処理を判定
#####3.動画結合処理が必要な場合、Amazon Elastic Transcoderにて10秒間隔で作成された動画を利用者向けに結合
#####4.Elastic Transcoder の終了通知を Amazon SNS で受信後、Lambda にて非同期処理を開始
#####5.動画のファイル名をkintone APIを通じてkintoneのレコードに設定
#####6.myThings Developer APIを用いて利用者が任意に設定した通知を送信

####■撮影状況表示Web(AWS)
#####1.Amazon S3 上の静的HTMLファイル(+AngularJS)にて実装
#####2.AngularJS内でログイン用のREST API(Amazon API Gateway)をコールしログイン可能かどうかを判定(要改善)
#####3.ログイン可能な場合、該当端末の位置情報リストをREST API(Amazon API Gateway)から取得
#####4.HTMLファイル上のmapエリアにBing Maps APIを用いて表示
#####5.ピンをクリックするとAmazon S3上にある動画データを再生

####■kintone連携REST API(Amazon API Gateway)
#####1.kintone単体ではCORSアクセスに対応していないため Amazon API Gatewayを使用
#####2.API Gateway → Lambda → kintone の経路で通信を行う
#####3.認証用と撮影ポイントリスト取得用の2種類のエンドポイントを構築
#####4.GETにてデータ取得

Wow

このアプリをすべてのスポーツ愛好家とその家族・友人の想い出つくりに捧ぐ

メンバー

専属カメラマン育成委員会

  • user
    安藤 光昭 @m_ando_japan
    • エンジニアリング隊長
  • user
    Shigeto Masumoto @shigetomasumoto
    • 応援団長
  • user
    おいし もとき @motokioishi
    • フルスタック開発隊長

同じニオイがする作品
  • event Ghost Navi
  • event 野良猫これくしょん by 野良猫に癒され隊
  • event maksy
  • event 林家Pay

イベントまとめ

コンテストまとめ

作品を登録しよう

モノづくりしている人に、つくった作品を見てもらえ、リアクションがもらえるかも?

close

目次