SlideShare a Scribd company logo
2
Most read
6
Most read
8
Most read
WebRTCのオーディオ処理の謎、
誰か教えて!
WebRTC Meetup Tokyo #2 LT
インフォコム株式会社
がねこまさし
WebRTCを使った片方向配信
• WebRTCを使って、社内イベント映像の配信を実施
– インフォコム非公認 放送部の活動
– 年初社長挨拶、デモ大会、プレゼン大会、表彰式など
• 普通のPCから配信すると、20~30接続ぐらいでCPUが
振り切れる
– 解像度を落としたり、フレームレートを落とせばもう少し可能
– でも、数百とかは無理!
WebRTC多段中継
• 多段に中継すれば、もっと大勢に配信できるのでは?
– 30×30で900人! 力技で解決!
WebRTC多段中継の内側
PeerConnection
MediaStream
PeerConnectionMediaStream
配信元
PeerConnection
PeerConnectionMediaStream
中間層
視聴者
WebRTC多段中継の内側
PeerConnection
MediaStream
PeerConnectionMediaStream
配信元
PeerConnection
PeerConnectionMediaStream
中間層
視聴者
音が出ない!!
映像は出る
謎 1
• WebRTCで、リモートストリームをさらにリモートに流すと、最終段
で音が出ない
• どうして??? 誰か教えて!!
• ちなみに、Chrome 34 です
• MediaStreamをそのまま渡さずに複製した場合 → 文法エラー
にはならないが、再生時に not found 404 となってしまう
talkerStream = new webkitMediaStream([
stream.getAudioTracks()[0],
stream.getVideoTracks()[0]
]);
// pass here, but not found 404 while playing
WebRTC多段中継の使いどころ
配信元
n人の視聴者
視聴者はそれぞれ
1本のダウンストリーム
配信元はn本の
アップストリーム
上り方向の回線
トラフィックが
パンクする
WebRTC多段中継の使いどころ
配信元
n人の視聴者
視聴者はそれぞれ
1本のダウンストリーム
配信元も1本の
アップストリーム
中間サーバー WebRTCのブラウザベース
あるいは
MCU (メディアサーバー)
Dialogic XMSなど。
どうせならTURNと一体
になったサーバーがあ
ると嬉しいかも
5/31のtwitterにて
• Chrome WebRTC M35 Release Notes.
– Issue 294145:- Decoupled MediaStream from MediaStreamTrack. Earlier
MediaStreamTrack belonged to exactly one MediaStream now it can
belong to zero to many MediaStreams. Also, the clone() method for
MediaStream and MediaStreamTrack has been added.
Chrome 35 で解決??
Chrome 35 の場合
PeerConnection
MediaStream
PeerConnectionMediaStream
配信元
PeerConnection
PeerConnectionMediaStream
中間層
視聴者
音が出ない!!
映像もでない!
Chrome 35 の場合
PeerConnection
MediaStream
PeerConnectionMediaStream
配信元
PeerConnection
PeerConnectionMediaStream
中間層
視聴者
音が出ない!!
映像もでない!
PeerConnection.addStream(stream)でエラー
Failed to execute 'addStream' on 'RTCPeerConnection':
Unable to add the provided stream.
そのままでも、MediaStream.clone()でも、
MediaStreamTrack.clone()でも
残念….
さて、次の話題
前回のLT (Secret-Talk)
WebAudio API & WebRTC
WebAudioAPI
FFT
ScriptProcessor
PeerConnectionMediaStream
MediaStream MediaStream
リモートへ
ローカルのMediaStreamからは
変換可能
WebAudio API & WebRTC
WebAudio API
audioSource
PeerConnection MediaStream
リモートから
remoteSound =
audioContext.createMediaStreamSource(stream);
WebAudio API
destination
audioContext.destination.connect(remoteSound);
音が出ない!!
謎 2
• WebRTCのgetUserMedia()で取得したローカルストリームの音は、
WebAudio API と相互変換可能
• ところが、PeerConnection越しに受け取ったリモートストリームは、
WebAudio API 用に変換しても、音がでない
• どうして??? 誰か教えて!!
• ちなみに、Chrome 34 です (Chrome 35 未確認)
WebRTCは、映像系よりも
音声系がややこしいかも
みんなで情報共有しましょう
Thank you!

More Related Content

PDF
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
真乙 九龍
 
PDF
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
日本マイクロソフト株式会社
 
PDF
JVMパラメータチューニングにおけるOptunaの活用事例 ( Optuna Meetup #1 )
Hironobu Isoda
 
PDF
DockerCon EU 2015: Day 1 General Session
Docker, Inc.
 
PDF
ネットワークOS野郎 ~ インフラ野郎Night 20160414
Kentaro Ebisawa
 
PDF
"SRv6の現状と展望" ENOG53@上越
Kentaro Ebisawa
 
PPTX
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
SEGADevTech
 
PDF
ドメイン駆動設計入門
Takuya Kitamura
 
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
真乙 九龍
 
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
日本マイクロソフト株式会社
 
JVMパラメータチューニングにおけるOptunaの活用事例 ( Optuna Meetup #1 )
Hironobu Isoda
 
DockerCon EU 2015: Day 1 General Session
Docker, Inc.
 
ネットワークOS野郎 ~ インフラ野郎Night 20160414
Kentaro Ebisawa
 
"SRv6の現状と展望" ENOG53@上越
Kentaro Ebisawa
 
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
SEGADevTech
 
ドメイン駆動設計入門
Takuya Kitamura
 

What's hot (20)

PPTX
Addressables で大量のリソース管理・困りどころと解消法
Kenta Nagai
 
PPTX
Git入門
小川 昌吾
 
PDF
Unreal Engine 4.27 ノンゲーム向け新機能まとめ
エピック・ゲームズ・ジャパン Epic Games Japan
 
PDF
SpectreとMeltdown:最近のCPUの深い話
LINE Corporation
 
PDF
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
VirtualTech Japan Inc.
 
PDF
【Unity】より良い表現のためのライティング戦略
Takayasu Beharu
 
PDF
自宅vSphereからニフクラに引っ越ししてみた
富士通クラウドテクノロジーズ株式会社
 
PDF
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
VirtualTech Japan Inc.
 
PDF
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
NTT Communications Technology Development
 
PDF
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
Preferred Networks
 
PDF
OAuth 2.0のResource Serverの作り方
Hitachi, Ltd. OSS Solution Center.
 
PDF
PHPでWebSocketを実装してみてわかったこと
ksimoji
 
PDF
Dockerのディスクについて ~ファイルシステム・マウント方法など~
HommasSlide
 
PPTX
Laravel×DevOps -インフラ構築の自動化から運用ログの監視まで-
Shinichiro Yoshida
 
PDF
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
Developers Summit
 
PDF
webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話
Yuhei Miyazato
 
PDF
Rails解説セミナー: Rails国際化 (I18n) API
Yohei Yasukawa
 
PDF
低スペックPCでも動く!UE4の設定&歩き方
ka-s
 
PDF
ML2/OVN アーキテクチャ概観
Yamato Tanaka
 
Addressables で大量のリソース管理・困りどころと解消法
Kenta Nagai
 
Git入門
小川 昌吾
 
Unreal Engine 4.27 ノンゲーム向け新機能まとめ
エピック・ゲームズ・ジャパン Epic Games Japan
 
SpectreとMeltdown:最近のCPUの深い話
LINE Corporation
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
VirtualTech Japan Inc.
 
【Unity】より良い表現のためのライティング戦略
Takayasu Beharu
 
自宅vSphereからニフクラに引っ越ししてみた
富士通クラウドテクノロジーズ株式会社
 
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
VirtualTech Japan Inc.
 
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
NTT Communications Technology Development
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
Preferred Networks
 
OAuth 2.0のResource Serverの作り方
Hitachi, Ltd. OSS Solution Center.
 
PHPでWebSocketを実装してみてわかったこと
ksimoji
 
Dockerのディスクについて ~ファイルシステム・マウント方法など~
HommasSlide
 
Laravel×DevOps -インフラ構築の自動化から運用ログの監視まで-
Shinichiro Yoshida
 
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
Developers Summit
 
webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話
Yuhei Miyazato
 
Rails解説セミナー: Rails国際化 (I18n) API
Yohei Yasukawa
 
低スペックPCでも動く!UE4の設定&歩き方
ka-s
 
ML2/OVN アーキテクチャ概観
Yamato Tanaka
 
Ad

Similar to WebRTCのオーディオ処理の謎、誰か教えて! (8)

PPTX
PeerConnectionリレーとMediaRecorder
mganeko
 
PPTX
WebRTC multitrack / multistream
mganeko
 
PDF
WebRTC multistream
mganeko
 
PPTX
Vuzix Developer Conference
Keiji Ariyama
 
PDF
5分でわかるWebRTCの仕組み - html5minutes vol.01
西畑 一馬
 
PDF
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
Yusuke Naka
 
PPTX
iPhoneでなんちゃってWebRTC
Kensaku Komatsu
 
PDF
WebRTCの技術解説 第二版 公開版 完全版
Contest Ntt-west
 
PeerConnectionリレーとMediaRecorder
mganeko
 
WebRTC multitrack / multistream
mganeko
 
WebRTC multistream
mganeko
 
Vuzix Developer Conference
Keiji Ariyama
 
5分でわかるWebRTCの仕組み - html5minutes vol.01
西畑 一馬
 
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
Yusuke Naka
 
iPhoneでなんちゃってWebRTC
Kensaku Komatsu
 
WebRTCの技術解説 第二版 公開版 完全版
Contest Ntt-west
 
Ad

More from mganeko (20)

PDF
Google Meet でもバーチャル背景を使いたい (WebRTC Meetup Online)
mganeko
 
PPTX
Amazon Kinesis Video Streams WebRTC 使ってみた
mganeko
 
PPTX
Build Node.js-WASM/WASI Tiny compiler with Node.js
mganeko
 
PPTX
Node.jsでつくるNode.js ミニインタープリター&コンパイラー
mganeko
 
PPTX
Node.js x Headless Chrome for WeRTC MCU / Node.js x Chrome headless で、お手軽WebR...
mganeko
 
PPTX
Skywayのビデオチャットを録画しよう。そう、ブラウザでね
mganeko
 
PPTX
WebRTC mediasoup on raspberrypi3
mganeko
 
PPTX
WebRTC SFU Mediasoup Sample update
mganeko
 
PPTX
ブラウザでWebRTC - iOSゲートウェイ作ってみた
mganeko
 
PPTX
WebRTC SFU mediasoup sample
mganeko
 
PDF
Inside of 聖徳玉子 by O2
mganeko
 
PDF
Node.js with WebRTC DataChannel
mganeko
 
PPTX
WebRTC Build MCU on browser
mganeko
 
PPTX
ここがつらいよWebRTC - WebRTC開発の落とし穴
mganeko
 
PPTX
Webrtc bootcamp handson
mganeko
 
PDF
WebRTC UserMedia Catalog: いろんなユーザメディア(MediaStream)を使ってみよう
mganeko
 
PPTX
Inside WebM
mganeko
 
PPTX
MediaRecorder と WebM で、オレオレ Live Streaming
mganeko
 
PPTX
Chromebook 「だけ」で WebRTCを動かそう
mganeko
 
PPTX
Infocom webrtc conference japan
mganeko
 
Google Meet でもバーチャル背景を使いたい (WebRTC Meetup Online)
mganeko
 
Amazon Kinesis Video Streams WebRTC 使ってみた
mganeko
 
Build Node.js-WASM/WASI Tiny compiler with Node.js
mganeko
 
Node.jsでつくるNode.js ミニインタープリター&コンパイラー
mganeko
 
Node.js x Headless Chrome for WeRTC MCU / Node.js x Chrome headless で、お手軽WebR...
mganeko
 
Skywayのビデオチャットを録画しよう。そう、ブラウザでね
mganeko
 
WebRTC mediasoup on raspberrypi3
mganeko
 
WebRTC SFU Mediasoup Sample update
mganeko
 
ブラウザでWebRTC - iOSゲートウェイ作ってみた
mganeko
 
WebRTC SFU mediasoup sample
mganeko
 
Inside of 聖徳玉子 by O2
mganeko
 
Node.js with WebRTC DataChannel
mganeko
 
WebRTC Build MCU on browser
mganeko
 
ここがつらいよWebRTC - WebRTC開発の落とし穴
mganeko
 
Webrtc bootcamp handson
mganeko
 
WebRTC UserMedia Catalog: いろんなユーザメディア(MediaStream)を使ってみよう
mganeko
 
Inside WebM
mganeko
 
MediaRecorder と WebM で、オレオレ Live Streaming
mganeko
 
Chromebook 「だけ」で WebRTCを動かそう
mganeko
 
Infocom webrtc conference japan
mganeko
 

Recently uploaded (11)

PDF
20250729_Devin-for-Enterprise
Masaki Yamakawa
 
PDF
MahiroYoshida_セリフに着目したキャラクタロール推定に関する基礎検討_sigcc12th2025
Matsushita Laboratory
 
PDF
TaketoFujikawa_ComicComputing12th_inKumamoto
Matsushita Laboratory
 
PDF
20250726_Devinで変えるエンプラシステム開発の未来
Masaki Yamakawa
 
PPTX
2025_7_25_吉祥寺_設計ナイト_ADR運用におけるデータ利活用の考え方.pptx
ssuserfcafd1
 
PPTX
baserCMS『カスタムコンテンツ』徹底活用術〜あなただけの管理画面を自由自在に〜
Ryuji Egashira
 
PDF
LoRaWAN ウェザーステーションキット v3 -WSC3-L 日本語ユーザーマニュアル
CRI Japan, Inc.
 
PDF
【学会聴講報告】CVPR2025からみるVision最先端トレンド / CVPR2025 report
Sony - Neural Network Libraries
 
PDF
20250730_QiitaBash_LT登壇資料_PDC_Kurashina.pdf
pdckurashina
 
PDF
VMUG Japan book vsan 20250515 CPU/Memory vSAN
Kazuhiro Sota
 
PDF
第三世代 ウェザーステーションキット v3 ー WSC3-L 日本語カタログ
CRI Japan, Inc.
 
20250729_Devin-for-Enterprise
Masaki Yamakawa
 
MahiroYoshida_セリフに着目したキャラクタロール推定に関する基礎検討_sigcc12th2025
Matsushita Laboratory
 
TaketoFujikawa_ComicComputing12th_inKumamoto
Matsushita Laboratory
 
20250726_Devinで変えるエンプラシステム開発の未来
Masaki Yamakawa
 
2025_7_25_吉祥寺_設計ナイト_ADR運用におけるデータ利活用の考え方.pptx
ssuserfcafd1
 
baserCMS『カスタムコンテンツ』徹底活用術〜あなただけの管理画面を自由自在に〜
Ryuji Egashira
 
LoRaWAN ウェザーステーションキット v3 -WSC3-L 日本語ユーザーマニュアル
CRI Japan, Inc.
 
【学会聴講報告】CVPR2025からみるVision最先端トレンド / CVPR2025 report
Sony - Neural Network Libraries
 
20250730_QiitaBash_LT登壇資料_PDC_Kurashina.pdf
pdckurashina
 
VMUG Japan book vsan 20250515 CPU/Memory vSAN
Kazuhiro Sota
 
第三世代 ウェザーステーションキット v3 ー WSC3-L 日本語カタログ
CRI Japan, Inc.
 

WebRTCのオーディオ処理の謎、誰か教えて!