SlideShare a Scribd company logo
1 of 10
Download to read offline
サーバレスな配信システムを作る
( MediaLive + MediaStore + CloudFront )
井上 馨
こんなインフラを作ってみました
Camera
RTMP配信機
HDMI
MediaLive MediaStore
RTMP
CloudFront
アダプティブ・ストリーミング用に
複数ビットレートでエンコード
HLS
ライブ配信の辛み
・配信に使ってるWindowsがハング
・カメラを繋いでいるキャプチャボードがハング
・マルチビットレートのエンコードさせてるグラボが
 謎の再起動
・WindowsUpdateでカジュアルに設定変更かかる
 (ボリューム設定が変わって、音が出ない、とか
 ドライバとの組み合わせが悪くなる、とか)
だいたいWindowsが悪い
( 最近の、ナデラさん以降のマイクロソフトは好きだよ、でも )
大規模アップデート定期なの困る
・2016/08/02 Anniversary Update
・2017/04/11 Creators Update
・2017/10/17 Fall Creators Update
・2018/04/30 April 2018 Update
今回どんな方針を取ったか
・キャプチャボードやめたい
 🤔例えば、良いドライバのバージョンが見つかれば良いのか?
  そのドライバは長期的に使えるのか?
  そのキャプチャボード、将来的なWindowsUpdateでも大丈夫?
・エンコードでグラボ使うのやめたい(GPUが不安定だった)
 🤔ゲーム用のRadeonがダメって気もする、でもNVIDIAなら確実?
つまるところ『Windowsの役割を減らしたい』
😫現状がダメなのは分かる、でも少しづつパーツを変更して、
将来的に安心が得られるか確信が持てない…、
アーキテクチャの変更してでもっと安定が欲しい
スタジオ機材はハードウェアで行きたい
・ハードウェアミキサーの導入
 ( ↑こっからHDMI出力がでてる )
・HDMI入力をRTMPで出力できる機材の導入
ただ一つのRTMP出力からアダプティブストリーミングのため
「複数のビットレートに変換する必要」がある
( WindowsのWirecastでマルチビットレートのエンコーディング、
ストリーミングサーバに複数のRTMP出力を送ってる )
サーバ側でマルチビットレート対応したい
で、AWS MediaServiceはじめてみた
🙄なんでMediaService?
・ほかサービスとの比較も簡単に行った。
・AWSなれてきてた(個人的に)
・CloudFrontで( 既存のインフラと )料金とかまとめられそう
やってみた
去年、2017/12時点ではすごく辛かった、ハードモード。
設定の編集ができなかった( 新しく配信設定を作り直す必要があった )
あとウィザード内である変更すると、
入力内容が一部リセットされるとか辛い。
この辺の悩みは2018/03のアプデで設定変更できるようになった。
いまなら若干、オススメできるようになってきた。
作ってみた配信システムの構成
Camera
RTMP配信機
HDMI
MediaLive MediaStore
RTMP
CloudFront
マルチビットレートでエンコードされた
複数のHLSストリームがMediaStoreに転送
👆
通常時
CloudFront障害時
よかった点
・EC2サーバの面倒を見なくて良くなりそう
 (インフラエンジニアとしては少し切ない)
 構築/チューニング/モニタリングの面倒臭さが無くなった。ラク。
・ラクにマルチビットレートできた
 もともとデフォルトの設定がマルチビットレートになってた
 ( でも、「どの程度のビットレートにするか」は実地の検証しつつチューニング必要 )
 設定内容のみにフォーカスできる感ある。
・ほっといても新機能が追加される
 こないだCMAF対応が追加された( やりたいけど、まだ未検証 )
 EC2サーバにありがちなバージョンアップ時の面倒臭さが無い。
・Linuxエンジニアがいないような会社だと良いかもしれない。
 MediaServiceで作る配信システムは、独立性が高いので。
 ( 前のページのシステムもEC2出てきてないし )
作る上でのつまづき
・ログがわからん
 そもそも/var/log無い。ログ、どこに出るんだっていう。
  -> デフォルトだと「エラーが起きてる」は分かるけどエラーの件名すらでない
  -> CloudWatchでイベントを拾える
   -> どんなキーワードで拾うんだ?( この辺でAWSサポートと一緒に作業開始 )
   -> 最初は「アスタリスク( * )で全てのイベントをメールで飛ばす」設定をした
     欲しいものを順次ルールとして追加した。
・CloudFrontからMediaStoreにアクセスできないエラーが出る
 -> MediaStoreはs3ベースだけど、アクセス許可設定しないと
  CloudFrontからアクセスできない
・最初、Safariだと見えるのに、Webブラウザで見えないので焦る
 -> CORS( Cross-Origin Resource Sharing )設定が必要だった
・AWSのデフォルトのビットレートが高品質なネットワークを想定してる
 -> 実地の細い帯域だと、見れない
  -> ビットレートを下げる調整をした

More Related Content

Similar to サーバレスな配信システムを作る ( MediaLive + MediaStore + CloudFront )

デジタルコンテンツの安定配信とコスト削減の両立を実現したシステム刷新
デジタルコンテンツの安定配信とコスト削減の両立を実現したシステム刷新デジタルコンテンツの安定配信とコスト削減の両立を実現したシステム刷新
デジタルコンテンツの安定配信とコスト削減の両立を実現したシステム刷新Nobuhiko Watanabe
 
Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。Yuya Yamaki
 
ストリーミングのげんざい
ストリーミングのげんざいストリーミングのげんざい
ストリーミングのげんざいTetsuya Morimoto
 
シンラ・テクノロジー第2回クラウドゲーム開発者会議
シンラ・テクノロジー第2回クラウドゲーム開発者会議シンラ・テクノロジー第2回クラウドゲーム開発者会議
シンラ・テクノロジー第2回クラウドゲーム開発者会議Shinra_Technologies
 
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?Yuya Yamaki
 
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sampleWebRTC SFU mediasoup sample
WebRTC SFU mediasoup samplemganeko
 
季節のMicrosoft Teams APIの基礎、OBS Studioでの配信ソースを添えて
季節のMicrosoft Teams APIの基礎、OBS Studioでの配信ソースを添えて季節のMicrosoft Teams APIの基礎、OBS Studioでの配信ソースを添えて
季節のMicrosoft Teams APIの基礎、OBS Studioでの配信ソースを添えてAkira Hatsune
 
より高品質なメディアサービスを目指す ABEMA の技術進化
より高品質なメディアサービスを目指す ABEMA の技術進化より高品質なメディアサービスを目指す ABEMA の技術進化
より高品質なメディアサービスを目指す ABEMA の技術進化Yusuke Goto
 
ライブストリーミング
ライブストリーミングライブストリーミング
ライブストリーミングYusei Yamanaka
 
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~UnityTechnologiesJapan002
 
Adobe Primetime:プレミアム動画配信事業者のための「次世代TV」収益最大化ソリューション(サブスクリプション&動画広告)
Adobe Primetime:プレミアム動画配信事業者のための「次世代TV」収益最大化ソリューション(サブスクリプション&動画広告)Adobe Primetime:プレミアム動画配信事業者のための「次世代TV」収益最大化ソリューション(サブスクリプション&動画広告)
Adobe Primetime:プレミアム動画配信事業者のための「次世代TV」収益最大化ソリューション(サブスクリプション&動画広告)Teiichi Ota
 
災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)
災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)
災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)OSgeo Japan
 
Hbbtv v2-for-w3 ckeio-workshop
Hbbtv v2-for-w3 ckeio-workshopHbbtv v2-for-w3 ckeio-workshop
Hbbtv v2-for-w3 ckeio-workshopYoshiharu Dewa
 
解説 Windows 10 May 2020 Update
解説 Windows 10 May 2020 Update解説 Windows 10 May 2020 Update
解説 Windows 10 May 2020 UpdateTomokazu Kizawa
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けモノビット エンジン
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けモノビット エンジン
 
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)NTT DATA OSS Professional Services
 
お手軽動画ストリーミング
お手軽動画ストリーミングお手軽動画ストリーミング
お手軽動画ストリーミングYuki Okura
 

Similar to サーバレスな配信システムを作る ( MediaLive + MediaStore + CloudFront ) (20)

デジタルコンテンツの安定配信とコスト削減の両立を実現したシステム刷新
デジタルコンテンツの安定配信とコスト削減の両立を実現したシステム刷新デジタルコンテンツの安定配信とコスト削減の両立を実現したシステム刷新
デジタルコンテンツの安定配信とコスト削減の両立を実現したシステム刷新
 
Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。
 
ストリーミングのげんざい
ストリーミングのげんざいストリーミングのげんざい
ストリーミングのげんざい
 
シンラ・テクノロジー第2回クラウドゲーム開発者会議
シンラ・テクノロジー第2回クラウドゲーム開発者会議シンラ・テクノロジー第2回クラウドゲーム開発者会議
シンラ・テクノロジー第2回クラウドゲーム開発者会議
 
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
 
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sampleWebRTC SFU mediasoup sample
WebRTC SFU mediasoup sample
 
季節のMicrosoft Teams APIの基礎、OBS Studioでの配信ソースを添えて
季節のMicrosoft Teams APIの基礎、OBS Studioでの配信ソースを添えて季節のMicrosoft Teams APIの基礎、OBS Studioでの配信ソースを添えて
季節のMicrosoft Teams APIの基礎、OBS Studioでの配信ソースを添えて
 
より高品質なメディアサービスを目指す ABEMA の技術進化
より高品質なメディアサービスを目指す ABEMA の技術進化より高品質なメディアサービスを目指す ABEMA の技術進化
より高品質なメディアサービスを目指す ABEMA の技術進化
 
NetPresenter Pro | ネットプレゼンター プロ by zetta linx inc.
NetPresenter Pro | ネットプレゼンター プロ by zetta linx inc.NetPresenter Pro | ネットプレゼンター プロ by zetta linx inc.
NetPresenter Pro | ネットプレゼンター プロ by zetta linx inc.
 
ライブストリーミング
ライブストリーミングライブストリーミング
ライブストリーミング
 
第3回「マイクロソフトの仮想化と、クラウドの今後」(2011/06/16 on しすなま!) ②IBM資料
第3回「マイクロソフトの仮想化と、クラウドの今後」(2011/06/16 on しすなま!) ②IBM資料第3回「マイクロソフトの仮想化と、クラウドの今後」(2011/06/16 on しすなま!) ②IBM資料
第3回「マイクロソフトの仮想化と、クラウドの今後」(2011/06/16 on しすなま!) ②IBM資料
 
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
 
Adobe Primetime:プレミアム動画配信事業者のための「次世代TV」収益最大化ソリューション(サブスクリプション&動画広告)
Adobe Primetime:プレミアム動画配信事業者のための「次世代TV」収益最大化ソリューション(サブスクリプション&動画広告)Adobe Primetime:プレミアム動画配信事業者のための「次世代TV」収益最大化ソリューション(サブスクリプション&動画広告)
Adobe Primetime:プレミアム動画配信事業者のための「次世代TV」収益最大化ソリューション(サブスクリプション&動画広告)
 
災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)
災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)
災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)
 
Hbbtv v2-for-w3 ckeio-workshop
Hbbtv v2-for-w3 ckeio-workshopHbbtv v2-for-w3 ckeio-workshop
Hbbtv v2-for-w3 ckeio-workshop
 
解説 Windows 10 May 2020 Update
解説 Windows 10 May 2020 Update解説 Windows 10 May 2020 Update
解説 Windows 10 May 2020 Update
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
 
お手軽動画ストリーミング
お手軽動画ストリーミングお手軽動画ストリーミング
お手軽動画ストリーミング
 

Recently uploaded

Windows Defenderのフル・クイック・カスタム・オフラインスキャンを実行する方法.docx
Windows Defenderのフル・クイック・カスタム・オフラインスキャンを実行する方法.docxWindows Defenderのフル・クイック・カスタム・オフラインスキャンを実行する方法.docx
Windows Defenderのフル・クイック・カスタム・オフラインスキャンを実行する方法.docxivanwang53
 
ダウンロードがダウンロード(Downloads)フォルダに表示されない」問題の対処法
ダウンロードがダウンロード(Downloads)フォルダに表示されない」問題の対処法ダウンロードがダウンロード(Downloads)フォルダに表示されない」問題の対処法
ダウンロードがダウンロード(Downloads)フォルダに表示されない」問題の対処法ivanwang53
 
Windows 10、Windows 11の付箋を簡単に復元する6つの方法|データ復元
Windows 10、Windows 11の付箋を簡単に復元する6つの方法|データ復元Windows 10、Windows 11の付箋を簡単に復元する6つの方法|データ復元
Windows 10、Windows 11の付箋を簡単に復元する6つの方法|データ復元ivanwang53
 
Windowsアップデート後の黒い画面を修正する方法|データ復元|ブラックスクリーン
Windowsアップデート後の黒い画面を修正する方法|データ復元|ブラックスクリーンWindowsアップデート後の黒い画面を修正する方法|データ復元|ブラックスクリーン
Windowsアップデート後の黒い画面を修正する方法|データ復元|ブラックスクリーンivanwang53
 
あらゆる通信環境で切れない「ネットモーション」のモバイルアクセス [NetMotion]
あらゆる通信環境で切れない「ネットモーション」のモバイルアクセス [NetMotion]あらゆる通信環境で切れない「ネットモーション」のモバイルアクセス [NetMotion]
あらゆる通信環境で切れない「ネットモーション」のモバイルアクセス [NetMotion]Taka Narita
 
動的 & 非同期コンポーネント / Dynamic & Async Components
動的 & 非同期コンポーネント / Dynamic & Async Components動的 & 非同期コンポーネント / Dynamic & Async Components
動的 & 非同期コンポーネント / Dynamic & Async Componentsokitamasashi
 

Recently uploaded (6)

Windows Defenderのフル・クイック・カスタム・オフラインスキャンを実行する方法.docx
Windows Defenderのフル・クイック・カスタム・オフラインスキャンを実行する方法.docxWindows Defenderのフル・クイック・カスタム・オフラインスキャンを実行する方法.docx
Windows Defenderのフル・クイック・カスタム・オフラインスキャンを実行する方法.docx
 
ダウンロードがダウンロード(Downloads)フォルダに表示されない」問題の対処法
ダウンロードがダウンロード(Downloads)フォルダに表示されない」問題の対処法ダウンロードがダウンロード(Downloads)フォルダに表示されない」問題の対処法
ダウンロードがダウンロード(Downloads)フォルダに表示されない」問題の対処法
 
Windows 10、Windows 11の付箋を簡単に復元する6つの方法|データ復元
Windows 10、Windows 11の付箋を簡単に復元する6つの方法|データ復元Windows 10、Windows 11の付箋を簡単に復元する6つの方法|データ復元
Windows 10、Windows 11の付箋を簡単に復元する6つの方法|データ復元
 
Windowsアップデート後の黒い画面を修正する方法|データ復元|ブラックスクリーン
Windowsアップデート後の黒い画面を修正する方法|データ復元|ブラックスクリーンWindowsアップデート後の黒い画面を修正する方法|データ復元|ブラックスクリーン
Windowsアップデート後の黒い画面を修正する方法|データ復元|ブラックスクリーン
 
あらゆる通信環境で切れない「ネットモーション」のモバイルアクセス [NetMotion]
あらゆる通信環境で切れない「ネットモーション」のモバイルアクセス [NetMotion]あらゆる通信環境で切れない「ネットモーション」のモバイルアクセス [NetMotion]
あらゆる通信環境で切れない「ネットモーション」のモバイルアクセス [NetMotion]
 
動的 & 非同期コンポーネント / Dynamic & Async Components
動的 & 非同期コンポーネント / Dynamic & Async Components動的 & 非同期コンポーネント / Dynamic & Async Components
動的 & 非同期コンポーネント / Dynamic & Async Components
 

サーバレスな配信システムを作る ( MediaLive + MediaStore + CloudFront )