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
naru-jpn
July 29, 2021
Programming
1
2.2k
ミラティブとWebRTC - WebRTC framework の中身を覗いてみよう / WebRTC framework AudioUnit Processing
WebRTC framework の中身がわからなくて近付くのが怖かったけど、少しだけわかりあえた話
naru-jpn
July 29, 2021
Tweet
Share
More Decks by naru-jpn
See All by naru-jpn
配信アプリのためのリアルタイムプッシュ通知ぼかしの夢
narujpn
3
940
PiPを応用した配信コメントバー機能の開発秘話と技術の詳解 / pip_streaming_comment_bar
narujpn
3
4.3k
Updating an App to Use Swift Concurrency 解説
narujpn
2
350
PiP で実現するミラティブの配信コメントバー / pip-streaming-comment-bar
narujpn
0
1.2k
App Extension のスタックトレース情報からクラッシュを解析/集計する / Analyzing app extension's stack trace
narujpn
3
1.6k
CoreML3のオンデバイストレーニングでつくる母音推定
narujpn
0
450
AltConfと周辺の歩き方
narujpn
0
2k
エンジニア経験を活かしたスクラムマスターとして 開発チームとプロダクトを成長させる
narujpn
1
420
GASで作るファネル分析ツール
narujpn
1
180
Other Decks in Programming
See All in Programming
Railsだからできる 例外業務に禍根を残さない 設定設計パターン
ei_ei_eiichi
0
360
猫と暮らすネットワークカメラ生活🐈 ~Vision frameworkでペットを愛でよう~ / iOSDC Japan 2025
yutailang0119
0
220
デミカツ切り抜きで面倒くさいことはPythonにやらせよう
aokswork3
0
210
Building, Deploying, and Monitoring Ruby Web Applications with Falcon (Kaigi on Rails 2025)
ioquatix
1
580
CSC305 Lecture 01
javiergs
PRO
1
400
SpecKitでどこまでできる? コストはどれくらい?
leveragestech
0
590
monorepo の Go テストをはやくした〜い!~最小の依存解決への道のり~ / faster-testing-of-monorepos
convto
2
420
ポスターセッション: 「まっすぐ行って、右!」って言ってラズパイカーを動かしたい 〜生成AI × Raspberry Pi Pico × Gradioの試作メモ〜
komofr
0
1k
Go言語の特性を活かした公式MCP SDKの設計
hond0413
1
200
Django Ninja による API 開発効率化とリプレースの実践
kashewnuts
0
1k
Advance Your Career with Open Source
ivargrimstad
0
370
Reduxモダナイズ 〜コードのモダン化を通して、将来のライブラリ移行に備える〜
pvcresin
2
690
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Code Review Best Practice
trishagee
72
19k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
45
2.5k
Embracing the Ebb and Flow
colly
88
4.8k
Raft: Consensus for Rubyists
vanstee
139
7.1k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
How STYLIGHT went responsive
nonsquared
100
5.8k
Why Our Code Smells
bkeepers
PRO
339
57k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
Facilitating Awesome Meetings
lara
56
6.6k
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! ੵۃ࠾༻தͩΑ!