Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ミラティブとWebRTC - WebRTC framework の中身を覗いてみよう / We...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
naru-jpn
July 29, 2021
Programming
2.3k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ミラティブとWebRTC - WebRTC framework の中身を覗いてみよう / WebRTC framework AudioUnit Processing
WebRTC framework の中身がわからなくて近付くのが怖かったけど、少しだけわかりあえた話
naru-jpn
July 29, 2021
More Decks by naru-jpn
See All by naru-jpn
配信アプリのためのリアルタイムプッシュ通知ぼかしの夢
narujpn
3
1.2k
PiPを応用した配信コメントバー機能の開発秘話と技術の詳解 / pip_streaming_comment_bar
narujpn
3
4.9k
Updating an App to Use Swift Concurrency 解説
narujpn
2
400
PiP で実現するミラティブの配信コメントバー / pip-streaming-comment-bar
narujpn
0
1.4k
App Extension のスタックトレース情報からクラッシュを解析/集計する / Analyzing app extension's stack trace
narujpn
3
1.8k
CoreML3のオンデバイストレーニングでつくる母音推定
narujpn
0
500
AltConfと周辺の歩き方
narujpn
0
2.1k
エンジニア経験を活かしたスクラムマスターとして 開発チームとプロダクトを成長させる
narujpn
1
450
GASで作るファネル分析ツール
narujpn
1
210
Other Decks in Programming
See All in Programming
プロポーザルを書いてもらう
pvcresin
0
290
torikago - Ruby::Boxで照らすモジュラモノリスの実行境界
se4weed
1
350
FDEが実現するAI駆動経営の現在地
gonta
2
270
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
370
言葉の格闘技のススメ~紙とペンと言葉から始める、キャリアの描き方~
progresscicada
2
140
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
210
生成AIで帳票OCRが「簡単に」作れる時代になった?
kon_shou
0
650
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
590
Cloudflare is Agents
chimame
0
150
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
670
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
300
5分で問診!Composer セキュリティ健康診断
codmoninc
0
910
Featured
See All Featured
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.2k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
200
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
370
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
160
Joys of Absence: A Defence of Solitary Play
codingconduct
1
430
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.7k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
990
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.1k
Transcript
ϛϥςΟϒͱWebRTC WebRTC framework ͷதΛ͍ͯΈΑ͏ Naruki Chigira @_naru_jpn / Lib arXiv
/ ໌ϫΫνϯ2ճ
WebRTC framework
https://webrtc.org
WebRTC ϛϥςΟϒͷͲ͜ͰΘΕ͍ͯΔͷ͔
ίϥϘ௨ ৴ऀ ࢹௌऀ ࢹௌऀͱձΛ͠ͳ͕Β৴͕Ͱ͖ΔΑ
ίϥϘ৴ ৴ऀ A ৴ऀ B ৴ऀಉ࢜ͰձΛ͠ͳ͕Β৴͕Ͱ͖ΔΑ
NEW! ίϥϘϚονϯά ৴ऀ A ৴ऀ B ಉ͡ήʔϜͰ৴͍ͯ͠Δਓಉ࢜ͰϚονϯά͢ΔʢҰ෦ެ։
։ൃ͢ΔதͰͪΐͬͱࠔͬͨ͜ͱ͕͋ͬͨ
৴ऀ ࢹௌऀ WebRTC ͷଓ࣌ʹΞϓϦ͕όοΫάϥϯυঢ়ଶʹ͋ΔͱɺԻͷೖग़ྗ͕Ͱ͖ͳ͘ͳͬͯ͠·͏ ϛϥςΟϒΞϓϦ όοΫάϥϯυͰ ىಈத
όοΫάϥϯυͰଓػঢ়ଶΛ Ωϟϯηϧ͢ΔͳͲͯ͠ɺ੍ޚͰ͖ͨ
ػೳ্੍ޚͰ͖͍ͯΔ͚Ͳɺ Ͳ͏ͯͦ͠͏ͳ͍ͬͯΔͷ͔ཧղͰ͖͍ͯͳ͍ͷͰ৮Δͷ͕ා͍!
WebRTC framework ͷதΛ͍ͯΈΑ͏!
https://webrtc.googlesource.com/src/
https://webrtc.googlesource.com/src/
https://webrtc.googlesource.com/src/+/refs/heads/main
Իͷ੍ޚΛ͍ͯ͠Δͱ͜ΖΛ͍ͯΈΑ͏!
https://webrtc.googlesource.com/src/+/refs/heads/main/sdk/objc/ This directory contains the Obj-C SDK for WebRTC. This
includes wrappers for the C++ PeerConnection API and some platform speci fi c components for iOS and macOS.
https://webrtc.googlesource.com/src/+/refs/heads/main/sdk/objc/native/src/audio/ .mm ͍ͬͯ͏ͷ Objective-C++ Λද֦͢ுࢠͩΑ
https://webrtc.googlesource.com/src/+/refs/heads/main/sdk/objc/native/src/audio/voice_processing_audio_unit.mm AudioOutputUnitStart ΛݺͿͱԻͷೖग़ྗॲཧ͕͡·ΔΑ voice_processing_audio_unit.mm
https://developer.apple.com/documentation/audiotoolbox/1439763-audiooutputunitstart AudioOutputUnitStart ΛݺͿͱԻͷೖग़ྗॲཧ͕͡·ΔΑ
AudioOutputUnitStart ͷৼΔ͍ΛௐͯΈΑ͏
https://stackover fl ow.com/questions/61312360/auaudiounit-cant-play-audio-in-the-background-error-code-561145187
https://developer.apple.com/documentation/avfaudio/avaudiosession/errorcode/cannotstartrecording
AudioOutputUnitStart ͕όοΫάϥϯυͰࣦഊ͢ ΔͷɺOSͷ༷తʹͦ͏ͳ͍ͬͯΔΒ͍͠!
AudioOutputUnitStart ͕͍ͭݺΕ͍ͯΔͷ͔֬ೝ͓ͯ͜͠͏
https://webrtc.googlesource.com/src/+/refs/heads/main/audio/audio_state.cc WebRTC ͷଓཱ͕֬ͨ͠ޙʹ AddReceivingStream ͕ݺΕɺ StartPlayout ͷதͰ AudioOutputUnitStart ͕ݺΕΔ
ΞϓϦ͕όοΫάϥϯυঢ়ଶͩͱɺԻͷೖग़ྗॲ ཧͷ։࢝ʹࣦഊͯ͠͠·͏͜ͱ͕ཧղͰ͖ͨ!
·ͱΊ όοΫάϥϯυͰԻͷΓͱΓ͕Ͱ͖ͳ͘ͳΔݱ͕ɺί ʔυϨϕϧͰཧղͰ͖ΔΑ͏ʹͳͬͨ ɾݪҼ͕Θ͔ͬͯɺͳͥͳͷ͔Λઆ໌Ͱ͖ΔΑ͏ʹͳͬͨ ɾWebRTC framework ͱগ͚ͩ͠ྑ͘ͳΕͨ
͋Γ͕ͱ͏͍͟͝·ͨ͠! WE ARE HIRING! ੵۃ࠾༻தͩΑ!