tnoho
WebRTC Native
( (
• ) ( (
• @
• : T
•
WebRTC Client
WebRTC
• NAT P2P
•
WebRTC
WebRTC Native Client
WebRTC
WebRTC Native Client (WebRTC NaCl)
• libwebrtc
• Google WebRTC Client
• Chrome (Chromium)
• C++
• Apple Objective-C, Android Java
WebRTC Native Client
• Windows, macOS, Linux, iOS, Android x86, arm OK
•
•
•
WebRTC
WebRTC SDK, webrtc-skyway-gateway …
•
• iOS/Android
• Swift WebRTC
• https://qiita.com/tnoho/items/3b94371e59fe8ad6ce03
• WebRTC NaCl ( C++)
• WebRTC Native Client Momo
• pyrtcconductor
• ( )
• Shiguredo Momo
• tnoho C++
WebRTC Native Client Momo
• RaspberryPi WebRTC Client ( )
• HTTP
• P2P
• HTTP
• WebRTC SFU Sora
•
Momo
• Raspberry Pi Zero
• Raspberry Pi <= 1 arm v6 libwebrtc
• https://github.com/shiguredo/momo/tree/develop/patch (*_armv6.patch)
• Raspberry Pi
• https://github.com/shiguredo/momo/tree/develop/hwenc_il
• HDMI
• MPEG2-TS
•
• Momo
pyrtcconductor
• WebRTC NaCl Python wapper ( )
• setup.py libwebrtc
• libwebrtc
• Python
• OpenCV
• OpenCV
• Tensorflow
• DataChannel
( )
•
•
Shiguredo Momo (tnoho )
• WebRTC Native Client Momo (GitHub )
• https://github.com/shiguredo/momo
• HTTP
• P2P
• WebSocket
• WebRTC SFU Sora
•
Shiguredo Momo
• tnoho( ) 4
• OSS (APL 2.0), Boost
• (@melponn)
•
•
• Linux (x86, arm) macOS Windows
• ROS
•
• macOS, Raspberry Pi
Shiguredo Momo
• WebRTC
→
• Sora
→ Chrome
•
→ OSS
• WebRTC OSS
WebRTC NaCl
Web
WebRTC NaCl
• NaCl
• https://webrtc.googlesource.com/src/+/master/examples
examples
• Android
• Apple (obj*)
• C++ (peerconnection)
• Unity plugin?
•
• Shiguredo Momo
WebRTC NaCl
• Mac Windows
Android iOS
Linux
CreatePeerConnectionFactory
• WebRTC NaCl
• NaCl
• CreatePeerConnectionFactory
• api/create_peerconnection_factory.h
Shiguredo Momo
• https://github.com/shiguredo/momo/blob/develop/src/rtc/manager.cpp
OS
In/Out
/
OSX
HWA /
RaspberryPi
HWA ( )
/
NaCl
VideoCapture
• cricket::VideoCapturer
• https://github.com/shiguredo/momo/blob/develop/src/ros/ros_video_captur
e.h
• OnFrame
• Factory CreateVideoSource
VideoTrackSourceInterface
• https://github.com/shiguredo/momo/blob/develop/src/rtc/manager.cpp
Thread
• Momo CreatePeerConnectionFactory
Thread null
• webrtc.org https://webrtc.org/native-code/native-apis/
Stream API PeerConnection API
API
• https://github.com/shiguredo/momo/blob/develop/src/rtc/manager.cpp
• API
EOF

WebRTC と Native とそれから、それから。