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
890
PiPを応用した配信コメントバー機能の開発秘話と技術の詳解 / pip_streaming_comment_bar
narujpn
3
4.1k
Updating an App to Use Swift Concurrency 解説
narujpn
2
340
PiP で実現するミラティブの配信コメントバー / pip-streaming-comment-bar
narujpn
0
1.2k
App Extension のスタックトレース情報からクラッシュを解析/集計する / Analyzing app extension's stack trace
narujpn
3
1.5k
CoreML3のオンデバイストレーニングでつくる母音推定
narujpn
0
440
AltConfと周辺の歩き方
narujpn
0
2k
エンジニア経験を活かしたスクラムマスターとして 開発チームとプロダクトを成長させる
narujpn
1
410
GASで作るファネル分析ツール
narujpn
1
180
Other Decks in Programming
See All in Programming
Elixir で IoT 開発、 Nerves なら簡単にできる!?
pojiro
1
150
生成AIコーディングとの向き合い方、AIと共創するという考え方 / How to deal with generative AI coding and the concept of co-creating with AI
seike460
PRO
1
330
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
17
4.9k
XSLTで作るBrainfuck処理系
makki_d
0
210
20250628_非エンジニアがバイブコーディングしてみた
ponponmikankan
0
340
ReadMoreTextView
fornewid
1
460
プロダクト志向なエンジニアがもう一歩先の価値を目指すために意識したこと
nealle
0
110
Blazing Fast UI Development with Compose Hot Reload (droidcon New York 2025)
zsmb
1
190
F#で自在につくる静的ブログサイト - 関数型まつり2025
pizzacat83
0
310
Railsアプリケーションと パフォーマンスチューニング ー 秒間5万リクエストの モバイルオーダーシステムを支える事例 ー Rubyセミナー 大阪
falcon8823
4
910
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
1
660
#kanrk08 / 公開版 PicoRubyとマイコンでの自作トレーニング計測装置を用いたワークアウトの理想と現実
bash0c7
1
290
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
124
52k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
For a Future-Friendly Web
brad_frost
179
9.8k
Raft: Consensus for Rubyists
vanstee
140
7k
The Cult of Friendly URLs
andyhume
79
6.5k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.8k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
RailsConf 2023
tenderlove
30
1.1k
Agile that works and the tools we love
rasmusluckow
329
21k
What's in a price? How to price your products and services
michaelherold
246
12k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
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! ੵۃ࠾༻தͩΑ!