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
JAWS DAYS 2024 C-9
Search
matsuihidetoshi
March 11, 2024
Technology
0
130
JAWS DAYS 2024 C-9
matsuihidetoshi
March 11, 2024
Tweet
Share
More Decks by matsuihidetoshi
See All by matsuihidetoshi
web-application-security
matsuihidetoshi
1
260
クラウドだからできた 地方主導のJAWS DevOps
matsuihidetoshi
2
400
既存システムのコンテナ化で得られた知見と、 全然関係ないけど自炊を支える技術
matsuihidetoshi
0
950
Media JAWS 2023/1
matsuihidetoshi
1
540
Efforts to Organizing & Broadcastiong JAWS-UG's global event "JAWS PANKRATION 2021 -Up till Down-"
matsuihidetoshi
0
130
サーバレスアーキテクチャの考え方
matsuihidetoshi
0
48
コミュニティイベント配信基盤での サーバーレスアーキテクチャ実践
matsuihidetoshi
0
580
再利用可能なサーバーレス配信コンポーネント
matsuihidetoshi
0
170
Amplify とノー(ロー)コード開発
matsuihidetoshi
0
150
Other Decks in Technology
See All in Technology
Adopting Jetpack Compose in Your Existing Project - GDG DevFest Bangkok 2024
akexorcist
0
110
OCI Network Firewall 概要
oracle4engineer
PRO
0
4.2k
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
500
iOS/Androidで同じUI体験をネ イティブで作成する際に気をつ けたい落とし穴
fumiyasac0921
1
110
CysharpのOSS群から見るModern C#の現在地
neuecc
2
3.5k
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.7k
『Firebase Dynamic Links終了に備える』 FlutterアプリでのAdjust導入とDeeplink最適化
techiro
0
130
個人でもIAM Identity Centerを使おう!(アクセス管理編)
ryder472
4
230
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
0
390
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
950
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
250
Taming you application's environments
salaboy
0
190
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1366
200k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Practical Orchestrator
shlominoach
186
10k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
420
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
A Modern Web Designer's Workflow
chriscoyier
693
190k
The Language of Interfaces
destraynor
154
24k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Making Projects Easy
brettharned
115
5.9k
The Pragmatic Product Professional
lauravandoore
31
6.3k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Transcript
JAWS DAYS 2024 ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_c JAWS DAYS 2024 松井
英俊・吉江 瞬・古里 武士 Hao Chen・Todd Sharp C-9 [P] あなたのアイディアが コミュニティイベントで採用!? JAWS PANKRATION 2024 Live Architecting
ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_c 自己紹介 松井 英俊 2 株式会社スタートアップテクノロジー AWS Serverless
Hero 吉江 瞬 AWS Security Hero JAWS PANKRATION 2021 Chairman 古里 武士 株式会社DIGITALJET AWS Samurai 2022 Hao Chen AWS (Customer Success Engineer, Amazon IVS) Todd Sharp AWS (Principal Developer Advocate, Amazon IVS)
3 基本コンセプト: グローバルイベントとしての開催 海外のコミュニティとの関係強化 日本のコミュニティメンバーたちを海外へ 24時間以上のオンラインイベント 新たな Hero を見つける 結果:
• コミュニティメンバーのみで構築・運用 • 24時間0ダウンタイム配信 • ポケトークを使ったリアルタイム翻訳 • 22カ国から900人以上の参加者 • 13カ国から70人以上の登壇者 • 後のイベントにつながるアウトプット • グローバルに JAWS の認知を拡大
ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_c 2021の振り返り 4 • ユーザーグループ主導でグローバルイベントを実施し、可能性を示すことができた • ユーザーグループの日本での活動をグローバルに広く認知させることができた よかったこと
課題 • 翻訳デバイス等の配送や取り扱いの難しさ • ランゲージバリアを払拭し切れていない • さらに多くの国から多くの参加者を巻き込みたい
ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_c 2021の配信基盤の機能や特徴 5 • 完全にサーバーレス • Amazon IVS
を使った低遅レイテンシー配信 • Pocketalk を併用したリアルタイム翻訳 • 登壇情報や視聴者数などを動画自体に組み込む • SaaS 活用による管理画面構築の省略 • IaC 化により再現を容易に
ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_c 2021の配信アーキテクチャ 6
ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_c 動作解説: 翻訳 7 1. 登壇者が Pocketalk
で喋る 2. Pocketalk の Web ページに 翻訳が表示される 3. 配信オペレーター用の画面に 翻訳内容が埋め込まれる
ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_c 動作解説: 視聴者数表示 8 1. EventBridge ルールで Lambda
関数を 毎分呼び出し 2. Lambda 関数が IVS の視聴者数を 取得する 3. Lambda 関数が 視聴者数を DynamoDB に保存する 4. Lambda 関数が IVS の TimedMetadata として 視聴者数を送信リクエストする 5. IVS の TimedMetadata として 視聴者数が配信オペレーター用 ページに送信、表示される
ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_c 動作解説: 情報埋め込み 9 2. Spreadsheet の API
を使って オペレータ用ページに 情報を表示する 3. オペレーターが専用ページに アクセスしてマシンの画面上に 各種情報を表示する 1. 配信前に登壇者名やタイトル、紹介文を Spreadsheet に用意しておく
ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_c 動作解説: 動画合成 10 1. オペレーターが登壇者と共に Zoom ミーティングに参加する
2. オペレーターが専用ページに表示された 全ての情報を OBS Studio を使って合成し 1つの配信用動画データとして組み立てる
ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_c 動作解説: 配信 11 最終的に全ての情報を含んだ動画が IVS から視聴者に低レイテンシー配信される
ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_c 画面構成とデータの流れ 12
ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_c 2024で達成したいこと 13 • グローバルイベントに参加し、英語話者ではない優秀な開発者やアーキテクトがいることを知る • あらゆる開発者やアーキテクトに登壇の機会を与えたい ランゲージバリアを取り払いたい
具体的な目標や課題 • リアルタイム自動翻訳は前回から踏襲しつつもデバイスレスにしたい • 登壇者、視聴者のマシンスペックなどの環境になるべく依存しない安定的な配信をしたい • 登壇者、視聴者共にできるだけ母国語で話す、聞くができるようにしたい • AWS サービスのみで機能を実現したい
ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_c 技術的課題 14 • どうやって from 多言語 to
多言語に翻訳するか? ◦ Amazon Translate? ◦ 翻訳言語モデル? • どうやって多言語翻訳をデータとしてクライアントサイドに送信するか? ◦ 翻訳先言語分の IVS ストリーミングを作る? ◦ WebSocket で送信する? • どうやって登壇者、視聴者が話しやすい、聞きやすいインターフェースにするか? ◦ 翻訳を意識しない自然な音声を入力として受け付けられるか? ◦ 言語を自動検出できるか?
ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_c Pankration 2024 全体図(考案中) 15
ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_c 例1. 言語の数だけ配信するパターン 16 • メリット ◦ 動画内に翻訳テキストを埋め込みできる
• デメリット ◦ 翻訳と配信のズレを補正できるか? ◦ オペレーター側のマシンスペック要件が高まる ◦ IVS 入力コストが跳ね上がる ◦ Lambda がボトルネックにならないか? ◦ 翻訳を意識した喋りが必要 ◦ TimedMetadata の文字数制限を回避する必要がある
ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_c 例2. WebSocket を使うパターン 17 • メリット ◦
IVS チャンネルは1つで済む ◦ オペレーター側の負荷が低い ◦ IVS の機能の制約に縛られない ◦ Lambda の負荷分散ができる • デメリット ◦ アーキテクチャが複雑化する ◦ 動画内に翻訳を埋め込みできない ( CSS で擬似的な全画面?) ◦ こちらもやはり 翻訳を意識した喋りが必要
ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_c 皆さんの知恵を貸してください!! ディスカッション開始 18
ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_c それぞれの案の比較 19 見やすさ 喋りやすさ メリット デメリット 例1
⚪ △ 動画内テキスト埋め込み 可用性不利 コスト増 翻訳考慮した喋り必要 オペレーションマシン要件高い 例2 △ △ コスト有利 可用性有利 オペレーション負荷低い アーキテクチャ複雑化 原則動画内埋め込み不可 翻訳考慮した喋り必要
ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_c 20 まとめ
ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_c 本日はご参加いただきありがとうございました。アンケートのご記入をお願いします。 アンケートご記入のお願い 21