SlideShare a Scribd company logo
1 of 28
Download to read offline
SFUのクラウドサービスAnzuで
WebRTC
Live Streaming
a-baba
自己紹介
ばば あつし
仕事
インフォコム西日本
社内でWebRTCで配信等 PG作成や調査
プライベート
趣味は旅行・音楽鑑賞・ガジェット等
すみません WebRTCの技術的話
はしません。
ノウハウ的な技術の話になります。
きっかけ
コウチノコト。
地域の有志(ボランティア)による情報発信
• 地元サッカーチームの選手紹介
• 地元エンターティナーお笑い・アーティスト等
• 地方ならではの情報(南海トラフ地震の防災)
私は相談を受けて技術サポートとして参加
メンバー紹介
WebRTCでone2many配信
• 社内ではKurentoとか使ってました。
実績20名程度
映像はそれなり
それ以上人数増えるとCPUが辛い
ブロックノイズ気になる
同時最大100人配信する
× P2P 1対nでは配信側の帯域が辛い
△ MCU 中継するサーバのCPUが辛い
◎ SFU サーバCPU負荷が低い
自前でSFUサーバ立ち上げるのも大変なので
時雨堂さんのSFU Anzuを使わせてもらうこ
とにしました。
MCU
サーバ側
で映像
音声を
合成
SFU
P2P
MCU
SFU
映像
decode
映像は
そのまま
映像
encode
映像は
そのまま
通信量大
クライアントの
負荷も大
なぜ?HLSやMpeg-Dashじゃないの
遅延はイヤ 個人的趣味
今時、どうせならWebRTCじゃない?
配信プラットフォームに依存しないので
色々カスタマイズ楽そう
Anzu
WebRTC SFU as a Service Anzu
SFUで 映像や音声を WebRTC でリアルタイムに
配信できるサービスです。
GitHubアカウントでサインアップして
anzu-js-sdkを使えば簡単に配信ができます。
※SFU (Selective Forwarding Unit)
https://anzu.shiguredo.jp/
Anzu-js-sdkを使用
• 基本的な配信部分は数行なので超速で実装完了
Browser⇔SFUのsignalingの部分も勝手にやってくれます。
<配信側>
var channelId = "xxxxxxx";
var upstreamToken = "xxxxxxxxxxxxxxxx";
var anzuUpstream = new Anzu("upstream");
anzuUpstream.start(channelId, upstreamToken, {
video:{'optional': [{'minHeight': 720}, {'minWidth': 1280}]},audio:
true
}).then(function(params) {
var videoElement = document.getElementById("local-video");
videoElement.src = window.URL.createObjectURL(params.stream);
videoElement.play();
})
.catch(function(error) {
});
Anzu-js-sdkを使用
<視聴側>
var channelId = " xxxxxxx";
var downstreamToken = "";
var anzuDownstream = new Anzu("downstream");
anzuDownstream.start(channelId, downstreamToken)
.then(function(params) {
var videoElement = document.getElementById("remote-video");
videoElement.src =
window.URL.createObjectURL(params.stream);
videoElement.play();
})
.catch(function(error) {
});
あ iOSどうする?
• iOSはアプリ化しないと無理
しかたなくYoutubeも同時配信
あと同時視聴100人超えの保険
WebRTCでの配信準備は完了
視聴機能と
簡単なテキストチャット
機能を実装
iOSはYoutubeのリンク
メディアに報道される
前日のトラブル
• Herokuの制限
Free dyno無料枠では6時間/1日はSleep必要
丁度、配信時間前にSleep状態となってしまった
あわてて課金
デモ動画 その1
リハ無しでいきなり11時間連続の
Anzu&Youtubeの同時配信を実施
Anzu1度も落ちない。めちゃくちゃ安定してる
フレームレートも問題なし
初回、実際配信してみて
良かったこと
• 配信が簡単
• 中規模の配信なら十分
• 高画質
• 遅延が少ない為、音声のモニタリングが楽
(Youtube等だと30~40秒遅延)
注意点
• カメラの設置場所、カメラワーク等
なるべくお客さんを写さない工夫が必要
• ダンスとかで使用する楽曲はたいてい
著作権にかかる(ContentsIDによる自動検知)
その後、必要だった機能
ゲスト紹介等で
• 画像の表示(告知・宣伝のFlyer表示)
• テロップ出し
配信ブース
デモ動画 その2(テロ出し)
最終的な構成HW
Audio I/F
UVC-HDMI
Webカメラ
スタンドマイク
ビデオカメラ
スマホ
Mac
ミキサー
最終的な構成SW
CamTwist(VirtucalCam/ VideoSwitcher)
WireCast
(RTMP endpoint)
HiromeCast
(WebRTC upstream)
Youtube Live
Admin Console
今回使用したツールの紹介
Software
• CamTwist
• Wirecast (Youtube用)
Hardware
• Audio Interface
BEHRINGER U-PHORIA UMC204HD
• HDMI-UVC Capture
Febon168・・・ちょっと遅延有り
• Sony HandyCam (屋外用)
• WebCam Logitec C920r (室内用)
今後
• 通知機能はやっぱり欲しい(SW/WebPush)
(告知が直前でゲリラ的に配信している為)
• VP9対応
• アーカイブ機能
• Firebase Hostingに移行したい
• 360度ライブやVR映像配信に期待
Thank you
End

More Related Content

Viewers also liked (14)

Salsa mutiarani
Salsa mutiaraniSalsa mutiarani
Salsa mutiarani
 
Untitled Presentation
Untitled PresentationUntitled Presentation
Untitled Presentation
 
Tugasan 1 (b) Hari Kantin
Tugasan 1 (b) Hari KantinTugasan 1 (b) Hari Kantin
Tugasan 1 (b) Hari Kantin
 
Financial Regulation
Financial Regulation Financial Regulation
Financial Regulation
 
De-ZZP-Maatschappij-KIZO-ECHTZZP
De-ZZP-Maatschappij-KIZO-ECHTZZPDe-ZZP-Maatschappij-KIZO-ECHTZZP
De-ZZP-Maatschappij-KIZO-ECHTZZP
 
KOWSHIKAA CONSULTANCY OVERSEAS
KOWSHIKAA CONSULTANCY OVERSEAS KOWSHIKAA CONSULTANCY OVERSEAS
KOWSHIKAA CONSULTANCY OVERSEAS
 
VEHICLES SOSTENIBLES
VEHICLES SOSTENIBLESVEHICLES SOSTENIBLES
VEHICLES SOSTENIBLES
 
Bus rental paris
Bus rental parisBus rental paris
Bus rental paris
 
Typography analysis
Typography analysisTypography analysis
Typography analysis
 
Leksion 12 -_gjetja_e_parave_per_biznesin_tuaj
Leksion 12 -_gjetja_e_parave_per_biznesin_tuajLeksion 12 -_gjetja_e_parave_per_biznesin_tuaj
Leksion 12 -_gjetja_e_parave_per_biznesin_tuaj
 
Evaluation 3
Evaluation 3Evaluation 3
Evaluation 3
 
Democracy by Abdul Majid
Democracy by Abdul Majid Democracy by Abdul Majid
Democracy by Abdul Majid
 
Como elaborar un texto
Como elaborar un textoComo elaborar un texto
Como elaborar un texto
 
Business Portfolio
Business PortfolioBusiness Portfolio
Business Portfolio
 

Recently uploaded

Recently uploaded (12)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 

Sfuのクラウドサービスanzuで web rtc_live streaming