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
2
96
「フィニッシャーズ・スマイル」の開発と当日運用のお話
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
us-east-1 の障害が 起きると なぜ ソワソワするのか
miu_crescent
PRO
1
90
完全未経験からAWSと共に セキュリティに立ち向かった半生
miu_crescent
PRO
1
89
Stripe Terminal を触ってみた!!
miu_crescent
PRO
0
54
アクシズを探せ! 各勢力の位置関係についての考察
miu_crescent
PRO
1
42
地方だからできた! 東北でのAWS事例を一挙紹介!#地方だからできる
miu_crescent
PRO
0
24
APIからデータベースまで、全てサーバレスで作ってみよう!
miu_crescent
PRO
0
15
AWS Systems Manager Incident Manager 使い所を考えてみた
miu_crescent
PRO
0
23
「入門 OpenTelemetry」 入門
miu_crescent
PRO
1
76
AZ 名とAZ ID の違いを 何度でも言うよ
miu_crescent
PRO
1
250
Other Decks in Technology
See All in Technology
なぜ新機能リリース翌日にモニタリング可能なのか? 〜リードタイム短縮とリソース問題を「自走」で改善した話〜 / data_summit_findy_Session_2
sansan_randd
1
150
オブザーバビリティ成熟度モデルの企画から社内導入まで
dmmsre
2
170
ソフトウェア品質を支える テストとレビュー再考 / 吉澤 智美さん
findy_eventslides
1
920
AWS IAM Identity Centerによる権限設定をグラフ構造で可視化+グラフRAGへの挑戦
ykimi
2
630
The Twin Mandate of Observability
charity
1
1.2k
嗚呼、当時の本番環境の状態で AI Agentを再評価したいなぁ...
po3rin
0
350
エンタープライズ企業における開発効率化のためのコンテキスト設計とその活用
sergicalsix
1
140
今のコンピュータ、AI にも Web にも 向いていないので 作り直そう!!
piacerex
0
760
ピープルウエア x スタートアップ
operando
3
3.8k
技術の総合格闘技!?AIインフラの現在と未来。
ebiken
PRO
0
220
Master Dataグループ紹介資料
sansan33
PRO
1
3.9k
Sansan BIが実践する AI on BI とセマンティックレイヤー / data_summit_findy
sansan_randd
0
120
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
Being A Developer After 40
akosma
91
590k
Scaling GitHub
holman
463
140k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
920
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
Agile that works and the tools we love
rasmusluckow
331
21k
KATA
mclloyd
PRO
32
15k
Designing for humans not robots
tammielis
254
26k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
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 します!