SlideShare une entreprise Scribd logo
1  sur  66
Télécharger pour lire hors ligne
Web RTC & Web Audio


                 2012. 6.
                 @erucipe
                  최승준
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.
background
2010                                                              2011                                                          2012

       W3C Audio                                                        W3C Audio
    Incubator Group                                                    Working Group
   12 May 2010 ~ 28 March 2012                                               25 March 2011 ~

  http://www.w3.org/2005/Incubator/audio                                 http://www.w3.org/2011/audio
                                                                                                                          crogers@google.com



                                                  ( Chromium )                                    W3C
                                                                                                                                                   MIDI Device
                                                  Web Audio API                               Web Audio API                                     Communication API
                                                  1 June 2010 ~ 18 July 2011                            18 July 2011 ~                              MediaStream
        Mozilla                                                                                                                                     Processing API
                                                http://chromium.googlecode.com/svn/
     Audio Data API                                trunk/samples/audio/index.html
                                                                                              http://www.w3.org/TR/webaudio



             14 May 2010 ~
                                                             Mozilla                          Google
   https://wiki.mozilla.org/Audio_Data_API
                                                            Firefox 4                        Chrome 14
                                                            22 March 2011                     16 September 2011

@humphd                                                 2010-08-26 nightly builds            2011-01-31 nightly builds




              public-xg-audio@w3.org                                                                        public-audio@w3.org

                       May 2010 ~ December 2011                                                                            March 2011 ~

                 http://lists.w3.org/Archives/Public/public-xg-audio                                         http://lists.w3.org/Archives/Public/public-audio
detail
WebGL Camp 3, June 2011
http://www.youtube.com/watch?feature=player_detailpage&v=6YYFsmjCKX4#t=873s
var context = new AudioContext();
var playSound = function {
   var source = context.createBufferSource();
   source.buffer = dogBarkingBuffer;
   source.connect(context.destination);
   source.noteOn(0);
};
demo
use cases
http://www.w3.org/2011/audio/wiki/Use_Cases_and_Requirements
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
so what ?
위 이미지는 Web Audio와 직접적인 관련이 없음
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
위 이미지는 Web Audio와 직접적인 관련이 없음
advanced interactive app
         MIDI
       Web RTC
MediaStream Processing API
     W3C Working Group Note 31 May 2012
background
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).
茫茫大海
focus
media capture API
      a.k.a
 getUserMedia
implementations
ericsson
 opera
google
mozilla
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 sergel@webrtc.org /
the discuss list or our Google+ Page. We will try to put it up!
demo
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');
}
P2P
AR
            http://www.html5rocks.com/en/tutorials/webgl/jsartoolkit_webrtc
http://www.html5rocks.com/en/tutorials/webgl/jsartoolkit_webrtc/AR_mediaStream_three.html
Let’s Put It All Together?
security issues
   https://wiki.mozilla.org/Security/Discussions/WebRTC
conclusion
Web RTC & Web Audio


                 2012. 6.
                 @erucipe
                  최승준

Contenu connexe

Similaire à Web rtc+webaudio

Industry trend of HTML5 in 2012 (2012년 HTML5 총정리)
Industry trend of HTML5 in 2012 (2012년 HTML5 총정리)Industry trend of HTML5 in 2012 (2012년 HTML5 총정리)
Industry trend of HTML5 in 2012 (2012년 HTML5 총정리)Wonsuk Lee
 
Web Technology and Standards Tutorial
Web Technology and Standards Tutorial Web Technology and Standards Tutorial
Web Technology and Standards Tutorial Jonathan Jeon
 
Pestablogger2010+mozilla
Pestablogger2010+mozillaPestablogger2010+mozilla
Pestablogger2010+mozillaGen Kanai
 
3iGlobal Pvt. Ltd. - Presentation on Web 2.0 Technologies
3iGlobal Pvt. Ltd. - Presentation on Web 2.0 Technologies3iGlobal Pvt. Ltd. - Presentation on Web 2.0 Technologies
3iGlobal Pvt. Ltd. - Presentation on Web 2.0 TechnologiesAnvith K.S.
 
3iGlobal Pvt. Ltd. - Presentation on Web 2.0 Technologies
3iGlobal Pvt. Ltd. - Presentation on Web 2.0 Technologies3iGlobal Pvt. Ltd. - Presentation on Web 2.0 Technologies
3iGlobal Pvt. Ltd. - Presentation on Web 2.0 TechnologiesAnvith K.S.
 
第11回 HTML5とか勉強会 gyuque
第11回 HTML5とか勉強会 gyuque第11回 HTML5とか勉強会 gyuque
第11回 HTML5とか勉強会 gyuquegyuque
 
HTML5 and the Open Web Platform
HTML5 and the Open Web PlatformHTML5 and the Open Web Platform
HTML5 and the Open Web PlatformBeat Signer
 
Enabling accessible multimedia for Moodle: iMoot 2010
Enabling accessible multimedia for Moodle: iMoot 2010Enabling accessible multimedia for Moodle: iMoot 2010
Enabling accessible multimedia for Moodle: iMoot 2010Nick Freear
 
Web Browser Accessibility using Open-Source Software
Web Browser Accessibility using Open-Source SoftwareWeb Browser Accessibility using Open-Source Software
Web Browser Accessibility using Open-Source Softwarezeljkoobrenovic
 
Designing and Executing Multimodal Interfaces for the Web based on State Char...
Designing and Executing Multimodal Interfaces for the Web based on State Char...Designing and Executing Multimodal Interfaces for the Web based on State Char...
Designing and Executing Multimodal Interfaces for the Web based on State Char...Sebastian Feuerstack
 
Introduction to (web) APIs - definitions, examples, concepts and trends
Introduction to (web) APIs - definitions, examples, concepts and trendsIntroduction to (web) APIs - definitions, examples, concepts and trends
Introduction to (web) APIs - definitions, examples, concepts and trendsOlaf Janssen
 
eClassrooms Come of Age?
eClassrooms Come of Age?eClassrooms Come of Age?
eClassrooms Come of Age?Alan Wimberley
 
Mobile Apps NYC Presentation
Mobile Apps NYC PresentationMobile Apps NYC Presentation
Mobile Apps NYC PresentationAviary
 
Introduction To Open Web Protocols
Introduction To Open Web ProtocolsIntroduction To Open Web Protocols
Introduction To Open Web ProtocolsMohan Krishnan
 
LoCloud Annual Publishable Summary 2014-15
LoCloud Annual Publishable Summary 2014-15LoCloud Annual Publishable Summary 2014-15
LoCloud Annual Publishable Summary 2014-15locloud
 

Similaire à Web rtc+webaudio (20)

Industry trend of HTML5 in 2012 (2012년 HTML5 총정리)
Industry trend of HTML5 in 2012 (2012년 HTML5 총정리)Industry trend of HTML5 in 2012 (2012년 HTML5 총정리)
Industry trend of HTML5 in 2012 (2012년 HTML5 총정리)
 
Web Technology and Standards Tutorial
Web Technology and Standards Tutorial Web Technology and Standards Tutorial
Web Technology and Standards Tutorial
 
WebRTC - a History Lesson
WebRTC - a History LessonWebRTC - a History Lesson
WebRTC - a History Lesson
 
Pestablogger2010+mozilla
Pestablogger2010+mozillaPestablogger2010+mozilla
Pestablogger2010+mozilla
 
3iGlobal Pvt. Ltd. - Presentation on Web 2.0 Technologies
3iGlobal Pvt. Ltd. - Presentation on Web 2.0 Technologies3iGlobal Pvt. Ltd. - Presentation on Web 2.0 Technologies
3iGlobal Pvt. Ltd. - Presentation on Web 2.0 Technologies
 
3iGlobal Pvt. Ltd. - Presentation on Web 2.0 Technologies
3iGlobal Pvt. Ltd. - Presentation on Web 2.0 Technologies3iGlobal Pvt. Ltd. - Presentation on Web 2.0 Technologies
3iGlobal Pvt. Ltd. - Presentation on Web 2.0 Technologies
 
第11回 HTML5とか勉強会 gyuque
第11回 HTML5とか勉強会 gyuque第11回 HTML5とか勉強会 gyuque
第11回 HTML5とか勉強会 gyuque
 
Sirio Orione and Pan
Sirio Orione and PanSirio Orione and Pan
Sirio Orione and Pan
 
HTML5 and the Open Web Platform
HTML5 and the Open Web PlatformHTML5 and the Open Web Platform
HTML5 and the Open Web Platform
 
A ROA for the WOT
A ROA for the WOTA ROA for the WOT
A ROA for the WOT
 
Enabling accessible multimedia for Moodle: iMoot 2010
Enabling accessible multimedia for Moodle: iMoot 2010Enabling accessible multimedia for Moodle: iMoot 2010
Enabling accessible multimedia for Moodle: iMoot 2010
 
Web Browser Accessibility using Open-Source Software
Web Browser Accessibility using Open-Source SoftwareWeb Browser Accessibility using Open-Source Software
Web Browser Accessibility using Open-Source Software
 
Designing and Executing Multimodal Interfaces for the Web based on State Char...
Designing and Executing Multimodal Interfaces for the Web based on State Char...Designing and Executing Multimodal Interfaces for the Web based on State Char...
Designing and Executing Multimodal Interfaces for the Web based on State Char...
 
Introduction to (web) APIs - definitions, examples, concepts and trends
Introduction to (web) APIs - definitions, examples, concepts and trendsIntroduction to (web) APIs - definitions, examples, concepts and trends
Introduction to (web) APIs - definitions, examples, concepts and trends
 
eClassrooms Come of Age?
eClassrooms Come of Age?eClassrooms Come of Age?
eClassrooms Come of Age?
 
Mobile Apps NYC Presentation
Mobile Apps NYC PresentationMobile Apps NYC Presentation
Mobile Apps NYC Presentation
 
20100831 igelu mobilise_ugent
20100831 igelu mobilise_ugent20100831 igelu mobilise_ugent
20100831 igelu mobilise_ugent
 
Future of web_apps
Future of web_appsFuture of web_apps
Future of web_apps
 
Introduction To Open Web Protocols
Introduction To Open Web ProtocolsIntroduction To Open Web Protocols
Introduction To Open Web Protocols
 
LoCloud Annual Publishable Summary 2014-15
LoCloud Annual Publishable Summary 2014-15LoCloud Annual Publishable Summary 2014-15
LoCloud Annual Publishable Summary 2014-15
 

Plus de Seung Joon Choi

스크래치와 역사
스크래치와 역사스크래치와 역사
스크래치와 역사Seung Joon Choi
 
3D 컴퓨터 그래픽스 기초
3D 컴퓨터 그래픽스 기초3D 컴퓨터 그래픽스 기초
3D 컴퓨터 그래픽스 기초Seung Joon Choi
 
마디를 만들어가며 성장하기
마디를 만들어가며 성장하기마디를 만들어가며 성장하기
마디를 만들어가며 성장하기Seung Joon Choi
 
일상 더불어 코딩
일상 더불어 코딩일상 더불어 코딩
일상 더불어 코딩Seung Joon Choi
 
인생설계와진로 패턴
인생설계와진로 패턴인생설계와진로 패턴
인생설계와진로 패턴Seung Joon Choi
 
창의캠프2012 소셜디자인
창의캠프2012 소셜디자인창의캠프2012 소셜디자인
창의캠프2012 소셜디자인Seung Joon Choi
 
LIVES as PARTICLES @playground2012
LIVES as PARTICLES @playground2012LIVES as PARTICLES @playground2012
LIVES as PARTICLES @playground2012Seung Joon Choi
 
4x4 창의 워크숍
4x4 창의 워크숍4x4 창의 워크숍
4x4 창의 워크숍Seung Joon Choi
 
기민하게 컨퍼런스와 동기화 하기
기민하게 컨퍼런스와 동기화 하기기민하게 컨퍼런스와 동기화 하기
기민하게 컨퍼런스와 동기화 하기Seung Joon Choi
 
playground in island 2011
playground in island 2011playground in island 2011
playground in island 2011Seung Joon Choi
 
학교를 해킹하는 보드게임 만들기
학교를 해킹하는 보드게임 만들기학교를 해킹하는 보드게임 만들기
학교를 해킹하는 보드게임 만들기Seung Joon Choi
 
지창공 Workshop toolkit_r1
지창공 Workshop toolkit_r1지창공 Workshop toolkit_r1
지창공 Workshop toolkit_r1Seung Joon Choi
 
2010학년도 계획 세우기
2010학년도 계획 세우기2010학년도 계획 세우기
2010학년도 계획 세우기Seung Joon Choi
 
Agile approach in a kindergarten
Agile approach in a kindergartenAgile approach in a kindergarten
Agile approach in a kindergartenSeung Joon Choi
 

Plus de Seung Joon Choi (19)

스크래치와 역사
스크래치와 역사스크래치와 역사
스크래치와 역사
 
3D 컴퓨터 그래픽스 기초
3D 컴퓨터 그래픽스 기초3D 컴퓨터 그래픽스 기초
3D 컴퓨터 그래픽스 기초
 
마디를 만들어가며 성장하기
마디를 만들어가며 성장하기마디를 만들어가며 성장하기
마디를 만들어가며 성장하기
 
일상 더불어 코딩
일상 더불어 코딩일상 더불어 코딩
일상 더불어 코딩
 
Id142 plan
Id142 planId142 plan
Id142 plan
 
인생설계와진로 패턴
인생설계와진로 패턴인생설계와진로 패턴
인생설계와진로 패턴
 
창의캠프2012 소셜디자인
창의캠프2012 소셜디자인창의캠프2012 소셜디자인
창의캠프2012 소셜디자인
 
LIVES as PARTICLES @playground2012
LIVES as PARTICLES @playground2012LIVES as PARTICLES @playground2012
LIVES as PARTICLES @playground2012
 
4x4 창의 워크숍
4x4 창의 워크숍4x4 창의 워크숍
4x4 창의 워크숍
 
기민하게 컨퍼런스와 동기화 하기
기민하게 컨퍼런스와 동기화 하기기민하게 컨퍼런스와 동기화 하기
기민하게 컨퍼런스와 동기화 하기
 
playground in island 2011
playground in island 2011playground in island 2011
playground in island 2011
 
imedia cur 20110201
imedia cur 20110201imedia cur 20110201
imedia cur 20110201
 
Being creative workshop
Being creative workshopBeing creative workshop
Being creative workshop
 
학교를 해킹하는 보드게임 만들기
학교를 해킹하는 보드게임 만들기학교를 해킹하는 보드게임 만들기
학교를 해킹하는 보드게임 만들기
 
지창공 Workshop toolkit_r1
지창공 Workshop toolkit_r1지창공 Workshop toolkit_r1
지창공 Workshop toolkit_r1
 
Ufa설명회
Ufa설명회Ufa설명회
Ufa설명회
 
Howto LETS conference
Howto LETS conferenceHowto LETS conference
Howto LETS conference
 
2010학년도 계획 세우기
2010학년도 계획 세우기2010학년도 계획 세우기
2010학년도 계획 세우기
 
Agile approach in a kindergarten
Agile approach in a kindergartenAgile approach in a kindergarten
Agile approach in a kindergarten
 

Dernier

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 

Dernier (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

Web rtc+webaudio

  • 1. Web RTC & Web Audio 2012. 6. @erucipe 최승준
  • 2.
  • 3.
  • 4.
  • 5. 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.
  • 7. 2010 2011 2012 W3C Audio W3C Audio Incubator Group Working Group 12 May 2010 ~ 28 March 2012 25 March 2011 ~ http://www.w3.org/2005/Incubator/audio http://www.w3.org/2011/audio crogers@google.com ( Chromium ) W3C MIDI Device Web Audio API Web Audio API Communication API 1 June 2010 ~ 18 July 2011 18 July 2011 ~ MediaStream Mozilla Processing API http://chromium.googlecode.com/svn/ Audio Data API trunk/samples/audio/index.html http://www.w3.org/TR/webaudio 14 May 2010 ~ Mozilla Google https://wiki.mozilla.org/Audio_Data_API Firefox 4 Chrome 14 22 March 2011 16 September 2011 @humphd 2010-08-26 nightly builds 2011-01-31 nightly builds public-xg-audio@w3.org public-audio@w3.org May 2010 ~ December 2011 March 2011 ~ http://lists.w3.org/Archives/Public/public-xg-audio http://lists.w3.org/Archives/Public/public-audio
  • 8.
  • 9.
  • 11. WebGL Camp 3, June 2011 http://www.youtube.com/watch?feature=player_detailpage&v=6YYFsmjCKX4#t=873s
  • 12.
  • 13. var context = new AudioContext(); var playSound = function { var source = context.createBufferSource(); source.buffer = dogBarkingBuffer; source.connect(context.destination); source.noteOn(0); };
  • 14. demo
  • 15.
  • 17.
  • 18. 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
  • 19.
  • 21. 위 이미지는 Web Audio와 직접적인 관련이 없음
  • 22. 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
  • 23. 위 이미지는 Web Audio와 직접적인 관련이 없음
  • 24. advanced interactive app MIDI Web RTC
  • 25. MediaStream Processing API W3C Working Group Note 31 May 2012
  • 26.
  • 27.
  • 28.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34. 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).
  • 35.
  • 36.
  • 38.
  • 39.
  • 40.
  • 41. focus
  • 42. media capture API a.k.a getUserMedia
  • 43.
  • 44.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53. 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 sergel@webrtc.org / the discuss list or our Google+ Page. We will try to put it up!
  • 54.
  • 55.
  • 56.
  • 57. demo
  • 58. 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'); }
  • 59. P2P
  • 60. AR http://www.html5rocks.com/en/tutorials/webgl/jsartoolkit_webrtc http://www.html5rocks.com/en/tutorials/webgl/jsartoolkit_webrtc/AR_mediaStream_three.html
  • 61.
  • 62. Let’s Put It All Together?
  • 63. security issues https://wiki.mozilla.org/Security/Discussions/WebRTC
  • 65.
  • 66. Web RTC & Web Audio 2012. 6. @erucipe 최승준