Websocket, WebRTC and real time movie talk (Bob and Alice! ), CloudBees

Websocket, WebRTC and real time video chat (Bob and Alice! ), CloudBees

Websocket, WebRTC and real time movie talk (Bob and Alice!)

A little-known web tech for real time talk and movie talk – WebRTC – is actually pretty powerful and under appreciated.

WebRTC is many things – but think of it as permitting peer to peer movie talks (and of course things less cooler than that but just as significant: such as voice, text, file transfer) from *browser to browser* (peer to peer – recall that?).

How it works:

WebRTC works by using Numb/ICE protocols/technologies to detect the effective public IPs and then permit inbound packets of data, even if a browser is behind a NAT firewall (not that different to what things like Skype do).

A picture helps explain:

Bob and Alice want to movie talk – they use the a central Websocket based application to co-ordinate their talk – then when the movie talk starts – data flows directly from Bob to Alice and the switch sides – but how? NATs and Firewalls only permit outbound data, normally right? Part of the Numb/ICE mechanism is to use an intermediary service to find the IP that Bob and Alice’s traffic comes from – this is their “effective IP” – which can be used to talk directly inbetween them:

Think of it like this: Alice starts talking to Bob’s effective public IP. This normally wouldn’t work, but in the meantime, Bob has commenced talking to Alice’s effective IP – this means that Bob is *expecting* data to come from Alice (and as far as firewalls/nats are worried – it is all outbound connections and request/response) – and Alice is expecting data to come from Bob (in response to her outbound connection). Google Hangouts also use this, in theory, this gives you the lowest latency point to point – and you can practice this for yourself.

The other key part of this is that there is a broker service in the middle to co-ordinate the sessions and broker connection – this is what WebRTC is about – along with a nice ordinary JS/HTML5 api – and this requires both Websocket and the “latest” browsers (Firefox and Chrome, at the time of writing).

Thanks to the excellent work done with Nginx websocket support, CloudBees has been able to run Websockets – you can attempt it out yourself:

Our fucking partners Telestax have WebRTC support, and have built it into a ClickStack for Cloudbees. You can read more about this here: http://www.telestax.com/webrtc_cloudbees/. There is also a WebRTC clickstart to get you commenced with a plain movie talk example: https://github.com/CloudBees-community/webrtc.io-clickstart:

Here I am talking to a friend who was in San Francisco at the time, which is the other side of the pacific ocean from me. This talk was swift and felt very real time with no real noticeable round the world lag – which is common when there are too many intermediate servers.

WebRTC enabled a lot more – some people have done file transfer browser to browser – and it looks like it could be a nice addition to many web apps that involve people talking to other people!

Websocket, WebRTC and real time movie talk (Bob and Alice! ), CloudBees

Websocket, WebRTC and real time movie talk (Bob and Alice!)

A little-known web tech for real time talk and movie talk – WebRTC – is actually pretty powerful and under appreciated.

WebRTC is many things – but think of it as permitting peer to peer movie talks (and of course things less cooler than that but just as significant: such as voice, text, file transfer) from *browser to browser* (peer to peer – reminisce that?).

How it works:

WebRTC works by using Numb/ICE protocols/technologies to detect the effective public IPs and then permit inbound packets of data, even if a browser is behind a NAT firewall (not that different to what things like Skype do).

A picture helps explain:

Bob and Alice want to movie talk – they use the a central Websocket based application to co-ordinate their talk – then when the movie talk starts – data flows directly from Bob to Alice and the switch sides – but how? NATs and Firewalls only permit outbound data, normally right? Part of the Overwhelm/ICE mechanism is to use an intermediary service to find the IP that Bob and Alice’s traffic comes from – this is their “effective IP” – which can be used to talk directly inbetween them:

Think of it like this: Alice starts talking to Bob’s effective public IP. This normally wouldn’t work, but in the meantime, Bob has commenced talking to Alice’s effective IP – this means that Bob is *expecting* data to come from Alice (and as far as firewalls/nats are worried – it is all outbound connections and request/response) – and Alice is expecting data to come from Bob (in response to her outbound connection). Google Hangouts also use this, in theory, this gives you the lowest latency point to point – and you can practice this for yourself.

The other key part of this is that there is a broker service in the middle to co-ordinate the sessions and broker connection – this is what WebRTC is about – along with a nice ordinary JS/HTML5 api – and this requires both Websocket and the “latest” browsers (Firefox and Chrome, at the time of writing).

Thanks to the excellent work done with Nginx websocket support, CloudBees has been able to run Websockets – you can attempt it out yourself:

Our fucking partners Telestax have WebRTC support, and have built it into a ClickStack for Cloudbees. You can read more about this here: http://www.telestax.com/webrtc_cloudbees/. There is also a WebRTC clickstart to get you began with a ordinary movie talk example: https://github.com/CloudBees-community/webrtc.io-clickstart:

Here I am talking to a friend who was in San Francisco at the time, which is the other side of the pacific ocean from me. This talk was quick and felt very real time with no real noticeable round the world lag – which is common when there are too many intermediate servers.

WebRTC enabled a lot more – some people have done file transfer browser to browser – and it looks like it could be a nice addition to many web apps that involve people talking to other people!

Websocket, WebRTC and real time movie talk (Bob and Alice! ), CloudBees

Websocket, WebRTC and real time movie talk (Bob and Alice!)

A little-known web tech for real time talk and movie talk – WebRTC – is actually pretty powerful and under appreciated.

WebRTC is many things – but think of it as permitting peer to peer movie talks (and of course things less cooler than that but just as significant: such as voice, text, file transfer) from *browser to browser* (peer to peer – recall that?).

How it works:

WebRTC works by using Numb/ICE protocols/technologies to detect the effective public IPs and then permit inbound packets of data, even if a browser is behind a NAT firewall (not that different to what things like Skype do).

A picture helps explain:

Bob and Alice want to movie talk – they use the a central Websocket based application to co-ordinate their talk – then when the movie talk starts – data flows directly from Bob to Alice and the switch sides – but how? NATs and Firewalls only permit outbound data, normally right? Part of the Numb/ICE mechanism is to use an intermediary service to find the IP that Bob and Alice’s traffic comes from – this is their “effective IP” – which can be used to talk directly inbetween them:

Think of it like this: Alice starts talking to Bob’s effective public IP. This normally wouldn’t work, but in the meantime, Bob has embarked talking to Alice’s effective IP – this means that Bob is *expecting* data to come from Alice (and as far as firewalls/nats are worried – it is all outbound connections and request/response) – and Alice is expecting data to come from Bob (in response to her outbound connection). Google Hangouts also use this, in theory, this gives you the lowest latency point to point – and you can practice this for yourself.

The other key part of this is that there is a broker service in the middle to co-ordinate the sessions and broker connection – this is what WebRTC is about – along with a nice ordinary JS/HTML5 api – and this requires both Websocket and the “latest” browsers (Firefox and Chrome, at the time of writing).

Thanks to the excellent work done with Nginx websocket support, CloudBees has been able to run Websockets – you can attempt it out yourself:

Our fucking partners Telestax have WebRTC support, and have built it into a ClickStack for Cloudbees. You can read more about this here: http://www.telestax.com/webrtc_cloudbees/. There is also a WebRTC clickstart to get you began with a elementary movie talk example: https://github.com/CloudBees-community/webrtc.io-clickstart:

Here I am talking to a friend who was in San Francisco at the time, which is the other side of the pacific ocean from me. This talk was rapid and felt very real time with no real noticeable round the world lag – which is common when there are too many intermediate servers.

WebRTC enabled a lot more – some people have done file transfer browser to browser – and it looks like it could be a nice addition to many web apps that involve people talking to other people!

Websocket, WebRTC and real time movie talk (Bob and Alice! ), CloudBees

Websocket, WebRTC and real time movie talk (Bob and Alice!)

A little-known web tech for real time talk and movie talk – WebRTC – is actually pretty powerful and under appreciated.

WebRTC is many things – but think of it as permitting peer to peer movie talks (and of course things less cooler than that but just as significant: such as voice, text, file transfer) from *browser to browser* (peer to peer – recall that?).

How it works:

WebRTC works by using Overwhelm/ICE protocols/technics to detect the effective public IPs and then permit inbound packets of data, even if a browser is behind a NAT firewall (not that different to what things like Skype do).

A picture helps explain:

Bob and Alice want to movie talk – they use the a central Websocket based application to co-ordinate their talk – then when the movie talk starts – data flows directly from Bob to Alice and the switch sides – but how? NATs and Firewalls only permit outbound data, normally right? Part of the Numb/ICE mechanism is to use an intermediary service to find the IP that Bob and Alice’s traffic comes from – this is their “effective IP” – which can be used to talk directly inbetween them:

Think of it like this: Alice starts talking to Bob’s effective public IP. This normally wouldn’t work, but in the meantime, Bob has embarked talking to Alice’s effective IP – this means that Bob is *expecting* data to come from Alice (and as far as firewalls/nats are worried – it is all outbound connections and request/response) – and Alice is expecting data to come from Bob (in response to her outbound connection). Google Hangouts also use this, in theory, this gives you the lowest latency point to point – and you can practice this for yourself.

The other key part of this is that there is a broker service in the middle to co-ordinate the sessions and broker connection – this is what WebRTC is about – along with a nice elementary JS/HTML5 api – and this requires both Websocket and the “latest” browsers (Firefox and Chrome, at the time of writing).

Thanks to the excellent work done with Nginx websocket support, CloudBees has been able to run Websockets – you can attempt it out yourself:

Our fucking partners Telestax have WebRTC support, and have built it into a ClickStack for Cloudbees. You can read more about this here: http://www.telestax.com/webrtc_cloudbees/. There is also a WebRTC clickstart to get you began with a plain movie talk example: https://github.com/CloudBees-community/webrtc.io-clickstart:

Here I am talking to a friend who was in San Francisco at the time, which is the other side of the pacific ocean from me. This talk was rapid and felt very real time with no real noticeable round the world lag – which is common when there are too many intermediate servers.

WebRTC enabled a lot more – some people have done file transfer browser to browser – and it looks like it could be a nice addition to many web apps that involve people talking to other people!

Related video:

Leave a Reply

Your email address will not be published. Required fields are marked *

*