Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
「フィニッシャーズ・スマイル」の開発と当日運用のお話
Search
Kazuki Miura
PRO
September 06, 2025
Technology
0
22
「フィニッシャーズ・スマイル」の開発と当日運用のお話
https://jaws-tohoku.connpass.com/event/352957/
#jawsug #jawsugtohoku #jawsugakita
Kazuki Miura
PRO
September 06, 2025
Tweet
Share
More Decks by Kazuki Miura
See All by Kazuki Miura
AWS Systems Manager Incident Manager 使い所を考えてみた
miu_crescent
PRO
0
1
「入門 OpenTelemetry」 入門
miu_crescent
PRO
1
61
AZ 名とAZ ID の違いを 何度でも言うよ
miu_crescent
PRO
1
220
AWS Step Functions で マネコンとCDKの二刀流!
miu_crescent
PRO
1
56
AWS MediaServices の概要と活用事例
miu_crescent
PRO
2
98
ワイキキサークルホテルとその過ごし方
miu_crescent
PRO
1
280
私のawsの学び方、社外へ飛び出そう
miu_crescent
PRO
1
140
地方だからできた! 東北でのAWS事例を一挙紹介!
miu_crescent
PRO
1
170
地方企業がクラウドを活用するヒント
miu_crescent
PRO
1
220
Other Decks in Technology
See All in Technology
Webブラウザ向け動画配信プレイヤーの 大規模リプレイスから得た知見と学び
yud0uhu
0
110
Vault meets Kubernetes
mochizuki875
0
150
AI エージェントとはそもそも何か? - 技術背景から Amazon Bedrock AgentCore での実装まで- / AI Agent Unicorn Day 2025
hariby
2
500
2025年になってもまだMySQLが好き
yoku0825
3
2k
「守る」から「進化させる」セキュリティへ ~AWS re:Inforce 2025参加報告~ / AWS re:Inforce 2025 Participation Report
yuj1osm
1
180
PRDの正しい使い方 ~AI時代にも効く思考・対話・成長ツールとして~
techtekt
PRO
0
310
ヒューリスティック評価を用いたゲームQA実践事例
gree_tech
PRO
0
420
実践アプリケーション設計 ②トランザクションスクリプトへの対応
recruitengineers
PRO
4
1.2k
Bye-Bye Query Spaghetti: Write Queries You'll Actually Understand Using Pipelined SQL Syntax
tobiaslampertlotum
0
120
JavaScript 研修
recruitengineers
PRO
6
1.4k
250905 大吉祥寺.pm 2025 前夜祭 「プログラミングに出会って20年、『今』が1番楽しい」
msykd
PRO
1
200
実践アプリケーション設計 ①データモデルとドメインモデル
recruitengineers
PRO
5
1.4k
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
What's in a price? How to price your products and services
michaelherold
246
12k
Bash Introduction
62gerente
614
210k
Navigating Team Friction
lara
189
15k
Site-Speed That Sticks
csswizardry
10
800
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
A better future with KSS
kneath
239
17k
Designing for humans not robots
tammielis
253
25k
Fireside Chat
paigeccino
39
3.6k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
Transcript
「フィニッシャーズ・スマイル」 の開発 と 当 日 運 用 の お 話
jawsugakita #
MIURA KAZKI heptagon inc. Favorite: AWS MediaServices VPC の外側のサービス AWS
Samurai AWS Community Hero AWS Ambassador AWS Top Engineer Cloud Architect Sapporo 189 cm → 2018 年に 未経験からスタート 2022 年にVOD とEC を 開発運用スタート
秋田出身です! ついに地元・秋田に帰ってきました!!
JAWS-UG 秋田で登壇できるの とても嬉しいです!
改めまして
「フィニッシャーズ・スマイル」 の開発 と 当 日 運 用 の お 話
jawsugakita #
現地からの動画配信を実施するときの 気をつける点なんかも触れつつ 動画配信する中でのAWSの使い方 また、AWSのサービスを使って 付加価値をどう実現していきますか
jawsugakita #
実行委員でもある 野口さんからご依頼
実行委員でもある 野口さんからご依頼
コースの各地からの映像をYouTube に向けてスイッチする環境の構築 ゴールでフィニッシュした時の 笑顔を集めるWebサービス 「フィニッシャーズ・スマイル」の構築 今回のご依頼内容
コースの各地からの映像をYouTube に向けてスイッチする環境の構築 ゴールでフィニッシュした時の 笑顔を集めるWebサービス 「フィニッシャーズ・スマイル」の構築 今回のご依頼内容
大会の進行に 合わせて簡単 に移動ができ るスマートフ ォンでライブ 配信
配信用PCの画面 をキャプチャして OBSの入力とし て使用する
各配信用PCで 移したい箇所を 全画面表示して もらう PC上で他の画 面も見ながら映 像も横で見れる ように縦長に並 べる
PC上で他の画面も見ながら映像も 横で見れるようにプレイヤーを縦長に並べると便利 chrome1 chrome2
Amazon Interactive Video Service Amazon Simple Storage Service (Amazon S3)
AWS Amplify Larix Broadcaster: Live Stream OBS スマホ PC AWS スマホの映像をRTMP で飛ばす 他のプロトコルにも対応 ※ 無料版は配信時間に制限あり スイッチャー/ ミキサー 配信と収録ができる OSS デスクトップアプリ RTMP を受けて、配信できる 利点:低レイテンシー 観測できるようになる 静的なWeb サイトをデプロイして 公開する一番簡単な方法 ライブ配信基本セット 今はAmplify が推奨されている フロントエンド 動画プレイヤー デファクトスタンダートOSS 一旦これ使いましょう
Amazon Interactive Video Service Amazon CloudWatch Alarm AWS AppSync Events
WebSocket オブザーバビリティ モバイル通信 不安定になる 配信運用を考えると 1つの画面で全て判 断したい 将来拡張
コースの各地からの映像をYouTube に向けてスイッチする環境の構築 ゴールでフィニッシュした時の 笑顔を集めるWebサービス 「フィニッシャーズ・スマイル」の構築 今回のご依頼内容
jawsugakita #
実物を見ていただきましょう https://finishers-smile.net/tritakamatsu2025/timeline
None
Amazon Rekognition
Amazon Rekognition DEMO
Amazon Rekognition Amazon Rekognition image Amazon Rekognition video 最終が静止画なので 静止画を採用
Amazon EventBridge アーキテクチャ
アーキテクチャ 配信用にも 分岐してる Amazon EventBridge
アーキテクチャ Amazon EventBridge 3つのパートに分けて 何やってるのかを説明していきます
映像入力と静止画切り出し カメラからPCにキャプチャした映像を OBSを使用してAWSに向けて映像を アップロード RTMPで受け取った映像を MediaLiveのチャンネルで受ける EC2上で動いているGStreamer か ら、KVSが受け取れるHTTPSへ変換 LambdaにてKVSの映像から
1秒間に2枚ずつ静止画を生成しS3バ ケットへ保存 Amazon EventBridge
Amazon EventBridge rekognitionと画像処理 映像から切り出した静止画からRekognitionの顔 検出機能を使用し1人1枚の顔写真にして保存する フレーム画像から顔を検出 検出された顔の数だけ下記の処理を行う 検出された顔の笑顔スコアと顔スコアを計算 似ている顔画像同士を同一人物としてグルー ピング
検出された顔と類似した顔を検索する。 類似した顔があれば、検出された顔を類 似した顔の所属する人物のグループに紐 付ける。 類似した顔がなければ、新たな人物のグ ループを作成する。 下記の値から算出した顔スコアを元に、人物 のグループの中でもっとも写りの良い写真を タイムラインに表示する。 顔のサイズ(画素数) 向き 信頼度 笑顔度 こう 切り抜く
表示部分 画像処理部のによってDynamoDBに保存したデータから、 Webページの表示に必要なデータをJSON形式で作成 上記JSON形式のデータをAmplifyにて構築したWebペー ジで表示 顔画像についてはオリジンサーバーをS3としCDNとして CloudFront経由してWebへ配信
Amazon Rekognition パラメータの調整
かなり画角揃えられた
rekognitionと画像処理 クライアントのイメージに近づける Rekognitionの推奨値に合わせる カメラをできるだけ正面に設置する
クライアントのイメージに近づける 共通言語のすり合わせから どれくらいの画角なのかをパラメータ として決めないと出力ができない
クライアントのイメージに近づける WSとKSの間くらい バンザイしても映るくらい
Rekognitionの推奨値に合わせる カメラセットアップの推奨事項 1920x1080の全体画像のうち顔のサイズ は50x50以上が最小値 顔の向き PITCH 30度未満 ROLE 制限なし 45度以下
https://docs.aws.amazon.com/ja_jp/rekognition/latest/dg/recommendations-camera-image-video.html ドキュメントにちゃんと書いてあります
カメラをできるだけ正面に設置する カメラ設置位置
かなり画角にムラなく出力させることができた
当日の事件
順調に1時間くらい過ぎたあたりで 私はタイムラインを見ながら カメラの微調整をしていました
None
新しい顔が来ない!!
15分後 原因判明
さて、何が悪かったでしょうか
アーキテクチャを眺めてみよう ヒント: 最初のゴールから1時間が経過し 次々とゴールする人が増えてきた
正解は
Amazon DynamoDB キャパシティモードが プロビジョニングモードに オンデマンドモードに変更して解決 SQSのキューが再び流れでデータ損 失ゼロ 読み込みのスロットリングを確認
Amazon DynamoDB プロビジョンドキャパシティモード Read Capacity Unit Wright Capacity Unit をそれぞれ設定してあげる必要がある
プロビジョンドキャパシティモードからオンデマンドキャパシティモードに切り替えると、 DynamoDB は、テーブルやパーティションの構造にいくつかの変更を行います。この処理に は数分かかることもあります。 切り替え期間中、テーブルは以前にプロビジョニングされた書き込みキャパシティーユニットお よび読み込みキャパシティーユニットの両方と整合性のあるスループットを提供します。 オンデマンドキャパシティモード ある範囲で自動的に動いてくれる 切り替えても大丈夫なことは何かで見て知ってた
反省 ちゃんと負荷試験をすること 観測できる状態を整えておくこと
今後の展望
次のイメージ ビジネス化していきたい 付加価値もっと出していきたい 高解像度化 動画化
サーバレスのいいところ 簡単に追加機能が生やせる
自動的に動画の切り出しができないか
来年乞うご期待
ONE MORE THING...
ヘプタゴンの谷口が金沢で Deep Dive します!