Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
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
770
PiPを応用した配信コメントバー機能の開発秘話と技術の詳解 / pip_streaming_comment_bar
narujpn
3
3.6k
Updating an App to Use Swift Concurrency 解説
narujpn
2
250
PiP で実現するミラティブの配信コメントバー / pip-streaming-comment-bar
narujpn
0
990
App Extension のスタックトレース情報からクラッシュを解析/集計する / Analyzing app extension's stack trace
narujpn
3
1.3k
CoreML3のオンデバイストレーニングでつくる母音推定
narujpn
0
390
AltConfと周辺の歩き方
narujpn
0
1.9k
エンジニア経験を活かしたスクラムマスターとして 開発チームとプロダクトを成長させる
narujpn
1
370
GASで作るファネル分析ツール
narujpn
1
160
Other Decks in Programming
See All in Programming
CSC509 Lecture 13
javiergs
PRO
0
120
Missing parts when designing and implementing Android UI
ericksli
0
360
[Do iOS '24] Ship your app on a Friday...and enjoy your weekend!
polpielladev
0
200
Modular Monolith Monorepo ~シンプルさを保ちながらmonorepoのメリットを最大化する~
yuisakamoto
10
3.6k
macOS なしで iOS アプリを開発する(※ただし xxx に限る)
mitsuharu
1
140
「天気予報があなたに届けられるまで」 - NIFTY Tech Talk #22
niftycorp
PRO
0
130
.NET 9アプリをCGIとして レンタルサーバーで動かす
mayuki
0
710
MoQとか勉強会#2 発表資料
yuki_uchida
1
110
競技プログラミングで 基礎体力を身につけよう / You can get basic skills through competitive programming
mdstoy
0
130
Djangoの開発環境で工夫したこと - pre-commit / DevContainer
hiroki_yod
1
520
Enabling DevOps and Team Topologies Through Architecture: Architecting for Fast Flow
cer
PRO
0
400
layerx_20241129.pdf
kyoheig3
1
170
Featured
See All Featured
Designing for humans not robots
tammielis
250
25k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Practical Orchestrator
shlominoach
186
10k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Rails Girls Zürich Keynote
gr2m
94
13k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
Statistics for Hackers
jakevdp
796
220k
The Invisible Side of Design
smashingmag
298
50k
Code Reviewing Like a Champion
maltzj
520
39k
Code Review Best Practice
trishagee
64
17k
GraphQLとの向き合い方2022年版
quramy
44
13k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.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! ੵۃ࠾༻தͩΑ!