14
Secret Talk ををををををを WebRTC Meetup Tokyo #1 LT をををををををををを をををををを

Secret talk with WebRTC and WebAudio

  • Upload
    mganeko

  • View
    494

  • Download
    2

Embed Size (px)

DESCRIPTION

WebRTC Meetup Tokyo #1 のLTで発表した資料です。 http://atnd.org/events/49151 顔検出、WebAudio APIによる音声加工などもやっています。

Citation preview

Page 1: Secret talk with WebRTC and WebAudio

Secret Talk をつくってみたWebRTC Meetup Tokyo #1 LT

インフォコム株式会社がねこまさし

Page 2: Secret talk with WebRTC and WebAudio

Secret Talk?

• プライバシー保護を考慮したビデオチャット– 顔を隠したい– むしろ、顔以外を隠したい• ※ 社内でデモしたときの要望。在宅勤務を想定

• ということで、社内 Hackathon でつくりました

DEMO

Page 3: Secret talk with WebRTC and WebAudio

マウスで領域指定

領域を相手に伝え

て相手側で合

WebSocket 経由

領域反転領域と反転状態を相手に伝える

WebSocket 経由

Page 4: Secret talk with WebRTC and WebAudio

マスクの描画• Canvas を使うのが格好良さそう– <video> タグの上に、 <canvas> タグを重ねる– なぜか、 <canvas> タグで上手くマウスイベン

トが撮れなかった…– やり方が悪いのかもしれないが、調べず諦め

Page 5: Secret talk with WebRTC and WebAudio

マスクの描画• div を使うのが簡単さそう– <video> タグの上に、 <div> タグを重ねる– マウスイベントは、 <video> タグで処理する

<video> タグ

<div> タグ

Page 6: Secret talk with WebRTC and WebAudio

顔以外をマスクするには?• <div>×4 ? めんどくさい… .

Page 7: Secret talk with WebRTC and WebAudio

border を個別に指定• <div>×1

border-left border-left

border-top

border-bottom

Page 8: Secret talk with WebRTC and WebAudio

顔の位置を自動で検出したい

DEMO

http://www.smartjava.org/content/face-detection-using-html5-javascript-webrtc-websockets-jetty-and-javacvopencv

この辺を参考にして ccv.js, face.js を利用

Page 9: Secret talk with WebRTC and WebAudio

顔の輪郭を自動検出

<video>

<canvas>

1. drawImage

2. ccv.detect_objects()

3. Set mask area

Page 10: Secret talk with WebRTC and WebAudio

声も変えたい• 「音声は加工してあります」をやりたい

Page 12: Secret talk with WebRTC and WebAudio

WebAudio API & WebRTCWebAudioAPI

FFT ScriptProcessor

PeerConnectionMediaStream

MediaStream MediaStream

リモートへ

Page 13: Secret talk with WebRTC and WebAudio

WebRTC をどんな風に使うかは、

みなさんのアイデア次第です!

13

Page 14: Secret talk with WebRTC and WebAudio

Thank you!

14

END