ヤマムギ

growing hard days.

*

「Media-JAWS 【第10回】渋谷に集合!」に参加しました

      2023/01/19

Media-JAWS 【第10回】渋谷に集合!に参加しました。

Media-JAWS実行委員 三浦さんのご案内からスタート!

2年以上に及ぶオンライン配信基盤構築・改善をコミュニティリソースだけでどうやって実現したか?その結果何を得たか?

松井さん

アウトプットの大切さをエンジニアに聞いてみた。で対談した松井さんからJAWS DAYSの配信基盤のお話。

JAWS-UGのイベントでAWSサービス使って作るのはいいですよね。
メインのサービスはAmazon IVSを採用。
ストリーミングついでに任意のデータを送れるのもいいですね。

はじまりはJAWS DAYS 2021

Stream Yard、OBSからAmazon IVSに動画送信し、IVSがクライアントに動画を配信、クライアント側は公式SDKとVideo.jsを組み合わせて開発。

フロントエンドはAmplify。

管理画面でセッションタイトル、説明を変更→GraphQLでDynamoDBが更新されて、ストリームからLambda関数を実行。
LambdaはTimed MetadataとしてAmazon IVSにリクエスト→IVSからクライアントにタイトルと説明を反映。
しかし、送信できる情報は1KB制限が。
1KBを超える長文説明はLambda関数がチャンクに分けてIVSにリクエスト。
受け取ったクライアントサイドJSがチャンクを結合して復元。

EventBridgeで1分ごとに実行しているLambda関数がIVSから視聴者数を取得→Lambda関数からIVSに視聴者数をTimed Metadataへ送信しクライアントへ配信。
視聴者数はDynamoDBテーブルにも記録用に保存。
今は視聴者数はCloudWatchメトリクスにあるらしいので、一時記録ならDynamoDBへのPutItemは要らないかも。

アンケートは管理画面から開始して募集。
アンケートの配信もほかの機能同様にTimed Metadataを利用。
アンケート結果はCognito IDプールでDynamoDBテーブルの情報を画面に表示。

JAWS PANKRATION 2021での進化

管理画面はGoogle Spreadsheetへ。
Sheets APIで情報を取得。

すべての情報を動画内に埋め込むことにした。
OBS Studioで情報を合成してリアルタイム配信した。

それぞれの構成とサンプルコードはbuilder.flushに公開されています。

オリジナル配信サイトに視聴者数を取得して表示する機能をコマンド一発で構築する
Amazon Interactive Video Service(IVS)とAWS Amplifyを使って自分だけのオリジナル配信サイトを作る !

JAWS DAYS 2022での進化

PANKRATIONとは違い、Stream Yardを使用したのでOBSでの画面合成出力はしていない。
OBS仮想カメラを使用して画面を1つの動画として、Stream Yardに送信した。
こうしてあたかも1つの画面のように視聴者数などの情報を結合した。

Spread SheetのSheets APIから情報を呼び出すLambda関数がJSONに変換してS3バケットに保存して、CloudFrontからクライアントへ配信。

ここに書ききれないだけの、もっともっとたくさんの課題とソリューションが詰め込まれていました。
これだけの実績と知見と経験が得られるのって、コミュニティでチャレンジする大きな価値ですね。

私もそういえば、昔JAWS-UG大阪で当日開発で催し物向けの開発しました。
Amazon Rekognitionでイベント参加者の顔写真を解析して似ている人ランキングをその場で作る

即戦力エンジニアを排出しているプログラミングスクールRUNTEQの学習メソッド

会場提供RUNTEQの小沼さん

RUNTEQは未経験からエンジニアを育てられて、企業へ紹介されているサービス。
自走力を育てることを重要視されていると見受けました。

NHK NewsLabの紹介

斉藤さん

NHK NEWSWEB、ニュース、防災アプリなどを開発運用の対応をされている。
Noteなどで情報発信もされている。
NewsLabは2016年に1人からスタートして現在12人のチーム。
データ活用やプロトタイピングをされている。

MediaLiveを使ったお天気カメラのライブ配信サービスを作っています

浅井さん

空模様は? ライブカメラ映像として公開されている配信サービスを作られた。
各地放送局の屋上などに設置されたロボカメのライブカメラ映像をエンコーダーからAWS Elemental MediaLiveへ送信。
MediaLiveからS3、CloudFrontでストリーミング配信。
管理画面はAmlifyで開発、WAFで守っている。
開発も運用も少数チームでされている。
そうすることで運用の設計、日々の対応をご自身のチームで最適化されている。

Textractで新型コロナデータPDFをOCRする仕組みを2日で作った話

内野さん

新型コロナデータの状況や推移を表示できるサイトを運用されている。
最初は政府提供のPDFを手入力できるCMSを構築された。
この頃は大都市圏だけだったので入力量も少なかった。
でもオミクロン流行から対象データが増えてきて、発表時間も夜間にずれ込むなど課題が発生した。
PDFには文字が埋め込まれていない。
そこでAmazon Textract。
しかし、未対応の日本語(都道府県名)も読み込む必要あり。
そこでVision APIも組み合わせた。
CMSの入力結果を保存していたS3バケットへ。
結果、OCR制度は99%となった。

そこからデータの正確性の必要性を提案して、現在はPDFではなくCSVで提供されることになった。
フォーマットが変わるまでやらないのではなく、そのときにやれることをやって、その上で根本の課題解決に動くってすごいですね。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - event, study

ad

ad

  関連記事

JAWS-UG北陸新幹線 ( 福井開催 )に参加しました

福井駅前で、JAWS-UG北陸新幹線が開催されましたので参加しました! 大阪駅か …

Developers Summit 2024「事業で成果を出すCTOたち」を見ました

Developers Summit 2024に参加しました。 大阪から朝早くの新 …

LINEとAWSとTwilioとkintoneでBOTを作ってみるハンズオン (6) Twilioからの電話受付と登録処理

作るところ 電話がかかってきてTwilioで受け付けてStepFunctions …

Innovation EGG 第7回 『クラウドネィティブ化する世界』に行ってきました

Innovation EGG 第7回 『クラウドネィティブ化する世界』に行ってき …

Developers Summit 2024「LLMで切り拓く完全自動運転の道、エンジニアが創るクルマの未来」を見ました

チューリング株式会社 取締役CTO 青木 俊介さん 「ハンドルがない乗用車」の販 …

ヤマムギvol.5 「BI ファーストステップ ~re:dash , PowerBI , Google Data Studio , Wave~」を開催しました

僭越ながら主催運営していますヤマムギの第5回目勉強会「BI ファーストステップ …

JAWS-UG 関西IoT専門支部「マクニカkibo + AWS IoTハンズオン」に行ってきました、というか運営メンバーとして参加してきました

2015/12/19(土)はJAWS-UG 関西IoT専門支部の記念すべき1回目 …

「JAWS-UG 名古屋 AWS Demo-1グランプリ」を開催しました

「JAWS-UG 名古屋 AWS Demo-1グランプリ」を開催しました! 「開 …

コミュニティリーダーサミット in 高知 2024初鰹編に参加しました

13回目のCLS高知に参加しました! 今回は220人もの方が参加されているそうで …

「SORACOM & myThingsを使ったハンズオンセミナー in 大阪」に行ってきました

SORACOM & myThingsを使ったハンズオンセミナー in 大阪に行っ …