66
Web RTC & Web Audio 2012. 6. @erucipe 최 승 준

Web rtc+webaudio

Embed Size (px)

Citation preview

Page 1: Web rtc+webaudio

Web RTC & Web Audio

2012. 6. @erucipe 최 승 준

Page 2: Web rtc+webaudio
Page 3: Web rtc+webaudio
Page 4: Web rtc+webaudio
Page 5: Web rtc+webaudio

The mission of the Audio Working Group, part of the Rich Web Client Activity, is to define a client-side script API adding more advanced audio capabilities than are currently offered by audio elements. The API will support the features required by advanced interactive applications including the ability to process and synthesize audio streams directly in script. The HTML5 specification introduces the <audio> and <video> media elements, including an API to play back prerecorded audio and video files and to get limited information about the media, such as duration. The Audio Working Group will build upon and expand that basic functionality.

Page 6: Web rtc+webaudio

background

Page 7: Web rtc+webaudio

2010 2011 2012

W3C Audio Incubator Group

12 May 2010 ~ 28 March 2012

http://www.w3.org/2005/Incubator/audio

Mozilla Audio Data API

14 May 2010 ~

https://wiki.mozilla.org/Audio_Data_API

Mozilla Firefox 4

22 March 2011

2010-08-26 nightly builds @humphd

Google Chrome 14

16 September 2011

2011-01-31 nightly builds

[email protected] [email protected]

May 2010 ~ December 2011 March 2011 ~

http://lists.w3.org/Archives/Public/public-xg-audio http://lists.w3.org/Archives/Public/public-audio

( Chromium ) Web Audio API

W3C Web Audio API

1 June 2010 ~ 18 July 2011 18 July 2011 ~

http://chromium.googlecode.com/svn/ trunk/samples/audio/index.html

http://www.w3.org/TR/webaudio

W3C Audio Working Group

25 March 2011 ~

http://www.w3.org/2011/audio

MIDI Device Communication API

MediaStream Processing API

[email protected]

Page 8: Web rtc+webaudio
Page 9: Web rtc+webaudio
Page 10: Web rtc+webaudio

detail

Page 11: Web rtc+webaudio

WebGL Camp 3, June 2011 http://www.youtube.com/watch?feature=player_detailpage&v=6YYFsmjCKX4#t=873s

Page 12: Web rtc+webaudio
Page 13: Web rtc+webaudio

var context = new AudioContext(); var playSound = function { var source = context.createBufferSource(); source.buffer = dogBarkingBuffer; source.connect(context.destination); source.noteOn(0); };

Page 14: Web rtc+webaudio

demo

Page 15: Web rtc+webaudio
Page 16: Web rtc+webaudio

use cases http://www.w3.org/2011/audio/wiki/Use_Cases_and_Requirements

Page 17: Web rtc+webaudio
Page 18: Web rtc+webaudio

UC 1 Video Chat

UC 2 HTML5 game with audio effects, music

UC 3 Online music production tool

UC 4 Online radio broadcast

UC 5 writing music on the web

UC 6 wavetable synthesis of a virtual music instrument

UC 7 Audio / Music Visualization

UC 8 UI/DOM Sounds

UC 9 Language learning

UC10 Podcast on a flight

UC11 DJ music at 125 BPM

UC12 Soundtrack and sound effects in a video editing tool

UC13 Web-based guitar practice service

UC14 User Control of Audio

UC15 Video commentary

Page 19: Web rtc+webaudio
Page 20: Web rtc+webaudio

so what ?

Page 21: Web rtc+webaudio

위 이미지는 Web Audio와 직접적인 관련이 없음

Page 22: Web rtc+webaudio

MIDI Device Communication API The MIDI API specification defines a means for web developers to enumerate, manipulate and access MIDI devices. Having an API for MIDI gives a means to make various applications using existing software and hardware synths, as well as light systems and other mechanical apparatus controlled by MIDI, along with a method of communication with existing DAW (Digital Audio Workstation), trackers and other music software on the user's computer.

https://dvcs.w3.org/hg/audio/raw-file/tip/midi/specification.html

Page 23: Web rtc+webaudio

위 이미지는 Web Audio와 직접적인 관련이 없음

Page 24: Web rtc+webaudio

advanced interactive app MIDI

Web RTC

Page 25: Web rtc+webaudio

MediaStream Processing API W3C Working Group Note 31 May 2012

Page 26: Web rtc+webaudio
Page 27: Web rtc+webaudio
Page 28: Web rtc+webaudio
Page 29: Web rtc+webaudio

background

Page 30: Web rtc+webaudio
Page 31: Web rtc+webaudio
Page 32: Web rtc+webaudio
Page 33: Web rtc+webaudio
Page 34: Web rtc+webaudio

The mission of the Web Real-Time Communications Working Group, part of the Ubiquitous Web Applications Activity, is to define client-side APIs to enable Real-Time Communications in Web browsers.These APIs should enable building applications that can be run inside a browser, requiring no extra downloads or plugins, that allow communication between parties using audio, video and supplementary real-time communication, without having to use intervening servers (unless needed for firewall traversal, or for providing intermediary services).

Page 35: Web rtc+webaudio
Page 36: Web rtc+webaudio
Page 37: Web rtc+webaudio

茫茫大海

Page 38: Web rtc+webaudio
Page 39: Web rtc+webaudio
Page 40: Web rtc+webaudio
Page 41: Web rtc+webaudio

focus

Page 42: Web rtc+webaudio

media capture API a.k.a

getUserMedia

Page 43: Web rtc+webaudio
Page 44: Web rtc+webaudio
Page 45: Web rtc+webaudio

implementations

Page 46: Web rtc+webaudio

ericsson opera google mozilla

Page 47: Web rtc+webaudio
Page 48: Web rtc+webaudio
Page 49: Web rtc+webaudio
Page 50: Web rtc+webaudio
Page 51: Web rtc+webaudio
Page 52: Web rtc+webaudio
Page 53: Web rtc+webaudio

Demos Here are a couple of demo sites. Most of them were sent to us via the discuss-webrtc list. Please remember that the same disclaimer as above applies: Justin Uberti (Chrome-webrtc team member) has sent in a App Engine based 1:1 video calling app.http://apprtc.appspot.com/ source code: http://code.google.com/p/webrtc-samples/source/browse/trunk/apprtc/ Justin Uberti (Chrome-webrtc team member) has sent in a App Engine based face detection apphttp://apprtc.appspot.com/html/face.html Paul Neave sent in a great video effects app. http://neave.com/webcam/html5/ Greg Miernicki was officially the first to send in a demo: http://miernicki.com/cam.html Eric Bidelman sent in an additional photo effects demos: http://html5-demos.appspot.com/static/getusermedia/photobooth.html And another let's have fun with WebGL sent in by Jérome Étienne: http://webglmeeting.appspot.com An HTML5 SIP client http://www.sipml5.org/call.htm If you find another demo app, please send it to [email protected] / the discuss list or our Google+ Page. We will try to put it up!

Page 54: Web rtc+webaudio
Page 55: Web rtc+webaudio
Page 56: Web rtc+webaudio
Page 57: Web rtc+webaudio

demo

Page 58: Web rtc+webaudio

if (navigator.webkitGetUserMedia) { var video = document.createElement('video'); var gotStream = function(stream) { video.src = webkitURL.createObjectURL(stream); video.onerror = function () { stream.stop(); console.log('camera error'); }; }; var noStream = function() { console.log('no camera available'); }; navigator.webkitGetUserMedia('video', gotStream, noStream); document.body.appendChild(video); video.autoplay = true; } else { console.log('no native camera support available'); }

Page 59: Web rtc+webaudio

P2P

Page 60: Web rtc+webaudio

AR http://www.html5rocks.com/en/tutorials/webgl/jsartoolkit_webrtc

http://www.html5rocks.com/en/tutorials/webgl/jsartoolkit_webrtc/AR_mediaStream_three.html

Page 61: Web rtc+webaudio
Page 62: Web rtc+webaudio

Let’s Put It All Together?

Page 63: Web rtc+webaudio

security issues https://wiki.mozilla.org/Security/Discussions/WebRTC

Page 64: Web rtc+webaudio

conclusion

Page 65: Web rtc+webaudio
Page 66: Web rtc+webaudio

Web RTC & Web Audio

2012. 6. @erucipe 최 승 준