SlideShare uma empresa Scribd logo
1 de 21
Tim Panton
@steely_glint
PUTTING THE WEB INTO
WEBRTC
 Protocol Droid
 Webrtc fan -
 Standards pusher
 Doing my own thing with IOT
 Some consulting
ABOUT: TIM PANTON
@steely_glint - Westhawk Ltd
CHANGE IS COMING
 1905
 Newtonian Physics
 All wrapped up
 Almost…. ->
 Photoelectric effect
 Quantum view of universe
 New possibilities
 WebRTC is like that.
 Changes communications
baseline
 Adding P2P security +context
@steely_glint - Westhawk Ltd
 Pay per min for calls
THE OLD WAY
@steely_glint - Westhawk Ltd
 Twillio will do 1bn webrtc minutes this year
 Most of them in apps like Uber and twiddla
 It is still communication – but in context
 Context first – call second
NOT JUST ‘CALLS’ ANY MORE
@steely_glint - Westhawk Ltd
Don’t underestimate Javascript
Combine
 Cookies/context
 WebGL
 WebAudio
 WebRTC
WEB TOOLS
@steely_glint - Westhawk Ltd
 Setting up a call is about establishing a shared context
 Who am I?
 Who can call who?
 Do you want to speak to me?
 Login + cookies is one way – but there are others
 Text ‘upgrade’ is defacto now.
URLs:
https://appear.in/steely_glint
But that didn’t work for my video-call-my-parrot app.
(YoPet)
CONTEXT
@steely_glint - Westhawk Ltd
 Video effects in high level language
 Realtime
 Built into browser
Examples:
http://seriouslyjs.org/ - real time green-screen in your browser!
http://www.html5rocks.com/en/tutorials/webgl/jsartoolkit_we
brtc/AR_mediaStream.html - magic AR
Can also be applied to remote video streams.
WEBGL
@steely_glint - Westhawk Ltd
 Use video to
 Exchange a token
 Out of band
 Save it
 Proximity based pairing – like bluetooth but easier
 Useful for ‘things’ without a usable keyboard
 Filed a patent on Token choice
(See IIT talk for details)
 Untrusted (federated) middleman.
YOPET DEMO
@steely_glint - Westhawk Ltd
 Late 80’s synth in your browser (https://www.flickr.com/photos/gmacklin/)
WEBAUDIO
@steely_glint - Westhawk Ltd
 http://webaudiodemos.appspot.com/midi-synth/index.html
 https://forestmist.org/share/web-audio-api-demo
LITERALLY
@steely_glint - Westhawk Ltd
 WebAudio + WebRTC
 Chrome supports outbound webRTC streams from WebAudio
 Firefox >=39 supports both directions
 Process your audio before sending it (chrome)
 Filter, delay, fft, convolve
 Combine effects to pitch shift
 Display spectrum
 Arbitrary maths in webworker
 In Firefox you can do the same on the inbound side too
SO WHAT?
@steely_glint - Westhawk Ltd
 No longer need to talk to yourself
 Press a button to inject audio
 No EC or ACG in the way
 Test code only – not production
w i n d o w . w i r e . a p p . r e p o s i t o r y . c a l l . i n j e c t _ a u d i o _ i n t o _ c a l l ( w i r e . a p p . r e p o s i t o r y . c o n v e r s a t i o n . a c t i v e _ c o n v e r s a t i o n ( ) . i d ,
” a u d i o / r e a d y _ t o _ t a l k . m p 3 " )
EXAMPLE – INJECT TEST AUDIO
@steely_glint - Westhawk Ltd
_wrap_local_stream: (stream) =>
wrap_stream = stream
#should test for audio stream type here...
@contex = new window.AudioContext()
@localsource = @context.createMediaStreamSource stream
@localdest = @audio_context.createMediaStreamDestination()
@addeffects()
wrap_stream = @local_audio_dest.stream
return wrap_stream
CODE
@steely_glint - Westhawk Ltd
_suck_in_audio_file: =>
AUDIO_PATH = 'ext/audio/webapp-audio/'
knock_url = "#{AUDIO_PATH}ready_to_talk.mp3"
request = new XMLHttpRequest()
request.open('GET', knock_url, true)
request.responseType = 'arraybuffer'
request.onload = =>
load = (buffer) =>
@knock_audio_buffer = buffer
@logger.log "Loaded audio from #{knock_url}"
fail = =>
@logger.log "Failed to load audio from #{knock_url}"
@audio_context.decodeAudioData request.response, load , fail
request.send();
CODE
@steely_glint - Westhawk Ltd
send_audio_file: =>
# we unhook the mic , play our audio , then reconnect
if @knock_audio_buffer isnt undefined
knock_source = @audio_context.createBufferSource()
knock_source.buffer = @knock_audio_buffer
@local_audio_source.disconnect()
knock_source.connect(@local_audio_dest)
knock_source.onended = =>
@logger.log 'finished knock sound'
knock_source.disconnect(@local_audio_dest)
@_hookup_audio()
@logger.log 'play knock sound'
knock_source.start();
CODE
@steely_glint - Westhawk Ltd
_wrap_remote_stream: (stream) =>
wrap_stream = stream
if @context isnt undefined
#only works in ffox >= 39
@remote_source = @context.createMediaStreamSource
stream
@remote_dest = @context.createMediaStreamDestination()
@remote_audio_source.connect(@remote_audio_dest)
@add_effects2()
wrap_stream = @remote_audio_dest.stream
@logger.log 'Wrapped remote audio stream'
return wrap_stream
CODE
@steely_glint - Westhawk Ltd
 Firefox debug screen
 Various plugboards
 Volume meter
IF YOU LIKE GRAPHICS
@steely_glint - Westhawk Ltd
 Use WebAudio to Inject Audio
 Acoustically couple to test device
 Compare returning stream from DUT
 Measure latency from differences
 Tests Audio and network path
 in Firefox nightly
LATENCY MEASUREMENT
@steely_glint - Westhawk Ltd
 Use WebAudio to do IVR
 Do the automated part locally
 Only connect when actually need agent
 Higher quality audio
 More network resilient
 Much less dialplan?
(use 1m web devs?)
LONGER TERM
@steely_glint - Westhawk Ltd
 Web Browser has rich APIs
 Use them to delight your user
 To make your life easier
 Or both!
 thp@westhawk.co.uk
 @steely_glint
 (thanks to wire.com for examples in this talk)
SUMMARY
@steely_glint - Westhawk Ltd

Mais conteúdo relacionado

Semelhante a Putting the 'web' into webRTC

Push the web with HTML5
Push the web with HTML5Push the web with HTML5
Push the web with HTML5Stoyan Zhekov
 
"Probably, Maybe, No: The State of HTML5 Audio" - Scott Schiller
"Probably, Maybe, No: The State of HTML5 Audio" - Scott Schiller"Probably, Maybe, No: The State of HTML5 Audio" - Scott Schiller
"Probably, Maybe, No: The State of HTML5 Audio" - Scott Schillerscottschiller
 
Petr Dvořák: Mobilní webové služby pohledem iPhone developera
Petr Dvořák: Mobilní webové služby pohledem iPhone developeraPetr Dvořák: Mobilní webové služby pohledem iPhone developera
Petr Dvořák: Mobilní webové služby pohledem iPhone developeraWebExpo
 
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...Dean Bubley
 
Developing SIP Applications
Developing SIP ApplicationsDeveloping SIP Applications
Developing SIP ApplicationsVoxeo Corp
 
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San Francisco
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San FranciscoHTTP colon slash slash: end of the road? @ CakeFest 2013 in San Francisco
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San FranciscoAlessandro Nadalin
 
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYCPractical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYCAlexandre Gouaillard
 
Hello 1 2 3, can you see me now?
Hello 1 2 3, can you see me now?Hello 1 2 3, can you see me now?
Hello 1 2 3, can you see me now?Kundan Singh
 
Why And When Should We Consider Stream Processing In Our Solutions Teqnation ...
Why And When Should We Consider Stream Processing In Our Solutions Teqnation ...Why And When Should We Consider Stream Processing In Our Solutions Teqnation ...
Why And When Should We Consider Stream Processing In Our Solutions Teqnation ...Soroosh Khodami
 
Best Practices In Implementing Container Image Promotion Pipelines
Best Practices In Implementing Container Image Promotion PipelinesBest Practices In Implementing Container Image Promotion Pipelines
Best Practices In Implementing Container Image Promotion PipelinesAll Things Open
 
Devoxx Maroc 2015 HTTP 1, HTTP 2 and folks
Devoxx Maroc  2015 HTTP 1, HTTP 2 and folksDevoxx Maroc  2015 HTTP 1, HTTP 2 and folks
Devoxx Maroc 2015 HTTP 1, HTTP 2 and folksNicolas Martignole
 
Symfony - modern technology in practice, Webexpo Prague
Symfony - modern technology in practice, Webexpo PragueSymfony - modern technology in practice, Webexpo Prague
Symfony - modern technology in practice, Webexpo PraguePavel Campr
 
HTTP colon slash slash: the end of the road?
HTTP colon slash slash: the end of the road?HTTP colon slash slash: the end of the road?
HTTP colon slash slash: the end of the road?Alessandro Nadalin
 
Getting a live_transcript_of_your_call_using_the_ari
Getting a live_transcript_of_your_call_using_the_ariGetting a live_transcript_of_your_call_using_the_ari
Getting a live_transcript_of_your_call_using_the_ariPascal Cadotte-Michaud
 
Building scalable web socket backend
Building scalable web socket backendBuilding scalable web socket backend
Building scalable web socket backendConstantine Slisenka
 
HTTP/3 is next generation HTTP
HTTP/3 is next generation HTTPHTTP/3 is next generation HTTP
HTTP/3 is next generation HTTPDaniel Stenberg
 

Semelhante a Putting the 'web' into webRTC (20)

Push the web with HTML5
Push the web with HTML5Push the web with HTML5
Push the web with HTML5
 
"Probably, Maybe, No: The State of HTML5 Audio" - Scott Schiller
"Probably, Maybe, No: The State of HTML5 Audio" - Scott Schiller"Probably, Maybe, No: The State of HTML5 Audio" - Scott Schiller
"Probably, Maybe, No: The State of HTML5 Audio" - Scott Schiller
 
Petr Dvořák: Mobilní webové služby pohledem iPhone developera
Petr Dvořák: Mobilní webové služby pohledem iPhone developeraPetr Dvořák: Mobilní webové služby pohledem iPhone developera
Petr Dvořák: Mobilní webové služby pohledem iPhone developera
 
- Webexpo 2010
- Webexpo 2010- Webexpo 2010
- Webexpo 2010
 
From basement to global
From basement to globalFrom basement to global
From basement to global
 
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...
 
Developing SIP Applications
Developing SIP ApplicationsDeveloping SIP Applications
Developing SIP Applications
 
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San Francisco
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San FranciscoHTTP colon slash slash: end of the road? @ CakeFest 2013 in San Francisco
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San Francisco
 
HTTP/3 for everyone
HTTP/3 for everyoneHTTP/3 for everyone
HTTP/3 for everyone
 
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYCPractical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
 
Hello 1 2 3, can you see me now?
Hello 1 2 3, can you see me now?Hello 1 2 3, can you see me now?
Hello 1 2 3, can you see me now?
 
RESTful design
RESTful designRESTful design
RESTful design
 
Why And When Should We Consider Stream Processing In Our Solutions Teqnation ...
Why And When Should We Consider Stream Processing In Our Solutions Teqnation ...Why And When Should We Consider Stream Processing In Our Solutions Teqnation ...
Why And When Should We Consider Stream Processing In Our Solutions Teqnation ...
 
Best Practices In Implementing Container Image Promotion Pipelines
Best Practices In Implementing Container Image Promotion PipelinesBest Practices In Implementing Container Image Promotion Pipelines
Best Practices In Implementing Container Image Promotion Pipelines
 
Devoxx Maroc 2015 HTTP 1, HTTP 2 and folks
Devoxx Maroc  2015 HTTP 1, HTTP 2 and folksDevoxx Maroc  2015 HTTP 1, HTTP 2 and folks
Devoxx Maroc 2015 HTTP 1, HTTP 2 and folks
 
Symfony - modern technology in practice, Webexpo Prague
Symfony - modern technology in practice, Webexpo PragueSymfony - modern technology in practice, Webexpo Prague
Symfony - modern technology in practice, Webexpo Prague
 
HTTP colon slash slash: the end of the road?
HTTP colon slash slash: the end of the road?HTTP colon slash slash: the end of the road?
HTTP colon slash slash: the end of the road?
 
Getting a live_transcript_of_your_call_using_the_ari
Getting a live_transcript_of_your_call_using_the_ariGetting a live_transcript_of_your_call_using_the_ari
Getting a live_transcript_of_your_call_using_the_ari
 
Building scalable web socket backend
Building scalable web socket backendBuilding scalable web socket backend
Building scalable web socket backend
 
HTTP/3 is next generation HTTP
HTTP/3 is next generation HTTPHTTP/3 is next generation HTTP
HTTP/3 is next generation HTTP
 

Mais de Tim Panton

10 voipmistakes
10 voipmistakes10 voipmistakes
10 voipmistakesTim Panton
 
Simple secure federated identity for webRTC (your new phone number)
Simple secure federated identity for webRTC (your new phone number)Simple secure federated identity for webRTC (your new phone number)
Simple secure federated identity for webRTC (your new phone number)Tim Panton
 
Kranky geek15 - securing IoT with webrtc
Kranky geek15 - securing IoT with webrtcKranky geek15 - securing IoT with webrtc
Kranky geek15 - securing IoT with webrtcTim Panton
 
Ice with that sir? Or what webRTC does once it has a UDP connection
Ice with that sir? Or what webRTC does once it has a UDP connectionIce with that sir? Or what webRTC does once it has a UDP connection
Ice with that sir? Or what webRTC does once it has a UDP connectionTim Panton
 
Yo pet - building a webRTC app in 20 mins
Yo pet - building a webRTC app in 20 minsYo pet - building a webRTC app in 20 mins
Yo pet - building a webRTC app in 20 minsTim Panton
 
Westhawk integration
Westhawk integrationWesthawk integration
Westhawk integrationTim Panton
 
WebRTC Standards overview.
WebRTC Standards overview.WebRTC Standards overview.
WebRTC Standards overview.Tim Panton
 

Mais de Tim Panton (7)

10 voipmistakes
10 voipmistakes10 voipmistakes
10 voipmistakes
 
Simple secure federated identity for webRTC (your new phone number)
Simple secure federated identity for webRTC (your new phone number)Simple secure federated identity for webRTC (your new phone number)
Simple secure federated identity for webRTC (your new phone number)
 
Kranky geek15 - securing IoT with webrtc
Kranky geek15 - securing IoT with webrtcKranky geek15 - securing IoT with webrtc
Kranky geek15 - securing IoT with webrtc
 
Ice with that sir? Or what webRTC does once it has a UDP connection
Ice with that sir? Or what webRTC does once it has a UDP connectionIce with that sir? Or what webRTC does once it has a UDP connection
Ice with that sir? Or what webRTC does once it has a UDP connection
 
Yo pet - building a webRTC app in 20 mins
Yo pet - building a webRTC app in 20 minsYo pet - building a webRTC app in 20 mins
Yo pet - building a webRTC app in 20 mins
 
Westhawk integration
Westhawk integrationWesthawk integration
Westhawk integration
 
WebRTC Standards overview.
WebRTC Standards overview.WebRTC Standards overview.
WebRTC Standards overview.
 

Último

Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...SUHANI PANDEY
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrHenryBriggs2
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdfMatthew Sinclair
 
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...SUHANI PANDEY
 
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...SUHANI PANDEY
 
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Delhi Call girls
 
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency""Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency"growthgrids
 
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...tanu pandey
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableSeo
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdfMatthew Sinclair
 
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...SUHANI PANDEY
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445ruhi
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtrahman018755
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfJOHNBEBONYAP1
 
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...SUHANI PANDEY
 
Wadgaon Sheri $ Call Girls Pune 10k @ I'm VIP Independent Escorts Girls 80057...
Wadgaon Sheri $ Call Girls Pune 10k @ I'm VIP Independent Escorts Girls 80057...Wadgaon Sheri $ Call Girls Pune 10k @ I'm VIP Independent Escorts Girls 80057...
Wadgaon Sheri $ Call Girls Pune 10k @ I'm VIP Independent Escorts Girls 80057...SUHANI PANDEY
 
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...SUHANI PANDEY
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...tanu pandey
 

Último (20)

Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
 
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
 
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
 
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
 
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency""Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
 
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf
 
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
 
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
 
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
 
Wadgaon Sheri $ Call Girls Pune 10k @ I'm VIP Independent Escorts Girls 80057...
Wadgaon Sheri $ Call Girls Pune 10k @ I'm VIP Independent Escorts Girls 80057...Wadgaon Sheri $ Call Girls Pune 10k @ I'm VIP Independent Escorts Girls 80057...
Wadgaon Sheri $ Call Girls Pune 10k @ I'm VIP Independent Escorts Girls 80057...
 
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
 

Putting the 'web' into webRTC

  • 2.  Protocol Droid  Webrtc fan -  Standards pusher  Doing my own thing with IOT  Some consulting ABOUT: TIM PANTON @steely_glint - Westhawk Ltd
  • 3. CHANGE IS COMING  1905  Newtonian Physics  All wrapped up  Almost…. ->  Photoelectric effect  Quantum view of universe  New possibilities  WebRTC is like that.  Changes communications baseline  Adding P2P security +context @steely_glint - Westhawk Ltd
  • 4.  Pay per min for calls THE OLD WAY @steely_glint - Westhawk Ltd
  • 5.  Twillio will do 1bn webrtc minutes this year  Most of them in apps like Uber and twiddla  It is still communication – but in context  Context first – call second NOT JUST ‘CALLS’ ANY MORE @steely_glint - Westhawk Ltd
  • 6. Don’t underestimate Javascript Combine  Cookies/context  WebGL  WebAudio  WebRTC WEB TOOLS @steely_glint - Westhawk Ltd
  • 7.  Setting up a call is about establishing a shared context  Who am I?  Who can call who?  Do you want to speak to me?  Login + cookies is one way – but there are others  Text ‘upgrade’ is defacto now. URLs: https://appear.in/steely_glint But that didn’t work for my video-call-my-parrot app. (YoPet) CONTEXT @steely_glint - Westhawk Ltd
  • 8.  Video effects in high level language  Realtime  Built into browser Examples: http://seriouslyjs.org/ - real time green-screen in your browser! http://www.html5rocks.com/en/tutorials/webgl/jsartoolkit_we brtc/AR_mediaStream.html - magic AR Can also be applied to remote video streams. WEBGL @steely_glint - Westhawk Ltd
  • 9.  Use video to  Exchange a token  Out of band  Save it  Proximity based pairing – like bluetooth but easier  Useful for ‘things’ without a usable keyboard  Filed a patent on Token choice (See IIT talk for details)  Untrusted (federated) middleman. YOPET DEMO @steely_glint - Westhawk Ltd
  • 10.  Late 80’s synth in your browser (https://www.flickr.com/photos/gmacklin/) WEBAUDIO @steely_glint - Westhawk Ltd
  • 12.  WebAudio + WebRTC  Chrome supports outbound webRTC streams from WebAudio  Firefox >=39 supports both directions  Process your audio before sending it (chrome)  Filter, delay, fft, convolve  Combine effects to pitch shift  Display spectrum  Arbitrary maths in webworker  In Firefox you can do the same on the inbound side too SO WHAT? @steely_glint - Westhawk Ltd
  • 13.  No longer need to talk to yourself  Press a button to inject audio  No EC or ACG in the way  Test code only – not production w i n d o w . w i r e . a p p . r e p o s i t o r y . c a l l . i n j e c t _ a u d i o _ i n t o _ c a l l ( w i r e . a p p . r e p o s i t o r y . c o n v e r s a t i o n . a c t i v e _ c o n v e r s a t i o n ( ) . i d , ” a u d i o / r e a d y _ t o _ t a l k . m p 3 " ) EXAMPLE – INJECT TEST AUDIO @steely_glint - Westhawk Ltd
  • 14. _wrap_local_stream: (stream) => wrap_stream = stream #should test for audio stream type here... @contex = new window.AudioContext() @localsource = @context.createMediaStreamSource stream @localdest = @audio_context.createMediaStreamDestination() @addeffects() wrap_stream = @local_audio_dest.stream return wrap_stream CODE @steely_glint - Westhawk Ltd
  • 15. _suck_in_audio_file: => AUDIO_PATH = 'ext/audio/webapp-audio/' knock_url = "#{AUDIO_PATH}ready_to_talk.mp3" request = new XMLHttpRequest() request.open('GET', knock_url, true) request.responseType = 'arraybuffer' request.onload = => load = (buffer) => @knock_audio_buffer = buffer @logger.log "Loaded audio from #{knock_url}" fail = => @logger.log "Failed to load audio from #{knock_url}" @audio_context.decodeAudioData request.response, load , fail request.send(); CODE @steely_glint - Westhawk Ltd
  • 16. send_audio_file: => # we unhook the mic , play our audio , then reconnect if @knock_audio_buffer isnt undefined knock_source = @audio_context.createBufferSource() knock_source.buffer = @knock_audio_buffer @local_audio_source.disconnect() knock_source.connect(@local_audio_dest) knock_source.onended = => @logger.log 'finished knock sound' knock_source.disconnect(@local_audio_dest) @_hookup_audio() @logger.log 'play knock sound' knock_source.start(); CODE @steely_glint - Westhawk Ltd
  • 17. _wrap_remote_stream: (stream) => wrap_stream = stream if @context isnt undefined #only works in ffox >= 39 @remote_source = @context.createMediaStreamSource stream @remote_dest = @context.createMediaStreamDestination() @remote_audio_source.connect(@remote_audio_dest) @add_effects2() wrap_stream = @remote_audio_dest.stream @logger.log 'Wrapped remote audio stream' return wrap_stream CODE @steely_glint - Westhawk Ltd
  • 18.  Firefox debug screen  Various plugboards  Volume meter IF YOU LIKE GRAPHICS @steely_glint - Westhawk Ltd
  • 19.  Use WebAudio to Inject Audio  Acoustically couple to test device  Compare returning stream from DUT  Measure latency from differences  Tests Audio and network path  in Firefox nightly LATENCY MEASUREMENT @steely_glint - Westhawk Ltd
  • 20.  Use WebAudio to do IVR  Do the automated part locally  Only connect when actually need agent  Higher quality audio  More network resilient  Much less dialplan? (use 1m web devs?) LONGER TERM @steely_glint - Westhawk Ltd
  • 21.  Web Browser has rich APIs  Use them to delight your user  To make your life easier  Or both!  thp@westhawk.co.uk  @steely_glint  (thanks to wire.com for examples in this talk) SUMMARY @steely_glint - Westhawk Ltd