小松 健作

リアルタイムにライブ映像をマンガ化「マンガテレビ」アーキテクチャ編


Web


WebWebHTML5 Experts.jp

ChromeWeb Speech API

スクリーンショット 2013-08-23 1.13.22


スクリーンショット 2013-08-23 11.26.03
スクリーンショット 2013-08-23 11.26.21
slideshare(9)

Web



スクリーンショット 2013-08-23 1.17.29
Web35

スクリーンショット 2013-08-23 1.18.43
Web Web Speech API 使

スクリーンショット 2013-08-23 1.20.24
調

#faceON

WebSpeech API

スクリーンショット 2013-08-23 1.21.45
 HTML5Experts.jp 4


稿4


WebRTC  HTML5 canvas 

WebSpeech API 

headtrackr.js 

WebSocket 

getUserMediaHTML5 canvas







(一)WebRTC  getUserMedia() 

(二)HTML5 canvasgetImageData() 

(三)

(四)requestAnimationFrame() 

WebRTC  getUserMedia() 


WebRTCgetUserMedia()使(Chrome webkit 

$v_ = $("video");

// videosrcURL navigator.webkitGetUserMedia({video: true, audio: false}, function(stream){  var url = window.webkitURL.createObjectURL(stream);  $v_[0].src = url;  $v_[0].play(); });

audiofalsestreamstreamURLvideosrc createObjectURL()video play()

HTML5 canvasgetImageData() 


canvasgetImageData()

var canvas = $("canvas")[0]  , ctx_ = canvas.getContext('2d');

// canvas ctx_.drawImage($("video")[0], 0, 0)

// canvas var imgData = ctx_.getImageData(0, 0, 640, 480)





(一)3調


スクリーンショット 2013-08-23 1.27.21

(一)調


スクリーンショット 2013-08-23 1.26.57
調

canvas

// canvas ctx_.putImageData(toon, 0, 0)

requestAnimationFrame() 


16msec60fps()

// doToon() setInterval(doToon, 16);

setInterval()doToon()16msecrequestAnimationFrame() doToon 

requestAnimationFrame(doToon)

WebSpeech API 


使

Chrome  WebSpeech API WebSpeech APIW3CAPI

start()

var rec = new webkitSpeechRecognition();

rec.continuous = true; //  rec.interimResults = true; //  rec.lang = 'ja-JP'; // 

rec.start(); // 

result SpeechRecognitionEvent

rec.onresult = function(ev) {  for(var i = ev.resultIndex, l = ev.results.length; i < l; i++) {  if(ev.results[i].isFinal) {  //   var res = ev.results[i][0].transcript; //   } else {  //   var res = ev.results[i][0].transcript; //   }  } }





// 15 if(res.length > 15) {  rec.stop();  rec.start(); }

15

https

headtrackr.js 




JavaScript  face.js  headtrackr.js 

headtrackr.jsface.js Mac Book Pro 30fps(frame per second : 1 

Tracker canvasstart()

var tracker = new headtrackr.Tracker({ui: false}); // uifalse tracker.init($("video")[0], $("canvas")[0]); // canvas tracker.start(); // 

facetrackingEvent facetrackingEvent

document.addEventListener("facetrackingEvent", function(ev){  // ev.x, ev.y ->   // ev.width, ev.height ->  }, false);


WebSocket 


WebSocketHTML5WebSocket使socket.ioWebSocket HTTP

socket.iosubscriberZapper ()

Zapperconnect()zap subscribe()count

//  var zapper = new Zapper({  serverUrl: 'http://somewhere' });

zapper.connect(function() {  var event = zapper.event();

event.subscribe('zap', function(zap){  // zap.count   }); });


Web使HTML5 

稿

週間PVランキング

新着記事

Powered byNTT Communications

tag list

アクセシビリティ イベント エンタープライズ デザイン ハイブリッド パフォーマンス ブラウザ プログラミング マークアップ モバイル 海外 高速化 Angular2 AngularJS Chrome Cordova CSS de:code ECMAScript Edge Firefox Google Google I/O 2014 HTML5 Conference 2013 html5j IoT JavaScript Microsoft Node.js Polymer Progressive Web Apps React Safari SkyWay TypeScript UI UX W3C W3C仕様 Webアプリ Web Components WebGL WebRTC WebSocket WebVR