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
190
JAWS DAYS 2024 C-9
matsuihidetoshi
March 11, 2024
Tweet
Share
More Decks by matsuihidetoshi
See All by matsuihidetoshi
AWS Summit Japan 2025 Community Stage - App workflow automation by AWS Step Functions
matsuihidetoshi
1
320
web-application-security
matsuihidetoshi
1
320
クラウドだからできた 地方主導のJAWS DevOps
matsuihidetoshi
2
490
既存システムのコンテナ化で得られた知見と、 全然関係ないけど自炊を支える技術
matsuihidetoshi
0
1k
Media JAWS 2023/1
matsuihidetoshi
1
600
Efforts to Organizing & Broadcastiong JAWS-UG's global event "JAWS PANKRATION 2021 -Up till Down-"
matsuihidetoshi
0
190
サーバレスアーキテクチャの考え方
matsuihidetoshi
0
99
コミュニティイベント配信基盤での サーバーレスアーキテクチャ実践
matsuihidetoshi
0
640
再利用可能なサーバーレス配信コンポーネント
matsuihidetoshi
0
210
Other Decks in Technology
See All in Technology
OPENLOGI Company Profile
hr01
0
67k
AWS認定を取る中で感じたこと
siromi
1
160
無意味な開発生産性の議論から抜け出すための予兆検知とお金とAI
i35_267
3
11k
What’s new in Android development tools
yanzm
0
110
OPENLOGI Company Profile for engineer
hr01
1
33k
asken AI勉強会(Android)
tadashi_sato
0
170
LangSmith×Webhook連携で実現するプロンプトドリブンCI/CD
sergicalsix
1
200
低レイヤを知りたいPHPerのためのCコンパイラ作成入門 完全版 / Building a C Compiler for PHPers Who Want to Dive into Low-Level Programming - Expanded
tomzoh
4
3.4k
AWS Organizations 新機能!マルチパーティ承認の紹介
yhana
1
260
マネジメントって難しい、けどおもしろい / Management is tough, but fun! #em_findy
ar_tama
5
730
Core Audio tapを使ったリアルタイム音声処理のお話
yuta0306
0
180
AIとともに進化するエンジニアリング / Engineering-Evolving-with-AI_final.pdf
lycorptech_jp
PRO
0
150
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
Designing for humans not robots
tammielis
253
25k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
Navigating Team Friction
lara
187
15k
Side Projects
sachag
455
42k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Building Applications with DynamoDB
mza
95
6.5k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Optimizing for Happiness
mojombo
379
70k
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