Upgrade to Pro — share decks privately, control downloads, hide ads and more …

JAWS DAYS 2024 C-9

JAWS DAYS 2024 C-9

matsuihidetoshi

March 11, 2024
Tweet

More Decks by matsuihidetoshi

Other Decks in Technology

Transcript

  1. JAWS DAYS 2024 ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_c JAWS DAYS 2024 松井

    英俊・吉江 瞬・古里 武士 Hao Chen・Todd Sharp C-9 [P] あなたのアイディアが コミュニティイベントで採用!? JAWS PANKRATION 2024 Live Architecting
  2. ハッシュタグ:#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. 3 基本コンセプト: グローバルイベントとしての開催 海外のコミュニティとの関係強化 日本のコミュニティメンバーたちを海外へ 24時間以上のオンラインイベント 新たな Hero を見つける 結果:

    • コミュニティメンバーのみで構築・運用 • 24時間0ダウンタイム配信 • ポケトークを使ったリアルタイム翻訳 • 22カ国から900人以上の参加者 • 13カ国から70人以上の登壇者 • 後のイベントにつながるアウトプット • グローバルに JAWS の認知を拡大
  4. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_c 2021の配信基盤の機能や特徴 5 • 完全にサーバーレス • Amazon IVS

    を使った低遅レイテンシー配信 • Pocketalk を併用したリアルタイム翻訳 • 登壇情報や視聴者数などを動画自体に組み込む • SaaS 活用による管理画面構築の省略 • IaC 化により再現を容易に
  5. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_c 動作解説: 翻訳 7 1. 登壇者が      Pocketalk

    で喋る 2. Pocketalk の Web ページに  翻訳が表示される 3. 配信オペレーター用の画面に  翻訳内容が埋め込まれる
  6. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_c 動作解説: 視聴者数表示 8 1. EventBridge ルールで  Lambda

    関数を  毎分呼び出し 2. Lambda 関数が  IVS の視聴者数を  取得する 3. Lambda 関数が  視聴者数を  DynamoDB に保存する 4. Lambda 関数が  IVS の TimedMetadata として  視聴者数を送信リクエストする 5. IVS の TimedMetadata として  視聴者数が配信オペレーター用  ページに送信、表示される
  7. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_c 動作解説: 情報埋め込み 9 2. Spreadsheet の API

    を使って  オペレータ用ページに  情報を表示する 3. オペレーターが専用ページに  アクセスしてマシンの画面上に  各種情報を表示する 1. 配信前に登壇者名やタイトル、紹介文を  Spreadsheet に用意しておく
  8. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_c 動作解説: 動画合成 10 1. オペレーターが登壇者と共に  Zoom ミーティングに参加する

    2. オペレーターが専用ページに表示された  全ての情報を OBS Studio を使って合成し  1つの配信用動画データとして組み立てる
  9. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_c 2024で達成したいこと 13 • グローバルイベントに参加し、英語話者ではない優秀な開発者やアーキテクトがいることを知る • あらゆる開発者やアーキテクトに登壇の機会を与えたい ランゲージバリアを取り払いたい

    具体的な目標や課題 • リアルタイム自動翻訳は前回から踏襲しつつもデバイスレスにしたい • 登壇者、視聴者のマシンスペックなどの環境になるべく依存しない安定的な配信をしたい • 登壇者、視聴者共にできるだけ母国語で話す、聞くができるようにしたい • AWS サービスのみで機能を実現したい
  10. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_c 技術的課題 14 • どうやって from 多言語 to

    多言語に翻訳するか? ◦ Amazon Translate? ◦ 翻訳言語モデル? • どうやって多言語翻訳をデータとしてクライアントサイドに送信するか? ◦ 翻訳先言語分の IVS ストリーミングを作る? ◦ WebSocket で送信する? • どうやって登壇者、視聴者が話しやすい、聞きやすいインターフェースにするか? ◦ 翻訳を意識しない自然な音声を入力として受け付けられるか? ◦ 言語を自動検出できるか?
  11. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_c 例1. 言語の数だけ配信するパターン 16 • メリット ◦ 動画内に翻訳テキストを埋め込みできる

    • デメリット ◦ 翻訳と配信のズレを補正できるか? ◦ オペレーター側のマシンスペック要件が高まる ◦ IVS 入力コストが跳ね上がる ◦ Lambda がボトルネックにならないか? ◦ 翻訳を意識した喋りが必要 ◦ TimedMetadata の文字数制限を回避する必要がある
  12. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_c 例2. WebSocket を使うパターン 17 • メリット ◦

    IVS チャンネルは1つで済む ◦ オペレーター側の負荷が低い ◦ IVS の機能の制約に縛られない ◦ Lambda の負荷分散ができる • デメリット ◦ アーキテクチャが複雑化する ◦ 動画内に翻訳を埋め込みできない ( CSS で擬似的な全画面?) ◦ こちらもやはり 翻訳を意識した喋りが必要
  13. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_c それぞれの案の比較 19 見やすさ 喋りやすさ メリット デメリット 例1

    ⚪ △ 動画内テキスト埋め込み 可用性不利 コスト増 翻訳考慮した喋り必要 オペレーションマシン要件高い 例2 △ △ コスト有利 可用性有利 オペレーション負荷低い アーキテクチャ複雑化 原則動画内埋め込み不可 翻訳考慮した喋り必要