ラズパイでWebRTC
ヾ(*´∀`*)ノキャッキャ
uv4l-webrtc 軽くハックしてみたよ!
第59回HTML5とか勉強会
NTTコミュニケーションズ
こまつけんさく
My profile
• Name :=>
• 小松健作 (@komasshu)
• Company :=>
• NTT Communications
• Position :=>
• Webアプリケーションエバンジェリスト
• かえるさん(かっぱはピンと来なかったのでw
• Activities :=>
• WebRTC CPaaS SkyWayの中の人
• Google Developer Expert (HTML5)
妄想
ラズパイのWebRTC事情
• uv4l
• extension: uv4l-webrtc
http://www.linux-projects.org/modules/sections/index.php?op=viewarticle&artid=14
How to install
$ curl http://www.linux-projects.org/listing/uv4l_repo/lrkey.asc | sudo apt-key add -
以下を /etc/apt/sources.list に追加
deb http://www.linux-projects.org/listing/uv4l_repo/raspbian/ wheezy main
$ sudo apt-get update
$ sudo apt-get install uv4l uv4l-raspicam
$ sudo apt-get install uv4l-raspicam-extras
$ sudo raspi-config <- “Enable camera”をON
$ sudo apt-get install uv4l-server
$ sudo apt-get install uv4l-uvc
$ sudo apt-get install uv4l-xscreen
$ sudo apt-get install uv4l-mjpegstream
$ sudo apt-get install uv4l-webrtc
$ sudo service uv4l_raspicam restart
https://www.raspberrypi.org/products/camera-module/
WebRTCがインプリされた
uv4l-serverが起動
http://<ラズパイのIPアドレス>:8080/stream/webrtc
MISC
• config file
• /etc/uv4l/uv4l-raspicam.conf
• shared library
• /usr/lib/uv4l/libwebrtc.so
• // 多分ChromeのWebRTCスタック
• なんかあったら
$ sudo service uv4l_raspicam restart
uv4l-serverのオプション
• man uv4l-server
• --port (=8080)
• --webrtc-stun-urls (=stun:stun.l.google.com:19302,stun:stun.ekiga.net)
• --xmpp-server arg
• ……
たぶん、こんな感じ
(source code見れてないけど(><))
uv4l-server
WebSocket
server
(signalling)
WebRTC
stack
(libwebrtc.so)
192.168.x.y:8080
問題点
• localからしかアクセスできない
• たぶん、XMPP server経由ならOKだけど・・・
• すぐ止まる
• CPU 100% はりついて、熱暴走 → チーン
• VP8のencode処理によるペナルティ(たぶん)
お外からでも使いたい!
(しかもSkyWayで)
• SkyWayのシグナリングプロトコルに変換するプロ
トコルゲートウェイを作ってみた
uv4l-server
Signalling
Protocol
Gateway Signalling
わーい ヾ(*´∀`*)ノキャッキャ
止まらないように
$ cat /sys/class/thermal/thermal_zone0/temp
41160
Thank you!!
@komasshu
ヾ(*´∀`*)ノキャッキャ
もうちょっとちゃんとやったら、github公開します

ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ uv4l-webrtc 軽くハックしてみたよ!